commit 8b04aa206ac105ca393a0b0a8481470f1c93bcd6
parent f670f54ca0391a975238f329a59e518d4625c69a
Author: triesap <tyson@radroots.org>
Date: Mon, 10 Aug 2026 20:58:52 +0000
feat: integrate native add operations
Diffstat:
23 files changed, 6735 insertions(+), 5911 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
@@ -1654,7 +1654,7 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
[[package]]
name = "radroots_blossom"
version = "0.1.0-alpha"
-source = "git+https://github.com/radrootslabs/lib?rev=828c462255b52a3d9bbfe8ef90b7bc38395bedfa#828c462255b52a3d9bbfe8ef90b7bc38395bedfa"
+source = "git+https://github.com/radrootslabs/lib?rev=18973e0aa62ae809b0495d5812b0c5ac8c7774ff#18973e0aa62ae809b0495d5812b0c5ac8c7774ff"
dependencies = [
"mediatype",
"serde",
@@ -1666,7 +1666,7 @@ dependencies = [
[[package]]
name = "radroots_core"
version = "0.1.0-alpha"
-source = "git+https://github.com/radrootslabs/lib?rev=828c462255b52a3d9bbfe8ef90b7bc38395bedfa#828c462255b52a3d9bbfe8ef90b7bc38395bedfa"
+source = "git+https://github.com/radrootslabs/lib?rev=18973e0aa62ae809b0495d5812b0c5ac8c7774ff#18973e0aa62ae809b0495d5812b0c5ac8c7774ff"
dependencies = [
"rust_decimal",
"serde",
@@ -1675,7 +1675,7 @@ dependencies = [
[[package]]
name = "radroots_event"
version = "0.1.0-alpha"
-source = "git+https://github.com/radrootslabs/lib?rev=828c462255b52a3d9bbfe8ef90b7bc38395bedfa#828c462255b52a3d9bbfe8ef90b7bc38395bedfa"
+source = "git+https://github.com/radrootslabs/lib?rev=18973e0aa62ae809b0495d5812b0c5ac8c7774ff#18973e0aa62ae809b0495d5812b0c5ac8c7774ff"
dependencies = [
"hex",
"jiff-tzdb",
@@ -1693,7 +1693,7 @@ dependencies = [
[[package]]
name = "radroots_event_codec"
version = "0.1.0-alpha"
-source = "git+https://github.com/radrootslabs/lib?rev=828c462255b52a3d9bbfe8ef90b7bc38395bedfa#828c462255b52a3d9bbfe8ef90b7bc38395bedfa"
+source = "git+https://github.com/radrootslabs/lib?rev=18973e0aa62ae809b0495d5812b0c5ac8c7774ff#18973e0aa62ae809b0495d5812b0c5ac8c7774ff"
dependencies = [
"hex",
"radroots_blossom",
@@ -1710,7 +1710,7 @@ dependencies = [
[[package]]
name = "radroots_identity"
version = "0.1.0-alpha"
-source = "git+https://github.com/radrootslabs/lib?rev=828c462255b52a3d9bbfe8ef90b7bc38395bedfa#828c462255b52a3d9bbfe8ef90b7bc38395bedfa"
+source = "git+https://github.com/radrootslabs/lib?rev=18973e0aa62ae809b0495d5812b0c5ac8c7774ff#18973e0aa62ae809b0495d5812b0c5ac8c7774ff"
dependencies = [
"k256",
"serde",
@@ -1727,7 +1727,7 @@ dependencies = [
[[package]]
name = "radroots_mobile_core"
version = "0.1.0-alpha"
-source = "git+https://github.com/radrootslabs/lib?rev=828c462255b52a3d9bbfe8ef90b7bc38395bedfa#828c462255b52a3d9bbfe8ef90b7bc38395bedfa"
+source = "git+https://github.com/radrootslabs/lib?rev=18973e0aa62ae809b0495d5812b0c5ac8c7774ff#18973e0aa62ae809b0495d5812b0c5ac8c7774ff"
dependencies = [
"chrono",
"hex",
@@ -1754,7 +1754,7 @@ dependencies = [
[[package]]
name = "radroots_mobile_ffi"
version = "0.1.0-alpha"
-source = "git+https://github.com/radrootslabs/lib?rev=828c462255b52a3d9bbfe8ef90b7bc38395bedfa#828c462255b52a3d9bbfe8ef90b7bc38395bedfa"
+source = "git+https://github.com/radrootslabs/lib?rev=18973e0aa62ae809b0495d5812b0c5ac8c7774ff#18973e0aa62ae809b0495d5812b0c5ac8c7774ff"
dependencies = [
"async-trait",
"hex",
@@ -1776,7 +1776,7 @@ dependencies = [
[[package]]
name = "radroots_nostr"
version = "0.1.0-alpha"
-source = "git+https://github.com/radrootslabs/lib?rev=828c462255b52a3d9bbfe8ef90b7bc38395bedfa#828c462255b52a3d9bbfe8ef90b7bc38395bedfa"
+source = "git+https://github.com/radrootslabs/lib?rev=18973e0aa62ae809b0495d5812b0c5ac8c7774ff#18973e0aa62ae809b0495d5812b0c5ac8c7774ff"
dependencies = [
"base64",
"nostr",
@@ -1792,7 +1792,7 @@ dependencies = [
[[package]]
name = "radroots_protocol"
version = "0.1.0-alpha"
-source = "git+https://github.com/radrootslabs/lib?rev=828c462255b52a3d9bbfe8ef90b7bc38395bedfa#828c462255b52a3d9bbfe8ef90b7bc38395bedfa"
+source = "git+https://github.com/radrootslabs/lib?rev=18973e0aa62ae809b0495d5812b0c5ac8c7774ff#18973e0aa62ae809b0495d5812b0c5ac8c7774ff"
dependencies = [
"serde",
]
@@ -1800,7 +1800,7 @@ dependencies = [
[[package]]
name = "radroots_sdk"
version = "0.1.0-alpha"
-source = "git+https://github.com/radrootslabs/lib?rev=828c462255b52a3d9bbfe8ef90b7bc38395bedfa#828c462255b52a3d9bbfe8ef90b7bc38395bedfa"
+source = "git+https://github.com/radrootslabs/lib?rev=18973e0aa62ae809b0495d5812b0c5ac8c7774ff#18973e0aa62ae809b0495d5812b0c5ac8c7774ff"
dependencies = [
"radroots_blossom",
"radroots_core",
@@ -1825,7 +1825,7 @@ dependencies = [
[[package]]
name = "radroots_secrets"
version = "0.1.0-alpha"
-source = "git+https://github.com/radrootslabs/lib?rev=828c462255b52a3d9bbfe8ef90b7bc38395bedfa#828c462255b52a3d9bbfe8ef90b7bc38395bedfa"
+source = "git+https://github.com/radrootslabs/lib?rev=18973e0aa62ae809b0495d5812b0c5ac8c7774ff#18973e0aa62ae809b0495d5812b0c5ac8c7774ff"
dependencies = [
"chacha20poly1305",
"sha2",
@@ -1836,7 +1836,7 @@ dependencies = [
[[package]]
name = "radroots_signing"
version = "0.1.0-alpha"
-source = "git+https://github.com/radrootslabs/lib?rev=828c462255b52a3d9bbfe8ef90b7bc38395bedfa#828c462255b52a3d9bbfe8ef90b7bc38395bedfa"
+source = "git+https://github.com/radrootslabs/lib?rev=18973e0aa62ae809b0495d5812b0c5ac8c7774ff#18973e0aa62ae809b0495d5812b0c5ac8c7774ff"
dependencies = [
"hex",
"radroots_event",
@@ -1850,7 +1850,7 @@ dependencies = [
[[package]]
name = "radroots_storage"
version = "0.1.0-alpha"
-source = "git+https://github.com/radrootslabs/lib?rev=828c462255b52a3d9bbfe8ef90b7bc38395bedfa#828c462255b52a3d9bbfe8ef90b7bc38395bedfa"
+source = "git+https://github.com/radrootslabs/lib?rev=18973e0aa62ae809b0495d5812b0c5ac8c7774ff#18973e0aa62ae809b0495d5812b0c5ac8c7774ff"
dependencies = [
"radroots_event",
"radroots_event_codec",
@@ -1864,7 +1864,7 @@ dependencies = [
[[package]]
name = "radroots_storage_sqlite"
version = "0.1.0-alpha"
-source = "git+https://github.com/radrootslabs/lib?rev=828c462255b52a3d9bbfe8ef90b7bc38395bedfa#828c462255b52a3d9bbfe8ef90b7bc38395bedfa"
+source = "git+https://github.com/radrootslabs/lib?rev=18973e0aa62ae809b0495d5812b0c5ac8c7774ff#18973e0aa62ae809b0495d5812b0c5ac8c7774ff"
dependencies = [
"fs2",
"radroots_event",
@@ -1881,7 +1881,7 @@ dependencies = [
[[package]]
name = "radroots_sync"
version = "0.1.0-alpha"
-source = "git+https://github.com/radrootslabs/lib?rev=828c462255b52a3d9bbfe8ef90b7bc38395bedfa#828c462255b52a3d9bbfe8ef90b7bc38395bedfa"
+source = "git+https://github.com/radrootslabs/lib?rev=18973e0aa62ae809b0495d5812b0c5ac8c7774ff#18973e0aa62ae809b0495d5812b0c5ac8c7774ff"
dependencies = [
"radroots_event",
"radroots_event_codec",
@@ -1896,7 +1896,7 @@ dependencies = [
[[package]]
name = "radroots_trade"
version = "0.1.0-alpha"
-source = "git+https://github.com/radrootslabs/lib?rev=828c462255b52a3d9bbfe8ef90b7bc38395bedfa#828c462255b52a3d9bbfe8ef90b7bc38395bedfa"
+source = "git+https://github.com/radrootslabs/lib?rev=18973e0aa62ae809b0495d5812b0c5ac8c7774ff#18973e0aa62ae809b0495d5812b0c5ac8c7774ff"
dependencies = [
"hex",
"radroots_core",
@@ -1910,7 +1910,7 @@ dependencies = [
[[package]]
name = "radroots_transport"
version = "0.1.0-alpha"
-source = "git+https://github.com/radrootslabs/lib?rev=828c462255b52a3d9bbfe8ef90b7bc38395bedfa#828c462255b52a3d9bbfe8ef90b7bc38395bedfa"
+source = "git+https://github.com/radrootslabs/lib?rev=18973e0aa62ae809b0495d5812b0c5ac8c7774ff#18973e0aa62ae809b0495d5812b0c5ac8c7774ff"
dependencies = [
"radroots_event",
"radroots_identity",
@@ -1922,7 +1922,7 @@ dependencies = [
[[package]]
name = "radroots_transport_nostr"
version = "0.1.0-alpha"
-source = "git+https://github.com/radrootslabs/lib?rev=828c462255b52a3d9bbfe8ef90b7bc38395bedfa#828c462255b52a3d9bbfe8ef90b7bc38395bedfa"
+source = "git+https://github.com/radrootslabs/lib?rev=18973e0aa62ae809b0495d5812b0c5ac8c7774ff#18973e0aa62ae809b0495d5812b0c5ac8c7774ff"
dependencies = [
"async-wsocket",
"futures",
diff --git a/Cargo.toml b/Cargo.toml
@@ -23,4 +23,4 @@ todo = "deny"
unimplemented = "deny"
[workspace.dependencies]
-radroots_mobile_ffi = { git = "https://github.com/radrootslabs/lib", rev = "828c462255b52a3d9bbfe8ef90b7bc38395bedfa", version = "=0.1.0-alpha" }
+radroots_mobile_ffi = { git = "https://github.com/radrootslabs/lib", rev = "18973e0aa62ae809b0495d5812b0c5ac8c7774ff", version = "=0.1.0-alpha" }
diff --git a/Package.resolved b/Package.resolved
@@ -6,7 +6,7 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/radrootslabs/apple_kit.git",
"state" : {
- "revision" : "bd8242d04357adb1d37bf519458a866caf92cd3d"
+ "revision" : "dc770ec0b94a9b7ab245dba7ab8d5e46f65c109e"
}
},
{
diff --git a/Package.swift b/Package.swift
@@ -13,7 +13,7 @@ let package = Package(
dependencies: [
.package(
url: "https://github.com/radrootslabs/apple_kit.git",
- revision: "bd8242d04357adb1d37bf519458a866caf92cd3d"
+ revision: "dc770ec0b94a9b7ab245dba7ab8d5e46f65c109e"
),
],
targets: [
diff --git a/Radroots.xcodeproj/project.pbxproj b/Radroots.xcodeproj/project.pbxproj
@@ -647,7 +647,7 @@
repositoryURL = "https://github.com/radrootslabs/apple_kit.git";
requirement = {
kind = revision;
- revision = bd8242d04357adb1d37bf519458a866caf92cd3d;
+ revision = dc770ec0b94a9b7ab245dba7ab8d5e46f65c109e;
};
};
/* End XCRemoteSwiftPackageReference section */
diff --git a/Radroots.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Radroots.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
@@ -6,7 +6,7 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/radrootslabs/apple_kit.git",
"state" : {
- "revision" : "bd8242d04357adb1d37bf519458a866caf92cd3d"
+ "revision" : "dc770ec0b94a9b7ab245dba7ab8d5e46f65c109e"
}
},
{
diff --git a/Radroots/App/RadrootsAppModel.swift b/Radroots/App/RadrootsAppModel.swift
@@ -3,309 +3,322 @@ import RadrootsKit
@MainActor
final class RadrootsAppModel: ObservableObject {
- typealias Phase = RadrootsSessionPhase
+ typealias Phase = RadrootsSessionPhase
- @Published private(set) var phase: Phase = .starting
- private(set) var todayStore: RadrootsTodayStore?
- private(set) var addStore: RadrootsAddStore?
- private(set) var searchStore: RadrootsSearchStore?
- private(set) var meStore: RadrootsMeStore?
- let diagnosticsStore: RadrootsDiagnosticsStore
+ @Published private(set) var phase: Phase = .starting
+ private(set) var todayStore: RadrootsTodayStore?
+ private(set) var addStore: RadrootsAddStore?
+ private(set) var searchStore: RadrootsSearchStore?
+ private(set) var meStore: RadrootsMeStore?
+ let diagnosticsStore: RadrootsDiagnosticsStore
- private let sessionStore: RadrootsSessionStore?
- private let bootstrapFailure: RadrootsRuntimeFailure?
- private let lifecycleCoordinator: RadrootsLifecycleCoordinator
- private var generation: UInt64 = 0
- private var lifecycleRegistered = false
- private var sessionOperationsInFlight = 0
- private var resumePending = false
- private let isShellUITest: Bool
+ private let sessionStore: RadrootsSessionStore?
+ private let bootstrapFailure: RadrootsRuntimeFailure?
+ private let lifecycleCoordinator: RadrootsLifecycleCoordinator
+ private var generation: UInt64 = 0
+ private var lifecycleRegistered = false
+ private var sessionOperationsInFlight = 0
+ private var resumePending = false
+ private let isShellUITest: Bool
- init(
- sessionStore: RadrootsSessionStore? = nil,
- runtimeClient: RadrootsRuntimeClient? = nil,
- lifecycleCoordinator requestedLifecycleCoordinator: RadrootsLifecycleCoordinator? = nil
- ) {
- let lifecycleCoordinator =
- requestedLifecycleCoordinator
- ?? Bundle.main.bundleIdentifier.flatMap {
- try? RadrootsLifecycleCoordinator.production(bundleIdentifier: $0)
- }
- ?? RadrootsLifecycleCoordinator.disabled()
- self.lifecycleCoordinator = lifecycleCoordinator
- diagnosticsStore = RadrootsDiagnosticsStore(coordinator: lifecycleCoordinator)
- #if DEBUG
- if ProcessInfo.processInfo.environment["RADROOTS_IOS_UI_TEST_SHELL"] == "1" {
- self.sessionStore = nil
- todayStore = nil
- addStore = nil
- searchStore = nil
- meStore = nil
- bootstrapFailure = nil
- isShellUITest = true
- phase = .running(.shellUITest)
- return
- }
- #endif
- isShellUITest = false
- if let sessionStore {
- self.sessionStore = sessionStore
- todayStore = runtimeClient.map { RadrootsTodayStore(runtimeClient: $0) }
- addStore = runtimeClient.map { RadrootsAddStore(runtimeClient: $0) }
- searchStore = runtimeClient.map { RadrootsSearchStore(runtimeClient: $0) }
- meStore = runtimeClient.map { RadrootsMeStore(runtimeClient: $0) }
- bootstrapFailure = nil
- } else {
- do {
- let runtimeClient = runtimeClient ?? .production()
- let sessionStore = try RadrootsSessionStore.production(
- runtimeClient: runtimeClient
- )
- let mediaCoordinator = try Self.productionMediaCoordinator()
- self.sessionStore = sessionStore
- todayStore = RadrootsTodayStore(runtimeClient: runtimeClient)
- addStore = RadrootsAddStore(
- runtimeClient: runtimeClient,
- media: mediaCoordinator
- )
- searchStore = RadrootsSearchStore(runtimeClient: runtimeClient)
- meStore = RadrootsMeStore(runtimeClient: runtimeClient)
- bootstrapFailure = nil
- } catch let error as LocalizedError {
- self.sessionStore = nil
- todayStore = nil
- addStore = nil
- searchStore = nil
- meStore = nil
- bootstrapFailure = .local(
- operation: "app.bootstrap",
- code: "ios.app.configuration_invalid",
- safeMessage: error.errorDescription ?? "Radroots configuration is invalid."
- )
- } catch {
- self.sessionStore = nil
- todayStore = nil
- addStore = nil
- searchStore = nil
- meStore = nil
- bootstrapFailure = .local(
- operation: "app.bootstrap",
- code: "ios.app.configuration_invalid",
- safeMessage: "Radroots configuration is invalid."
- )
- }
- }
+ init(
+ sessionStore: RadrootsSessionStore? = nil,
+ runtimeClient: RadrootsRuntimeClient? = nil,
+ lifecycleCoordinator requestedLifecycleCoordinator: RadrootsLifecycleCoordinator? = nil
+ ) {
+ let productionServices = Bundle.main.bundleIdentifier.flatMap {
+ try? RadrootsLifecycleCoordinator.productionServices(bundleIdentifier: $0)
}
-
- func start() async {
- await ensureLifecycleRegistration()
- await lifecycleCoordinator.record("ios.lifecycle.start_requested")
- await run(name: "start", showsStarting: true) { store in await store.start() }
+ let lifecycleCoordinator =
+ requestedLifecycleCoordinator
+ ?? productionServices?.coordinator
+ ?? RadrootsLifecycleCoordinator.disabled()
+ let backgroundTransfer =
+ requestedLifecycleCoordinator == nil
+ ? productionServices?.backgroundTransfer : nil
+ self.lifecycleCoordinator = lifecycleCoordinator
+ diagnosticsStore = RadrootsDiagnosticsStore(coordinator: lifecycleCoordinator)
+ #if DEBUG
+ if ProcessInfo.processInfo.environment["RADROOTS_IOS_UI_TEST_SHELL"] == "1" {
+ self.sessionStore = nil
+ todayStore = nil
+ addStore = nil
+ searchStore = nil
+ meStore = nil
+ bootstrapFailure = nil
+ isShellUITest = true
+ phase = .running(.shellUITest)
+ return
+ }
+ #endif
+ isShellUITest = false
+ if let sessionStore {
+ self.sessionStore = sessionStore
+ todayStore = runtimeClient.map { RadrootsTodayStore(runtimeClient: $0) }
+ addStore = runtimeClient.map { RadrootsAddStore(runtimeClient: $0) }
+ searchStore = runtimeClient.map { RadrootsSearchStore(runtimeClient: $0) }
+ meStore = runtimeClient.map { RadrootsMeStore(runtimeClient: $0) }
+ bootstrapFailure = nil
+ } else {
+ do {
+ let runtimeClient = runtimeClient ?? .production()
+ let sessionStore = try RadrootsSessionStore.production(
+ runtimeClient: runtimeClient
+ )
+ let mediaCoordinator = try Self.productionMediaCoordinator(
+ transfer: backgroundTransfer
+ )
+ self.sessionStore = sessionStore
+ todayStore = RadrootsTodayStore(runtimeClient: runtimeClient)
+ addStore = RadrootsAddStore(
+ runtimeClient: runtimeClient,
+ media: mediaCoordinator
+ )
+ searchStore = RadrootsSearchStore(runtimeClient: runtimeClient)
+ meStore = RadrootsMeStore(runtimeClient: runtimeClient)
+ bootstrapFailure = nil
+ } catch let error as LocalizedError {
+ self.sessionStore = nil
+ todayStore = nil
+ addStore = nil
+ searchStore = nil
+ meStore = nil
+ bootstrapFailure = .local(
+ operation: "app.bootstrap",
+ code: "ios.app.configuration_invalid",
+ safeMessage: error.errorDescription ?? "Radroots configuration is invalid."
+ )
+ } catch {
+ self.sessionStore = nil
+ todayStore = nil
+ addStore = nil
+ searchStore = nil
+ meStore = nil
+ bootstrapFailure = .local(
+ operation: "app.bootstrap",
+ code: "ios.app.configuration_invalid",
+ safeMessage: "Radroots configuration is invalid."
+ )
+ }
}
+ }
- func retry() async {
- await start()
- }
+ func start() async {
+ await ensureLifecycleRegistration()
+ await lifecycleCoordinator.record("ios.lifecycle.start_requested")
+ await run(name: "start", showsStarting: true) { store in await store.start() }
+ }
- func createIdentity() async {
- await run(name: "identity_create", showsStarting: true) { store in
- await store.createIdentity()
- }
- }
+ func retry() async {
+ await start()
+ }
- func unlockIdentity() async {
- await run(name: "identity_unlock", showsStarting: true) { store in
- await store.unlockIdentity()
- }
+ func createIdentity() async {
+ await run(name: "identity_create", showsStarting: true) { store in
+ await store.createIdentity()
}
+ }
- func recoverIdentity() async {
- await run(name: "identity_recover", showsStarting: true) { store in
- await store.recoverIdentity()
- }
+ func unlockIdentity() async {
+ await run(name: "identity_unlock", showsStarting: true) { store in
+ await store.unlockIdentity()
}
+ }
- func applyConfigurationReconfiguration() async {
- await run(name: "configuration_reconfigure", showsStarting: true) { store in
- await store.applyConfigurationReconfiguration()
- }
+ func recoverIdentity() async {
+ await run(name: "identity_recover", showsStarting: true) { store in
+ await store.recoverIdentity()
}
+ }
- func stop() async {
- stopPresentationWork()
- await run(name: "stop") { store in await store.stop() }
+ func applyConfigurationReconfiguration() async {
+ await run(name: "configuration_reconfigure", showsStarting: true) { store in
+ await store.applyConfigurationReconfiguration()
}
+ }
- func resume() async {
- await ensureLifecycleRegistration()
- guard sessionOperationsInFlight == 0 else {
- resumePending = true
- await lifecycleCoordinator.record("ios.lifecycle.resume_coalesced")
- return
- }
- resumePending = false
- if case .running = phase {
- await todayStore?.start()
- await addStore?.start()
- await lifecycleCoordinator.record("ios.lifecycle.active")
- } else {
- await start()
- }
- }
+ func stop() async {
+ stopPresentationWork()
+ await run(name: "stop") { store in await store.stop() }
+ }
- func suspend() async {
- generation &+= 1
- resumePending = false
- todayStore?.stop()
- addStore?.suspend()
- searchStore?.stop()
- meStore?.stop()
- await sessionStore?.suspend()
- await lifecycleCoordinator.record("ios.lifecycle.background")
+ func resume() async {
+ await ensureLifecycleRegistration()
+ guard sessionOperationsInFlight == 0 else {
+ resumePending = true
+ await lifecycleCoordinator.record("ios.lifecycle.resume_coalesced")
+ return
}
-
- func updateProtectedDataAvailability(_ available: Bool) async {
- await sessionStore?.updateProtectedDataAvailability(available)
- await lifecycleCoordinator.record(
- available
- ? "ios.lifecycle.protected_data_available"
- : "ios.lifecycle.protected_data_unavailable"
- )
- if available {
- await start()
- } else {
- await stop()
- await start()
- }
+ resumePending = false
+ if case .running = phase {
+ await todayStore?.start()
+ await addStore?.start()
+ await lifecycleCoordinator.record("ios.lifecycle.active")
+ } else {
+ await start()
}
+ }
- func shutdown() async {
- await lifecycleCoordinator.record("ios.lifecycle.shutdown_requested", level: .notice)
- await stop()
- await RadrootsBackgroundEventRouter.shared.detachAndCompletePending()
- }
+ func suspend() async {
+ generation &+= 1
+ resumePending = false
+ todayStore?.stop()
+ addStore?.suspend()
+ searchStore?.stop()
+ meStore?.stop()
+ await sessionStore?.suspend()
+ await lifecycleCoordinator.record("ios.lifecycle.background")
+ }
- private func run(
- name: String,
- showsStarting: Bool = false,
- _ operation: @escaping @Sendable (RadrootsSessionStore) async -> Phase
- ) async {
- guard !isShellUITest else { return }
- sessionOperationsInFlight += 1
- generation &+= 1
- let requestedGeneration = generation
- if showsStarting {
- phase = .starting
- }
- guard let sessionStore else {
- phase = .failed(
- bootstrapFailure
- ?? .local(
- operation: "app.bootstrap",
- code: "ios.app.bootstrap_failed",
- safeMessage: "Radroots could not start."
- )
- )
- await lifecycleCoordinator.record(
- "ios.lifecycle.operation_failed",
- level: .error,
- fields: ["operation": name, "code": "bootstrap_failed"]
- )
- await finishSessionOperation()
- return
- }
- let result = await operation(sessionStore)
- guard generation == requestedGeneration else {
- await finishSessionOperation()
- return
- }
- if case let .running(snapshot) = result {
- todayStore?.configure(snapshot: snapshot)
- addStore?.configure(snapshot: snapshot)
- }
- phase = result
- await lifecycleCoordinator.record(
- "ios.lifecycle.operation_completed",
- level: Self.isFailure(result) ? .warning : .info,
- fields: ["operation": name, "phase": Self.phaseCode(result)]
- )
- await finishSessionOperation()
+ func updateProtectedDataAvailability(_ available: Bool) async {
+ await sessionStore?.updateProtectedDataAvailability(available)
+ await lifecycleCoordinator.record(
+ available
+ ? "ios.lifecycle.protected_data_available"
+ : "ios.lifecycle.protected_data_unavailable"
+ )
+ if available {
+ await start()
+ } else {
+ await stop()
+ await start()
}
+ }
- private func finishSessionOperation() async {
- sessionOperationsInFlight -= 1
- guard sessionOperationsInFlight == 0, resumePending else { return }
- resumePending = false
- await resume()
- }
+ func shutdown() async {
+ await lifecycleCoordinator.record("ios.lifecycle.shutdown_requested", level: .notice)
+ await stop()
+ await RadrootsBackgroundEventRouter.shared.detachAndCompletePending()
+ }
- private func ensureLifecycleRegistration() async {
- guard !lifecycleRegistered else { return }
- lifecycleRegistered = true
- await lifecycleCoordinator.attachBackgroundEvents()
- await RadrootsLifecycleBridge.shared.register { @Sendable [weak self] in
- await self?.shutdown()
- }
+ private func run(
+ name: String,
+ showsStarting: Bool = false,
+ _ operation: @escaping @Sendable (RadrootsSessionStore) async -> Phase
+ ) async {
+ guard !isShellUITest else { return }
+ sessionOperationsInFlight += 1
+ generation &+= 1
+ let requestedGeneration = generation
+ if showsStarting {
+ phase = .starting
+ }
+ guard let sessionStore else {
+ phase = .failed(
+ bootstrapFailure
+ ?? .local(
+ operation: "app.bootstrap",
+ code: "ios.app.bootstrap_failed",
+ safeMessage: "Radroots could not start."
+ )
+ )
+ await lifecycleCoordinator.record(
+ "ios.lifecycle.operation_failed",
+ level: .error,
+ fields: ["operation": name, "code": "bootstrap_failed"]
+ )
+ await finishSessionOperation()
+ return
+ }
+ let result = await operation(sessionStore)
+ guard generation == requestedGeneration else {
+ await finishSessionOperation()
+ return
+ }
+ if case .running(let snapshot) = result {
+ todayStore?.configure(snapshot: snapshot)
+ addStore?.configure(snapshot: snapshot)
}
+ phase = result
+ await lifecycleCoordinator.record(
+ "ios.lifecycle.operation_completed",
+ level: Self.isFailure(result) ? .warning : .info,
+ fields: ["operation": name, "phase": Self.phaseCode(result)]
+ )
+ await finishSessionOperation()
+ }
- private func stopPresentationWork() {
- todayStore?.stop()
- addStore?.stop()
- searchStore?.stop()
- meStore?.stop()
+ private func finishSessionOperation() async {
+ sessionOperationsInFlight -= 1
+ guard sessionOperationsInFlight == 0, resumePending else { return }
+ resumePending = false
+ await resume()
+ }
+
+ private func ensureLifecycleRegistration() async {
+ guard !lifecycleRegistered else { return }
+ lifecycleRegistered = true
+ await lifecycleCoordinator.attachBackgroundEvents()
+ await RadrootsLifecycleBridge.shared.register { @Sendable [weak self] in
+ await self?.shutdown()
}
+ }
+
+ private func stopPresentationWork() {
+ todayStore?.stop()
+ addStore?.stop()
+ searchStore?.stop()
+ meStore?.stop()
+ }
- private static func isFailure(_ phase: Phase) -> Bool {
- if case .failed = phase {
- return true
- }
- return false
+ private static func isFailure(_ phase: Phase) -> Bool {
+ if case .failed = phase {
+ return true
}
+ return false
+ }
- private static func phaseCode(_ phase: Phase) -> String {
- switch phase {
- case .starting: "starting"
- case .identityRequired: "identity_required"
- case .identityLocked: "identity_locked"
- case .protectedDataUnavailable: "protected_data_unavailable"
- case .recoveryRequired: "recovery_required"
- case .corruptIdentity: "corrupt_identity"
- case .configurationReconfigurationRequired: "configuration_reconfiguration_required"
- case .running: "running"
- case .stopped: "stopped"
- case .failed: "failed"
- }
+ private static func phaseCode(_ phase: Phase) -> String {
+ switch phase {
+ case .starting: "starting"
+ case .identityRequired: "identity_required"
+ case .identityLocked: "identity_locked"
+ case .protectedDataUnavailable: "protected_data_unavailable"
+ case .recoveryRequired: "recovery_required"
+ case .corruptIdentity: "corrupt_identity"
+ case .configurationReconfigurationRequired: "configuration_reconfiguration_required"
+ case .running: "running"
+ case .stopped: "stopped"
+ case .failed: "failed"
}
+ }
- private static func productionMediaCoordinator(
- bundle: Bundle = .main
- ) throws -> RadrootsAddMediaCoordinator {
- guard let bundleIdentifier = bundle.bundleIdentifier else {
- throw RadrootsConfigurationError.missing("bundle_identifier")
- }
- return try RadrootsAddMediaCoordinator.production(bundleIdentifier: bundleIdentifier)
+ private static func productionMediaCoordinator(
+ bundle: Bundle = .main,
+ transfer: (any RadrootsBackgroundTransfer)?
+ ) throws -> RadrootsAddMediaCoordinator {
+ guard let bundleIdentifier = bundle.bundleIdentifier else {
+ throw RadrootsConfigurationError.missing("bundle_identifier")
+ }
+ guard let transfer else {
+ throw RadrootsConfigurationError.missing("background_transfer")
}
+ return try RadrootsAddMediaCoordinator.production(
+ bundleIdentifier: bundleIdentifier,
+ transfer: transfer
+ )
+ }
}
#if DEBUG
- fileprivate extension RadrootsRuntimeSnapshot {
- static let shellUITest = RadrootsRuntimeSnapshot(
- identity: RadrootsRuntimeIdentity(
- publicKeyHex: String(repeating: "ab", count: 32),
- hostSignerConfigured: true
- ),
- relay: RadrootsRelayStatus(
- profile: "simulator",
- state: "configured",
- readAvailability: "unobserved",
- writeAvailability: "unobserved",
- relays: []
- ),
- blossomConfiguration: nil,
- blossomEvidence: nil,
- crateName: "radroots_mobile_ffi",
- crateVersion: "0.1.0-alpha",
- isClosed: false
- )
- }
+ extension RadrootsRuntimeSnapshot {
+ fileprivate static let shellUITest = RadrootsRuntimeSnapshot(
+ identity: RadrootsRuntimeIdentity(
+ publicKeyHex: String(repeating: "ab", count: 32),
+ hostSignerConfigured: true
+ ),
+ relay: RadrootsRelayStatus(
+ profile: "simulator",
+ state: "configured",
+ readAvailability: "unobserved",
+ writeAvailability: "unobserved",
+ relays: []
+ ),
+ blossomConfiguration: nil,
+ blossomEvidence: nil,
+ crateName: "radroots_mobile_ffi",
+ crateVersion: "0.1.0-alpha",
+ isClosed: false
+ )
+ }
#endif
diff --git a/Radroots/Runtime/RadrootsAddMediaCoordinator.swift b/Radroots/Runtime/RadrootsAddMediaCoordinator.swift
@@ -2,225 +2,375 @@ import Foundation
import RadrootsKit
struct RadrootsAddMediaSupport: Sendable, Equatable {
- let library: Bool
- let camera: Bool
+ let library: Bool
+ let camera: Bool
- static let unavailable = Self(library: false, camera: false)
+ static let unavailable = Self(library: false, camera: false)
+}
+
+struct RadrootsAddBackgroundUploadReceipt: Sendable, Equatable {
+ let identifier: String
+ let statusCode: UInt16
+ let mediaType: String?
+ let contentEncoding: String?
+ let body: Data
}
protocol RadrootsAddMediaHandling: Sendable {
- func support() async throws -> RadrootsAddMediaSupport
- func importImages(limit: Int) async throws -> [RadrootsPreparedMedia]
- func captureImage() async throws -> RadrootsPreparedMedia
- func open(_ media: [RadrootsPreparedMedia]) async throws -> RadrootsOpenedMedia
+ func support() async throws -> RadrootsAddMediaSupport
+ func importImages(limit: Int) async throws -> [RadrootsPreparedMedia]
+ func captureImage() async throws -> RadrootsPreparedMedia
+ func open(_ media: [RadrootsPreparedMedia]) async throws -> RadrootsOpenedMedia
+ func uploadInBackground(
+ job: RadrootsNativeUploadJob,
+ media: RadrootsPreparedMedia
+ ) async throws -> RadrootsAddBackgroundUploadReceipt
+ func settleBackgroundUpload(identifier: String, accepted: Bool) async throws
+}
+
+extension RadrootsAddMediaHandling {
+ func uploadInBackground(
+ job _: RadrootsNativeUploadJob,
+ media _: RadrootsPreparedMedia
+ ) async throws -> RadrootsAddBackgroundUploadReceipt {
+ throw RadrootsRuntimeFailure.local(
+ operation: "add.media.background",
+ code: "ios.add.background_transfer_unavailable",
+ safeMessage: "Background photo upload is unavailable on this device."
+ )
+ }
+
+ func settleBackgroundUpload(identifier _: String, accepted _: Bool) async throws {}
}
final class RadrootsOpenedMedia: @unchecked Sendable {
- let handles: [RadrootsPreparedMediaHandle]
- private var files: [FileHandle]
+ let handles: [RadrootsPreparedMediaHandle]
+ private var files: [FileHandle]
- init(handles: [RadrootsPreparedMediaHandle], files: [FileHandle]) {
- self.handles = handles
- self.files = files
- }
+ init(handles: [RadrootsPreparedMediaHandle], files: [FileHandle]) {
+ self.handles = handles
+ self.files = files
+ }
- deinit {
- close()
- }
+ deinit {
+ close()
+ }
- func close() {
- let active = files
- files.removeAll()
- for file in active {
- try? file.close()
- }
+ func close() {
+ let active = files
+ files.removeAll()
+ for file in active {
+ try? file.close()
}
+ }
}
actor RadrootsAddMediaCoordinator: RadrootsAddMediaHandling {
- private let roots: RadrootsAppleFileRoots
- private let picker: any RadrootsMediaPicker
- private let preparer: RadrootsAppleMediaPreparer
-
- init(
- roots: RadrootsAppleFileRoots,
- picker: any RadrootsMediaPicker,
- preparer: RadrootsAppleMediaPreparer
- ) {
- self.roots = roots
- self.picker = picker
- self.preparer = preparer
- }
+ private let roots: RadrootsAppleFileRoots
+ private let picker: any RadrootsMediaPicker
+ private let preparer: RadrootsAppleMediaPreparer
+ private let transfer: any RadrootsBackgroundTransfer
- static func production(bundleIdentifier: String) throws -> Self {
- let roots = try RadrootsAppleFileRoots.appContainer(appIdentifier: bundleIdentifier)
- let fileAccess = RadrootsAppleFileAccess(roots: roots)
- let picker: any RadrootsMediaPicker
- #if DEBUG
- if let mediaFile = try RadrootsRemoteQualificationEnvironment.current()?.mediaFile {
- picker = RadrootsRemoteQualificationMediaPicker(
- roots: roots,
- file: mediaFile
- )
- } else {
- picker = RadrootsAppleMediaPicker(fileAccess: fileAccess)
- }
- #else
- picker = RadrootsAppleMediaPicker(fileAccess: fileAccess)
- #endif
- return Self(
- roots: roots,
- picker: picker,
- preparer: RadrootsAppleMediaPreparer(roots: roots)
+ init(
+ roots: RadrootsAppleFileRoots,
+ picker: any RadrootsMediaPicker,
+ preparer: RadrootsAppleMediaPreparer,
+ transfer: any RadrootsBackgroundTransfer
+ ) {
+ self.roots = roots
+ self.picker = picker
+ self.preparer = preparer
+ self.transfer = transfer
+ }
+
+ static func production(
+ bundleIdentifier: String,
+ transfer: any RadrootsBackgroundTransfer
+ ) throws -> Self {
+ let roots = try RadrootsAppleFileRoots.appContainer(appIdentifier: bundleIdentifier)
+ let fileAccess = RadrootsAppleFileAccess(roots: roots)
+ let picker: any RadrootsMediaPicker
+ #if DEBUG
+ if let mediaFile = try RadrootsRemoteQualificationEnvironment.current()?.mediaFile {
+ picker = RadrootsRemoteQualificationMediaPicker(
+ roots: roots,
+ file: mediaFile
)
+ } else {
+ picker = RadrootsAppleMediaPicker(fileAccess: fileAccess)
+ }
+ #else
+ picker = RadrootsAppleMediaPicker(fileAccess: fileAccess)
+ #endif
+ return Self(
+ roots: roots,
+ picker: picker,
+ preparer: RadrootsAppleMediaPreparer(roots: roots),
+ transfer: transfer
+ )
+ }
+
+ func support() async throws -> RadrootsAddMediaSupport {
+ let value = try await picker.currentSupport()
+ return RadrootsAddMediaSupport(
+ library: value.importAvailable && value.supportedImportKinds.contains(.image),
+ camera: value.cameraCaptureAvailable && value.supportedCaptureKinds.contains(.image)
+ )
+ }
+
+ func importImages(limit: Int) async throws -> [RadrootsPreparedMedia] {
+ let result = try await picker.importMedia(
+ RadrootsMediaImportRequest(
+ allowedMediaKinds: [.image],
+ selectionLimit: min(max(limit, 1), 20),
+ destinationScope: .cache
+ )
+ )
+ var prepared: [RadrootsPreparedMedia] = []
+ for asset in result.items {
+ try await prepared.append(prepare(asset))
}
+ return prepared
+ }
- func support() async throws -> RadrootsAddMediaSupport {
- let value = try await picker.currentSupport()
- return RadrootsAddMediaSupport(
- library: value.importAvailable && value.supportedImportKinds.contains(.image),
- camera: value.cameraCaptureAvailable && value.supportedCaptureKinds.contains(.image)
+ func captureImage() async throws -> RadrootsPreparedMedia {
+ let result = try await picker.captureMedia(
+ RadrootsMediaCaptureRequest(mediaKind: .image, destinationScope: .cache)
+ )
+ return try await prepare(result.item)
+ }
+
+ func open(_ media: [RadrootsPreparedMedia]) throws -> RadrootsOpenedMedia {
+ var files: [FileHandle] = []
+ var handles: [RadrootsPreparedMediaHandle] = []
+ do {
+ for item in media {
+ guard item.opaqueReference == "media:\(item.sha256)",
+ item.mediaType == "image/png",
+ let byteSize = Int(exactly: item.byteSize)
+ else {
+ throw RadrootsRuntimeFailure.local(
+ operation: "add.media.open",
+ code: "ios.add.media_reference_invalid",
+ safeMessage: "A prepared photo is no longer available."
+ )
+ }
+ let blob = try RadrootsStagedBlobReference(
+ blobID: item.sha256,
+ sizeBytes: byteSize,
+ mediaType: item.mediaType,
+ filenameHint: "\(item.sha256).png"
)
+ let file = try FileHandle(forReadingFrom: roots.stagedBlobURL(for: blob))
+ files.append(file)
+ handles.append(
+ RadrootsPreparedMediaHandle(
+ media: item,
+ fileDescriptor: UInt64(file.fileDescriptor)
+ )
+ )
+ }
+ return RadrootsOpenedMedia(handles: handles, files: files)
+ } catch {
+ for file in files {
+ try? file.close()
+ }
+ throw error
}
+ }
- func importImages(limit: Int) async throws -> [RadrootsPreparedMedia] {
- let result = try await picker.importMedia(
- RadrootsMediaImportRequest(
- allowedMediaKinds: [.image],
- selectionLimit: min(max(limit, 1), 20),
- destinationScope: .cache
+ func uploadInBackground(
+ job: RadrootsNativeUploadJob,
+ media: RadrootsPreparedMedia
+ ) async throws -> RadrootsAddBackgroundUploadReceipt {
+ guard job.expectedSHA256 == media.sha256,
+ job.mediaType == media.mediaType,
+ job.byteSize == media.byteSize,
+ let byteSize = Int(exactly: media.byteSize),
+ let remoteURL = URL(string: job.remoteURL)
+ else {
+ throw RadrootsRuntimeFailure.local(
+ operation: "add.media.background",
+ code: "ios.add.background_upload_mismatch",
+ safeMessage: "The prepared photo no longer matches the authorized upload."
+ )
+ }
+ let identifier = try Self.transferIdentifier(job: job)
+ let prepared = try RadrootsApplePreparedImage(
+ file: RadrootsStagedBlobReference(
+ blobID: media.sha256,
+ sizeBytes: byteSize,
+ mediaType: media.mediaType,
+ filenameHint: "\(media.sha256).png"
+ ),
+ sha256: media.sha256,
+ width: media.width,
+ height: media.height
+ )
+ let request = try await preparer.blossomUploadRequest(
+ preparedImage: prepared,
+ remoteURL: remoteURL,
+ authorization: job.authorizationHeader,
+ networkPolicy: remoteURL.scheme?.lowercased() == "https"
+ ? .publicHTTPS : .simulatorLoopbackHTTP,
+ identifier: identifier
+ )
+ _ = try await transfer.enqueue(request)
+ return try await withTaskCancellationHandler {
+ while true {
+ try Task.checkCancellation()
+ guard let snapshot = try await transfer.snapshot(for: identifier) else {
+ throw RadrootsRuntimeFailure.local(
+ operation: "add.media.background",
+ code: "ios.add.background_upload_missing",
+ safeMessage: "The background photo upload could not be recovered."
+ )
+ }
+ switch snapshot.state {
+ case .awaitingVerification:
+ guard let response = snapshot.response,
+ let statusCode = UInt16(exactly: response.statusCode),
+ let body = response.body
+ else {
+ throw RadrootsRuntimeFailure.local(
+ operation: "add.media.background",
+ code: "ios.add.background_response_invalid",
+ safeMessage: "The photo service returned an invalid response."
)
- )
- var prepared: [RadrootsPreparedMedia] = []
- for asset in result.items {
- try await prepared.append(prepare(asset))
+ }
+ return RadrootsAddBackgroundUploadReceipt(
+ identifier: identifier.rawValue,
+ statusCode: statusCode,
+ mediaType: response.mediaType,
+ contentEncoding: response.contentEncoding,
+ body: body
+ )
+ case .failed, .interrupted, .cancelled, .expired:
+ throw RadrootsRuntimeFailure.local(
+ operation: "add.media.background",
+ code: snapshot.errorMessage ?? "ios.add.background_upload_failed",
+ safeMessage: "The background photo upload did not complete."
+ )
+ case .completed:
+ throw RadrootsRuntimeFailure.local(
+ operation: "add.media.background",
+ code: "ios.add.background_upload_already_settled",
+ safeMessage: "The background photo upload was already settled."
+ )
+ case .queued, .running:
+ try await Task.sleep(for: .milliseconds(100))
}
- return prepared
+ }
+ } onCancel: {
+ Task {
+ try? await self.transfer.cancel(identifier)
+ }
}
+ }
- func captureImage() async throws -> RadrootsPreparedMedia {
- let result = try await picker.captureMedia(
- RadrootsMediaCaptureRequest(mediaKind: .image, destinationScope: .cache)
- )
- return try await prepare(result.item)
+ func settleBackgroundUpload(identifier: String, accepted: Bool) async throws {
+ do {
+ let value = try RadrootsBackgroundTransferIdentifier(identifier)
+ try await transfer.settle(
+ value,
+ verification: accepted
+ ? .accepted
+ : .rejected(code: "background_transfer_rust_verification_failed")
+ )
+ } catch {
+ throw RadrootsRuntimeFailure.local(
+ operation: "add.media.background.settle",
+ code: "ios.add.background_settlement_failed",
+ safeMessage: "The verified photo transfer could not be finalized."
+ )
}
+ }
- func open(_ media: [RadrootsPreparedMedia]) throws -> RadrootsOpenedMedia {
- var files: [FileHandle] = []
- var handles: [RadrootsPreparedMediaHandle] = []
- do {
- for item in media {
- guard item.opaqueReference == "media:\(item.sha256)",
- item.mediaType == "image/png",
- let byteSize = Int(exactly: item.byteSize)
- else {
- throw RadrootsRuntimeFailure.local(
- operation: "add.media.open",
- code: "ios.add.media_reference_invalid",
- safeMessage: "A prepared photo is no longer available."
- )
- }
- let blob = try RadrootsStagedBlobReference(
- blobID: item.sha256,
- sizeBytes: byteSize,
- mediaType: item.mediaType,
- filenameHint: "\(item.sha256).png"
- )
- let file = try FileHandle(forReadingFrom: roots.stagedBlobURL(for: blob))
- files.append(file)
- handles.append(
- RadrootsPreparedMediaHandle(
- media: item,
- fileDescriptor: UInt64(file.fileDescriptor)
- )
- )
- }
- return RadrootsOpenedMedia(handles: handles, files: files)
- } catch {
- for file in files {
- try? file.close()
- }
- throw error
- }
- }
+ private func prepare(_ asset: RadrootsMediaAsset) async throws -> RadrootsPreparedMedia {
+ let prepared = try await preparer.prepareImage(
+ RadrootsAppleImagePreparationRequest(source: .file(asset.file))
+ )
+ return RadrootsPreparedMedia(
+ opaqueReference: "media:\(prepared.sha256)",
+ remoteURL: nil,
+ sha256: prepared.sha256,
+ mediaType: "image/png",
+ byteSize: UInt64(prepared.file.sizeBytes),
+ width: prepared.width,
+ height: prepared.height,
+ alt: "Farm photo",
+ preparedAtUnixSeconds: UInt64(Date().timeIntervalSince1970)
+ )
+ }
- private func prepare(_ asset: RadrootsMediaAsset) async throws -> RadrootsPreparedMedia {
- let prepared = try await preparer.prepareImage(
- RadrootsAppleImagePreparationRequest(source: .file(asset.file))
- )
- return RadrootsPreparedMedia(
- opaqueReference: "media:\(prepared.sha256)",
- remoteURL: nil,
- sha256: prepared.sha256,
- mediaType: "image/png",
- byteSize: UInt64(prepared.file.sizeBytes),
- width: prepared.width,
- height: prepared.height,
- alt: "Farm photo",
- preparedAtUnixSeconds: UInt64(Date().timeIntervalSince1970)
- )
- }
+ private static func transferIdentifier(
+ job: RadrootsNativeUploadJob
+ ) throws -> RadrootsBackgroundTransferIdentifier {
+ try RadrootsBackgroundTransferIdentifier(
+ "radroots.add.\(job.draft.id).\(job.draft.revision).\(job.operationID)"
+ )
+ }
}
#if DEBUG
- private actor RadrootsRemoteQualificationMediaPicker: RadrootsMediaPicker {
- private let roots: RadrootsAppleFileRoots
- private let file: RadrootsFileReference
+ private actor RadrootsRemoteQualificationMediaPicker: RadrootsMediaPicker {
+ private let roots: RadrootsAppleFileRoots
+ private let file: RadrootsFileReference
- init(roots: RadrootsAppleFileRoots, file: RadrootsFileReference) {
- self.roots = roots
- self.file = file
- }
+ init(roots: RadrootsAppleFileRoots, file: RadrootsFileReference) {
+ self.roots = roots
+ self.file = file
+ }
- func currentSupport() async throws -> RadrootsMediaPickerSupport {
- try RadrootsMediaPickerSupport(
- importAvailable: true,
- cameraCaptureAvailable: false,
- supportedImportKinds: [.image],
- supportedCaptureKinds: [],
- multipleSelectionSupported: false
- )
- }
+ func currentSupport() async throws -> RadrootsMediaPickerSupport {
+ try RadrootsMediaPickerSupport(
+ importAvailable: true,
+ cameraCaptureAvailable: false,
+ supportedImportKinds: [.image],
+ supportedCaptureKinds: [],
+ multipleSelectionSupported: false
+ )
+ }
- func importMedia(
- _ request: RadrootsMediaImportRequest
- ) async throws -> RadrootsMediaImportResult {
- guard request.allowedMediaKinds == [.image], request.selectionLimit >= 1 else {
- throw RadrootsCaptureIntakeError.invalidRequest(
- "remote qualification accepts one image"
- )
- }
- let url = try roots.resolvedURL(for: file)
- let values = try url.resourceValues(
- forKeys: [.fileSizeKey, .isRegularFileKey, .isSymbolicLinkKey]
- )
- guard values.isRegularFile == true,
- values.isSymbolicLink != true,
- let size = values.fileSize,
- (1 ... 40 * 1024 * 1024).contains(size)
- else {
- throw RadrootsCaptureIntakeError.unavailable(
- "remote qualification image is unavailable"
- )
- }
- let asset = try RadrootsMediaAsset(
- source: .libraryImport,
- kind: .image,
- file: file,
- mediaType: "image/png",
- suggestedFilename: "input.png",
- sizeBytes: UInt64(size),
- capturedAt: Date()
- )
- return try RadrootsMediaImportResult(items: [asset])
- }
+ func importMedia(
+ _ request: RadrootsMediaImportRequest
+ ) async throws -> RadrootsMediaImportResult {
+ guard request.allowedMediaKinds == [.image], request.selectionLimit >= 1 else {
+ throw RadrootsCaptureIntakeError.invalidRequest(
+ "remote qualification accepts one image"
+ )
+ }
+ let url = try roots.resolvedURL(for: file)
+ let values = try url.resourceValues(
+ forKeys: [.fileSizeKey, .isRegularFileKey, .isSymbolicLinkKey]
+ )
+ guard values.isRegularFile == true,
+ values.isSymbolicLink != true,
+ let size = values.fileSize,
+ (1...40 * 1024 * 1024).contains(size)
+ else {
+ throw RadrootsCaptureIntakeError.unavailable(
+ "remote qualification image is unavailable"
+ )
+ }
+ let asset = try RadrootsMediaAsset(
+ source: .libraryImport,
+ kind: .image,
+ file: file,
+ mediaType: "image/png",
+ suggestedFilename: "input.png",
+ sizeBytes: UInt64(size),
+ capturedAt: Date()
+ )
+ return try RadrootsMediaImportResult(items: [asset])
+ }
- func captureMedia(
- _: RadrootsMediaCaptureRequest
- ) async throws -> RadrootsMediaCaptureResult {
- throw RadrootsCaptureIntakeError.unavailable(
- "camera capture is outside remote qualification"
- )
- }
+ func captureMedia(
+ _: RadrootsMediaCaptureRequest
+ ) async throws -> RadrootsMediaCaptureResult {
+ throw RadrootsCaptureIntakeError.unavailable(
+ "camera capture is outside remote qualification"
+ )
}
+ }
#endif
diff --git a/Radroots/Runtime/RadrootsGeneratedRuntimeBackend.swift b/Radroots/Runtime/RadrootsGeneratedRuntimeBackend.swift
@@ -2,1103 +2,1246 @@ import Foundation
import RadrootsKitBindings
private final class RadrootsGeneratedHostSigner: RadrootsHostSigner, @unchecked Sendable {
- private let signer: any RadrootsRuntimeSigner
-
- init(signer: any RadrootsRuntimeSigner) {
- self.signer = signer
- }
-
- func signerStatus() async -> SignerStatusRecord {
- await SignerStatusRecord(
- schemaVersion: 1,
- availability: signer.availability().generatedValue
- )
- }
-
- func sign(request: HostSigningRequest) async -> HostSigningResult {
- let purpose = request.purpose.appValue
- let outcome = await signer.sign(
- RadrootsRuntimeSigningRequest(
- operationID: request.operationId,
- signerRequestID: request.signerRequestId,
- publicKeyHex: request.publicKey,
- purpose: purpose,
- deadlineUnixMilliseconds: request.deadlineUnixMs,
- digest: request.eventIdDigest
- )
+ private let signer: any RadrootsRuntimeSigner
+
+ init(signer: any RadrootsRuntimeSigner) {
+ self.signer = signer
+ }
+
+ func signerStatus() async -> SignerStatusRecord {
+ await SignerStatusRecord(
+ schemaVersion: 1,
+ availability: signer.availability().generatedValue
+ )
+ }
+
+ func sign(request: HostSigningRequest) async -> HostSigningResult {
+ let purpose = request.purpose.appValue
+ let outcome = await signer.sign(
+ RadrootsRuntimeSigningRequest(
+ operationID: request.operationId,
+ signerRequestID: request.signerRequestId,
+ publicKeyHex: request.publicKey,
+ purpose: purpose,
+ deadlineUnixMilliseconds: request.deadlineUnixMs,
+ digest: request.eventIdDigest
+ )
+ )
+ #if DEBUG
+ if request.purpose == .blossomUpload,
+ let signatureHex = outcome.signatureHex
+ {
+ try? RadrootsRemoteQualificationEvidence.recordBlossomAuthorization(
+ request: request,
+ signatureHex: signatureHex
)
- #if DEBUG
- if request.purpose == .blossomUpload,
- let signatureHex = outcome.signatureHex
- {
- try? RadrootsRemoteQualificationEvidence.recordBlossomAuthorization(
- request: request,
- signatureHex: signatureHex
- )
- }
- #endif
- return HostSigningResult(
- schemaVersion: 1,
- outcome: outcome.generatedOutcome,
- operationId: request.operationId,
- signerRequestId: request.signerRequestId,
- publicKey: request.publicKey,
- purpose: request.purpose,
- signatureHex: outcome.signatureHex,
- completedAtUnixMs: UInt64(Date().timeIntervalSince1970 * 1000)
- )
- }
+ }
+ #endif
+ return HostSigningResult(
+ schemaVersion: 1,
+ outcome: outcome.generatedOutcome,
+ operationId: request.operationId,
+ signerRequestId: request.signerRequestId,
+ publicKey: request.publicKey,
+ purpose: request.purpose,
+ signatureHex: outcome.signatureHex,
+ completedAtUnixMs: UInt64(Date().timeIntervalSince1970 * 1000)
+ )
+ }
}
private final class RadrootsGeneratedRuntimeObserver: RadrootsRuntimeObserver, @unchecked Sendable {
- private let continuation: AsyncStream<RadrootsRuntimeChange>.Continuation
-
- init(continuation: AsyncStream<RadrootsRuntimeChange>.Continuation) {
- self.continuation = continuation
- }
-
- func onChange(change: FfiRuntimeChangeRecord) {
- continuation.yield(
- RadrootsRuntimeChange(
- schemaVersion: change.schemaVersion,
- generation: change.generation,
- kind: change.kind.appValue,
- entityID: change.entityId
- )
- )
- }
-
- func finish() {
- continuation.finish()
- }
+ private let continuation: AsyncStream<RadrootsRuntimeChange>.Continuation
+
+ init(continuation: AsyncStream<RadrootsRuntimeChange>.Continuation) {
+ self.continuation = continuation
+ }
+
+ func onChange(change: FfiRuntimeChangeRecord) {
+ continuation.yield(
+ RadrootsRuntimeChange(
+ schemaVersion: change.schemaVersion,
+ generation: change.generation,
+ kind: change.kind.appValue,
+ entityID: change.entityId
+ )
+ )
+ }
+
+ func finish() {
+ continuation.finish()
+ }
}
private actor RadrootsGeneratedSubscriptionToken: RadrootsRuntimeSubscriptionToken {
- private var handle: FfiSubscriptionHandle?
- private var observer: RadrootsGeneratedRuntimeObserver?
- private var deliveryTask: Task<Void, Never>?
-
- init(
- handle: FfiSubscriptionHandle,
- observer: RadrootsGeneratedRuntimeObserver,
- deliveryTask: Task<Void, Never>
- ) {
- self.handle = handle
- self.observer = observer
- self.deliveryTask = deliveryTask
- }
-
- func cancel() async {
- guard let handle else { return }
- self.handle = nil
- observer?.finish()
- observer = nil
- handle.unsubscribe()
- deliveryTask?.cancel()
- await deliveryTask?.value
- deliveryTask = nil
- }
+ private var handle: FfiSubscriptionHandle?
+ private var observer: RadrootsGeneratedRuntimeObserver?
+ private var deliveryTask: Task<Void, Never>?
+
+ init(
+ handle: FfiSubscriptionHandle,
+ observer: RadrootsGeneratedRuntimeObserver,
+ deliveryTask: Task<Void, Never>
+ ) {
+ self.handle = handle
+ self.observer = observer
+ self.deliveryTask = deliveryTask
+ }
+
+ func cancel() async {
+ guard let handle else { return }
+ self.handle = nil
+ observer?.finish()
+ observer = nil
+ handle.unsubscribe()
+ deliveryTask?.cancel()
+ await deliveryTask?.value
+ deliveryTask = nil
+ }
}
private final class RadrootsGeneratedRuntimeBackend: RadrootsRuntimeBackend, @unchecked Sendable {
- private let runtime: RadrootsRuntime
-
- init(runtime: RadrootsRuntime) {
- self.runtime = runtime
- }
-
- func snapshot() async throws -> RadrootsRuntimeSnapshot {
- do {
- let identity = try runtime.identityStatus()
- let relay = try runtime.sdkRelayStatus()
- let blossomConfiguration = try runtime.sdkBlossomConfiguration()
- let blossomEvidence = try runtime.sdkBlossomEvidence()
- let info = runtime.info()
- return RadrootsRuntimeSnapshot(
- identity: RadrootsRuntimeIdentity(
- publicKeyHex: identity.publicKey,
- hostSignerConfigured: identity.hostSignerConfigured
- ),
- relay: relay.map { report in
- RadrootsRelayStatus(
- profile: report.profile,
- state: report.state,
- readAvailability: report.readAvailability,
- writeAvailability: report.writeAvailability,
- relays: report.relays.map { relay in
- RadrootsRelayEndpointStatus(
- url: relay.relayUrl,
- access: relay.access,
- readState: relay.readState,
- writeState: relay.writeState,
- readLastAttemptUnixMilliseconds: relay.readLastAttemptUnixMs,
- writeLastAttemptUnixMilliseconds: relay.writeLastAttemptUnixMs,
- readNextAttemptUnixMilliseconds: relay.readNextAttemptUnixMs,
- writeNextAttemptUnixMilliseconds: relay.writeNextAttemptUnixMs
- )
- }
- )
- },
- blossomConfiguration: blossomConfiguration?.appValue,
- blossomEvidence: blossomEvidence?.appValue,
- crateName: info.sdk.crateName,
- crateVersion: info.sdk.crateVersion,
- isClosed: info.sdkClosed
- )
- } catch {
- throw Self.failure(from: error)
- }
- }
-
- func todayPage(request: RadrootsTodayPageRequest) async throws -> RadrootsTodayPage {
- do {
- let page = try await runtime.phase1TodayPage(
- context: request.context.generatedValue,
- limit: request.limit,
- asOfUnixS: request.asOfUnixSeconds,
- cursor: request.cursor
- )
- return page.appValue
- } catch {
- throw Self.failure(from: error)
- }
- }
-
- func refreshToday(
- context: RadrootsLocalNetwork,
- nowUnixSeconds: UInt64,
- update: RadrootsTodayProjectionUpdate
- ) async throws -> RadrootsTodayRefreshReceipt {
- do {
- let receipt = try await runtime.phase1SyncToday(
- context: context.generatedValue,
- nowUnixS: nowUnixSeconds,
- update: update.generatedValue
- )
- switch receipt.relayState {
- case .complete:
- return receipt.projection.appValue
- case .partial:
- throw RadrootsRuntimeFailure(
- schemaVersion: 1,
- code: "today_relay_partial",
- category: "relay",
- retryable: true,
- recoveryActions: ["retry"],
- operationID: "runtime.today.refresh",
- capabilityID: "nostr_source",
- safeMessage: "Today refreshed from only part of the local network."
- )
- case .offline:
- throw RadrootsRuntimeFailure(
- schemaVersion: 1,
- code: "today_relay_offline",
- category: "relay",
- retryable: true,
- recoveryActions: ["retry"],
- operationID: "runtime.today.refresh",
- capabilityID: "nostr_source",
- safeMessage: "Today is showing saved posts because the local network is offline."
- )
+ private let runtime: RadrootsRuntime
+
+ init(runtime: RadrootsRuntime) {
+ self.runtime = runtime
+ }
+
+ func snapshot() async throws -> RadrootsRuntimeSnapshot {
+ do {
+ let identity = try runtime.identityStatus()
+ let relay = try runtime.sdkRelayStatus()
+ let blossomConfiguration = try runtime.sdkBlossomConfiguration()
+ let blossomEvidence = try runtime.sdkBlossomEvidence()
+ let info = runtime.info()
+ return RadrootsRuntimeSnapshot(
+ identity: RadrootsRuntimeIdentity(
+ publicKeyHex: identity.publicKey,
+ hostSignerConfigured: identity.hostSignerConfigured
+ ),
+ relay: relay.map { report in
+ RadrootsRelayStatus(
+ profile: report.profile,
+ state: report.state,
+ readAvailability: report.readAvailability,
+ writeAvailability: report.writeAvailability,
+ relays: report.relays.map { relay in
+ RadrootsRelayEndpointStatus(
+ url: relay.relayUrl,
+ access: relay.access.appValue,
+ readState: relay.readState,
+ writeState: relay.writeState,
+ readLastAttemptUnixMilliseconds: relay.readLastAttemptUnixMs,
+ writeLastAttemptUnixMilliseconds: relay.writeLastAttemptUnixMs,
+ readNextAttemptUnixMilliseconds: relay.readNextAttemptUnixMs,
+ writeNextAttemptUnixMilliseconds: relay.writeNextAttemptUnixMs
+ )
}
- } catch {
- throw Self.failure(from: error)
- }
- }
-
- func search(
- context: RadrootsLocalNetwork,
- query: String,
- limit: UInt16,
- asOfUnixSeconds: UInt64
- ) async throws -> [RadrootsSearchResult] {
- do {
- return try await runtime.phase1Search(
- context: context.generatedValue,
- query: query,
- limit: limit,
- asOfUnixS: asOfUnixSeconds
- ).map(\.appValue)
- } catch {
- throw Self.failure(from: error)
- }
- }
-
- func me(
- context: RadrootsLocalNetwork,
- asOfUnixSeconds: UInt64
- ) async throws -> RadrootsMeSnapshot {
- do {
- return try await runtime.phase1Me(
- context: context.generatedValue,
- asOfUnixS: asOfUnixSeconds
- ).appValue
- } catch {
- throw Self.failure(from: error)
- }
- }
-
- func addSchemas() async throws -> [RadrootsAddSchema] {
- runtime.phase1AddSchemas().map(\.appValue)
- }
-
- func saveAddIntent(
- input: RadrootsAddRuntimeInput,
- existingDraftID: String?,
- expectedRevision: UInt64?
- ) async throws -> RadrootsDraftStatus {
- do {
- return try await runtime.phase1SaveAddIntent(
- input: input.generatedValue,
- existingDraftId: existingDraftID,
- expectedRevision: expectedRevision
- ).appValue
- } catch {
- throw Self.failure(from: error)
- }
- }
-
- func saveRetractionDraft(
- id: String,
- input: RadrootsRetractionDraftInput,
- authoredAtUnixSeconds: UInt64,
- persistedAtUnixMilliseconds: UInt64
- ) async throws -> RadrootsDraftStatus {
- do {
- return try await runtime.phase1SaveRetractionDraft(
- draftId: id,
- input: input.generatedValue,
- authoredAtUnixS: authoredAtUnixSeconds,
- persistedAtUnixMs: persistedAtUnixMilliseconds
- ).appValue
- } catch {
- throw Self.failure(from: error)
- }
- }
-
- func draftStatus(id: String) async throws -> RadrootsDraftStatus {
- do {
- return try await runtime.phase1DraftStatus(draftId: id).appValue
- } catch {
- throw Self.failure(from: error)
- }
- }
-
- func draftHeads(limit: UInt16) async throws -> [RadrootsDraftStatus] {
- do {
- return try await runtime.phase1DraftHeads(limit: limit).map(\.appValue)
- } catch {
- throw Self.failure(from: error)
- }
- }
-
- func queueAddIntent(
- id: String,
- expectedRevision: UInt64
- ) async throws -> RadrootsDraftStatus {
- do {
- return try await runtime.phase1QueueAddIntent(
- draftId: id,
- expectedRevision: expectedRevision
- ).appValue
- } catch {
- throw Self.failure(from: error)
- }
- }
-
- func recoverAddIntent(id: String) async throws -> RadrootsDraftStatus {
- do {
- return try await runtime.phase1RecoverAddIntent(draftId: id).appValue
- } catch {
- throw Self.failure(from: error)
- }
- }
-
- func uploadAddMediaIntent(input: RadrootsBlossomUploadIntent) async throws -> RadrootsDraftStatus {
- do {
- return try await runtime.phase1UploadAddMediaIntent(input: input.generatedValue).appValue
- } catch {
- throw Self.failure(from: error)
- }
- }
-
- func probeBlossom() async throws -> RadrootsBlossomEvidence {
- do {
- return try await runtime.probeBlossom().appValue
- } catch {
- throw Self.failure(from: error)
- }
- }
-
- func advanceDraft(id: String, expectedRevision: UInt64) async throws -> RadrootsDraftStatus {
- do {
- return try await runtime.phase1AdvanceDraft(
- draftId: id,
- expectedRevision: expectedRevision
- ).appValue
- } catch {
- throw Self.failure(from: error)
- }
- }
-
- func cancelAddIntent(
- id: String,
- expectedRevision: UInt64
- ) async throws -> RadrootsDraftStatus {
- do {
- return try await runtime.phase1CancelAddIntent(
- draftId: id,
- expectedRevision: expectedRevision
- ).appValue
- } catch {
- throw Self.failure(from: error)
- }
- }
-
- func subscribe(
- bufferCapacity: Int,
- receive: @escaping @Sendable (RadrootsRuntimeChange) async -> Void
- ) async throws -> any RadrootsRuntimeSubscriptionToken {
- let pair = AsyncStream.makeStream(
- of: RadrootsRuntimeChange.self,
- bufferingPolicy: .bufferingNewest(bufferCapacity)
+ )
+ },
+ blossomConfiguration: blossomConfiguration?.appValue,
+ blossomEvidence: blossomEvidence?.appValue,
+ crateName: info.sdk.crateName,
+ crateVersion: info.sdk.crateVersion,
+ isClosed: info.sdkClosed
+ )
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func todayPage(request: RadrootsTodayPageRequest) async throws -> RadrootsTodayPage {
+ do {
+ let page = try await runtime.phase1TodayPage(
+ context: request.context.generatedValue,
+ limit: request.limit,
+ asOfUnixS: request.asOfUnixSeconds,
+ cursor: request.cursor
+ )
+ return page.appValue
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func refreshToday(
+ context: RadrootsLocalNetwork,
+ nowUnixSeconds: UInt64,
+ update: RadrootsTodayProjectionUpdate
+ ) async throws -> RadrootsTodayRefreshReceipt {
+ do {
+ let receipt = try await runtime.phase1SyncToday(
+ context: context.generatedValue,
+ nowUnixS: nowUnixSeconds,
+ update: update.generatedValue
+ )
+ switch receipt.relayState {
+ case .complete:
+ return receipt.projection.appValue
+ case .partial:
+ throw RadrootsRuntimeFailure(
+ schemaVersion: 1,
+ code: "today_relay_partial",
+ category: "relay",
+ retryable: true,
+ recoveryActions: ["retry"],
+ operationID: "runtime.today.refresh",
+ capabilityID: "nostr_source",
+ safeMessage: "Today refreshed from only part of the local network."
)
- do {
- let observer = RadrootsGeneratedRuntimeObserver(continuation: pair.continuation)
- let handle = try runtime.subscribeChanges(observer: observer)
- let deliveryTask = Task {
- for await change in pair.stream {
- guard !Task.isCancelled else { break }
- await receive(change)
- }
- }
- return RadrootsGeneratedSubscriptionToken(
- handle: handle,
- observer: observer,
- deliveryTask: deliveryTask
- )
- } catch {
- pair.continuation.finish()
- throw Self.failure(from: error)
+ case .offline:
+ throw RadrootsRuntimeFailure(
+ schemaVersion: 1,
+ code: "today_relay_offline",
+ category: "relay",
+ retryable: true,
+ recoveryActions: ["retry"],
+ operationID: "runtime.today.refresh",
+ capabilityID: "nostr_source",
+ safeMessage: "Today is showing saved posts because the local network is offline."
+ )
+ }
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func search(
+ context: RadrootsLocalNetwork,
+ query: String,
+ limit: UInt16,
+ asOfUnixSeconds: UInt64
+ ) async throws -> [RadrootsSearchResult] {
+ do {
+ return try await runtime.phase1Search(
+ context: context.generatedValue,
+ query: query,
+ limit: limit,
+ asOfUnixS: asOfUnixSeconds
+ ).map(\.appValue)
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func me(
+ context: RadrootsLocalNetwork,
+ asOfUnixSeconds: UInt64
+ ) async throws -> RadrootsMeSnapshot {
+ do {
+ return try await runtime.phase1Me(
+ context: context.generatedValue,
+ asOfUnixS: asOfUnixSeconds
+ ).appValue
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func addSchemas() async throws -> [RadrootsAddSchema] {
+ runtime.phase1AddSchemas().map(\.appValue)
+ }
+
+ func saveAddIntent(
+ input: RadrootsAddRuntimeInput,
+ existingDraftID: String?,
+ expectedRevision: UInt64?
+ ) async throws -> RadrootsDraftStatus {
+ do {
+ return try await runtime.phase1SaveAddIntent(
+ input: input.generatedValue,
+ existingDraftId: existingDraftID,
+ expectedRevision: expectedRevision
+ ).appValue
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func saveRetractionDraft(
+ id: String,
+ input: RadrootsRetractionDraftInput,
+ authoredAtUnixSeconds: UInt64,
+ persistedAtUnixMilliseconds: UInt64
+ ) async throws -> RadrootsDraftStatus {
+ do {
+ return try await runtime.phase1SaveRetractionDraft(
+ draftId: id,
+ input: input.generatedValue,
+ authoredAtUnixS: authoredAtUnixSeconds,
+ persistedAtUnixMs: persistedAtUnixMilliseconds
+ ).appValue
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func saveRevisionIntent(
+ target: RadrootsRevisionTarget,
+ replacement: RadrootsAddRuntimeInput
+ ) async throws -> RadrootsRevisionStatus {
+ do {
+ return try await runtime.phase1SaveRevisionIntent(
+ input: FfiRevisionInputRecord(
+ schemaVersion: 1,
+ cardId: target.cardID,
+ sourceEventId: target.sourceEventID,
+ sourceAddress: target.sourceAddress,
+ authorPublicKey: target.authorPublicKey,
+ replacement: replacement.generatedValue
+ )
+ ).appValue
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func revisionStatus(operationID: String) async throws -> RadrootsRevisionStatus {
+ do {
+ return try await runtime.phase1RevisionStatus(operationId: operationID).appValue
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func advanceRevision(operationID: String) async throws -> RadrootsRevisionStatus {
+ do {
+ return try await runtime.phase1AdvanceRevision(operationId: operationID).appValue
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func cancelRevision(operationID: String) async throws -> RadrootsRevisionStatus {
+ do {
+ return try await runtime.phase1CancelRevision(operationId: operationID).appValue
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func draftStatus(id: String) async throws -> RadrootsDraftStatus {
+ do {
+ return try await runtime.phase1DraftStatus(draftId: id).appValue
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func draftHeads(limit: UInt16) async throws -> [RadrootsDraftStatus] {
+ do {
+ return try await runtime.phase1DraftHeads(limit: limit).map(\.appValue)
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func queueAddIntent(
+ id: String,
+ expectedRevision: UInt64
+ ) async throws -> RadrootsDraftStatus {
+ do {
+ return try await runtime.phase1QueueAddIntent(
+ draftId: id,
+ expectedRevision: expectedRevision
+ ).appValue
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func recoverAddIntent(id: String) async throws -> RadrootsDraftStatus {
+ do {
+ return try await runtime.phase1RecoverAddIntent(draftId: id).appValue
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func uploadAddMediaIntent(input: RadrootsBlossomUploadIntent) async throws -> RadrootsDraftStatus
+ {
+ do {
+ return try await runtime.phase1UploadAddMediaIntent(input: input.generatedValue).appValue
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func prepareAddMediaBackground(
+ input: RadrootsBlossomUploadIntent
+ ) async throws -> RadrootsNativeUploadJob {
+ do {
+ return try await runtime.phase1PrepareAddMediaBackground(
+ input: input.generatedValue
+ ).appValue
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func completeAddMediaBackground(
+ input: RadrootsNativeUploadCompletion
+ ) async throws -> RadrootsDraftStatus {
+ do {
+ return try await runtime.phase1CompleteAddMediaBackground(
+ input: input.generatedValue
+ ).appValue
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func probeBlossom() async throws -> RadrootsBlossomEvidence {
+ do {
+ return try await runtime.probeBlossom().appValue
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func advanceDraft(id: String, expectedRevision: UInt64) async throws -> RadrootsDraftStatus {
+ do {
+ return try await runtime.phase1AdvanceDraft(
+ draftId: id,
+ expectedRevision: expectedRevision
+ ).appValue
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func cancelAddIntent(
+ id: String,
+ expectedRevision: UInt64
+ ) async throws -> RadrootsDraftStatus {
+ do {
+ return try await runtime.phase1CancelAddIntent(
+ draftId: id,
+ expectedRevision: expectedRevision
+ ).appValue
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ func subscribe(
+ bufferCapacity: Int,
+ receive: @escaping @Sendable (RadrootsRuntimeChange) async -> Void
+ ) async throws -> any RadrootsRuntimeSubscriptionToken {
+ let pair = AsyncStream.makeStream(
+ of: RadrootsRuntimeChange.self,
+ bufferingPolicy: .bufferingNewest(bufferCapacity)
+ )
+ do {
+ let observer = RadrootsGeneratedRuntimeObserver(continuation: pair.continuation)
+ let handle = try runtime.subscribeChanges(observer: observer)
+ let deliveryTask = Task {
+ for await change in pair.stream {
+ guard !Task.isCancelled else { break }
+ await receive(change)
}
+ }
+ return RadrootsGeneratedSubscriptionToken(
+ handle: handle,
+ observer: observer,
+ deliveryTask: deliveryTask
+ )
+ } catch {
+ pair.continuation.finish()
+ throw Self.failure(from: error)
+ }
+ }
+
+ func shutdown() async throws -> RadrootsRuntimeShutdownReceipt {
+ do {
+ let receipt = try await runtime.shutdown()
+ return RadrootsRuntimeShutdownReceipt(
+ state: receipt.state,
+ alreadyClosed: receipt.alreadyClosed
+ )
+ } catch {
+ throw Self.failure(from: error)
+ }
+ }
+
+ static func start(
+ configuration: RadrootsRuntimeLaunchConfiguration
+ ) async throws -> RadrootsRuntimeBackendStart {
+ var createdRuntime: RadrootsRuntime?
+ do {
+ let runtime = try await RadrootsRuntime.withHostSigner(
+ applicationSupportDirectory: configuration.applicationSupportDirectory,
+ publicKeyHex: configuration.publicKeyHex,
+ sourceGenerationHex: configuration.sourceGenerationHex,
+ sourceGenerationCreatedAtUnixMs: configuration.sourceGenerationCreatedAtUnixMilliseconds,
+ protectedData: configuration.protectedData.generatedValue,
+ hostSigner: RadrootsGeneratedHostSigner(signer: configuration.signer)
+ )
+ createdRuntime = runtime
+ runtime.setAppInfoPlatform(
+ platform: "iOS",
+ bundleId: configuration.app.bundleIdentifier,
+ version: configuration.app.version,
+ buildNumber: configuration.app.buildNumber,
+ buildSha: configuration.app.buildSHA
+ )
+
+ switch configuration.networkProfile {
+ case .publicNetwork:
+ try runtime.configurePublicRelays(writableRelays: configuration.writableRelays)
+ case .simulator:
+ try runtime.configureSimulatorRelays(loopbackRelays: configuration.writableRelays)
+ case .device:
+ try runtime.configureDeviceRelays(writableRelays: configuration.writableRelays)
+ }
+ if let blossom = configuration.blossom {
+ try runtime.configureBlossom(
+ hostKind: blossom.hostKind.generatedValue,
+ endpointAuthority: blossom.endpointAuthority.generatedValue,
+ primaryOrigin: blossom.primaryOrigin,
+ fallbackOrigins: blossom.fallbackOrigins
+ )
+ }
+
+ let backend = RadrootsGeneratedRuntimeBackend(runtime: runtime)
+ return try await RadrootsRuntimeBackendStart(
+ backend: backend,
+ snapshot: backend.snapshot()
+ )
+ } catch {
+ if let createdRuntime {
+ _ = try? await createdRuntime.shutdown()
+ }
+ throw Self.failure(from: error)
+ }
+ }
+
+ private static func failure(from error: Error) -> RadrootsRuntimeFailure {
+ if case RadrootsAppError.Failure(let report) = error {
+ return RadrootsRuntimeFailure(
+ schemaVersion: report.schemaVersion,
+ code: report.code,
+ category: report.category,
+ retryable: report.retryable,
+ recoveryActions: report.recoveryActions,
+ operationID: report.operationId,
+ capabilityID: report.capabilityId,
+ safeMessage: report.safeMessage
+ )
+ }
+ if let failure = error as? RadrootsRuntimeFailure {
+ return failure
+ }
+ return .local(
+ operation: "generated.runtime",
+ code: "ios.generated_runtime.unexpected",
+ safeMessage: "The Radroots runtime could not complete the operation."
+ )
+ }
+}
+
+extension RadrootsRuntimeSignerAvailability {
+ fileprivate var generatedValue: SignerAvailabilityRecord {
+ switch self {
+ case .ready: .ready
+ case .busy: .busy
+ case .locked: .locked
+ case .unavailable: .unavailable
}
+ }
+}
- func shutdown() async throws -> RadrootsRuntimeShutdownReceipt {
- do {
- let receipt = try await runtime.shutdown()
- return RadrootsRuntimeShutdownReceipt(
- state: receipt.state,
- alreadyClosed: receipt.alreadyClosed
- )
- } catch {
- throw Self.failure(from: error)
- }
+extension HostSigningPurpose {
+ fileprivate var appValue: RadrootsRuntimeSigningPurpose {
+ switch self {
+ case .nostrEvent: .nostrEvent
+ case .blossomUpload: .blossomUpload
}
+ }
+}
- static func start(
- configuration: RadrootsRuntimeLaunchConfiguration
- ) async throws -> RadrootsRuntimeBackendStart {
- var createdRuntime: RadrootsRuntime?
- do {
- let runtime = try await RadrootsRuntime.withHostSigner(
- applicationSupportDirectory: configuration.applicationSupportDirectory,
- publicKeyHex: configuration.publicKeyHex,
- sourceGenerationHex: configuration.sourceGenerationHex,
- sourceGenerationCreatedAtUnixMs: configuration.sourceGenerationCreatedAtUnixMilliseconds,
- protectedData: configuration.protectedData.generatedValue,
- hostSigner: RadrootsGeneratedHostSigner(signer: configuration.signer)
- )
- createdRuntime = runtime
- runtime.setAppInfoPlatform(
- platform: "iOS",
- bundleId: configuration.app.bundleIdentifier,
- version: configuration.app.version,
- buildNumber: configuration.app.buildNumber,
- buildSha: configuration.app.buildSHA
- )
-
- switch configuration.networkProfile {
- case .publicNetwork:
- try runtime.configurePublicRelays(writableRelays: configuration.writableRelays)
- case .simulator:
- try runtime.configureSimulatorRelays(loopbackRelays: configuration.writableRelays)
- case .device:
- try runtime.configureDeviceRelays(writableRelays: configuration.writableRelays)
- }
- if let blossom = configuration.blossom {
- try runtime.configureBlossom(
- hostKind: blossom.hostKind.generatedValue,
- endpointAuthority: blossom.endpointAuthority.generatedValue,
- primaryOrigin: blossom.primaryOrigin,
- fallbackOrigins: blossom.fallbackOrigins
- )
- }
+extension RadrootsRuntimeSigningOutcome {
+ fileprivate var generatedOutcome: HostSigningOutcome {
+ switch self {
+ case .signed: .signed
+ case .locked: .locked
+ case .cancelled: .cancelled
+ case .rejected: .rejected
+ case .timedOut: .timedOut
+ case .unavailable: .unavailable
+ case .invalidated: .invalidated
+ case .failed: .failed
+ }
+ }
+
+ fileprivate var signatureHex: String? {
+ if case .signed(let signatureHex) = self {
+ return signatureHex
+ }
+ return nil
+ }
+}
- let backend = RadrootsGeneratedRuntimeBackend(runtime: runtime)
- return try await RadrootsRuntimeBackendStart(
- backend: backend,
- snapshot: backend.snapshot()
- )
- } catch {
- if let createdRuntime {
- _ = try? await createdRuntime.shutdown()
- }
- throw Self.failure(from: error)
- }
+extension RadrootsRuntimeClient {
+ static func production() -> RadrootsRuntimeClient {
+ RadrootsRuntimeClient { configuration in
+ try await RadrootsGeneratedRuntimeBackend.start(configuration: configuration)
}
+ }
+}
- private static func failure(from error: Error) -> RadrootsRuntimeFailure {
- if case let RadrootsAppError.Failure(report) = error {
- return RadrootsRuntimeFailure(
- schemaVersion: report.schemaVersion,
- code: report.code,
- category: report.category,
- retryable: report.retryable,
- recoveryActions: report.recoveryActions,
- operationID: report.operationId,
- capabilityID: report.capabilityId,
- safeMessage: report.safeMessage
- )
- }
- if let failure = error as? RadrootsRuntimeFailure {
- return failure
- }
- return .local(
- operation: "generated.runtime",
- code: "ios.generated_runtime.unexpected",
- safeMessage: "The Radroots runtime could not complete the operation."
- )
+extension RadrootsProtectedDataState {
+ fileprivate var generatedValue: ProtectedDataAvailability {
+ switch self {
+ case .available: .available
+ case .unavailable: .unavailable
}
+ }
}
-private extension RadrootsRuntimeSignerAvailability {
- var generatedValue: SignerAvailabilityRecord {
- switch self {
- case .ready: .ready
- case .busy: .busy
- case .locked: .locked
- case .unavailable: .unavailable
- }
+extension RadrootsBlossomHostKind {
+ fileprivate var generatedValue: FfiBlossomHostKind {
+ switch self {
+ case .native: .native
+ case .simulator: .simulator
+ case .physicalDevice: .physicalDevice
}
+ }
}
-private extension HostSigningPurpose {
- var appValue: RadrootsRuntimeSigningPurpose {
- switch self {
- case .nostrEvent: .nostrEvent
- case .blossomUpload: .blossomUpload
- }
+extension RadrootsBlossomEndpointAuthority {
+ fileprivate var generatedValue: FfiBlossomEndpointAuthority {
+ switch self {
+ case .publicWebPKI: .publicWebPki
+ case .loopbackDevelopment: .loopbackDevelopment
+ case .privateNetworkDevelopment: .privateNetworkDevelopment
}
+ }
}
-private extension RadrootsRuntimeSigningOutcome {
- var generatedOutcome: HostSigningOutcome {
- switch self {
- case .signed: .signed
- case .locked: .locked
- case .cancelled: .cancelled
- case .rejected: .rejected
- case .timedOut: .timedOut
- case .unavailable: .unavailable
- case .invalidated: .invalidated
- case .failed: .failed
- }
- }
+extension FfiBlossomConfigurationRecord {
+ fileprivate var appValue: RadrootsBlossomConfigurationStatus {
+ RadrootsBlossomConfigurationStatus(
+ schemaVersion: schemaVersion,
+ hostKind: hostKind,
+ endpointAuthority: endpointAuthority,
+ primaryOrigin: primaryOrigin,
+ fallbackOrigins: fallbackOrigins,
+ configFingerprint: configFingerprint
+ )
+ }
+}
- var signatureHex: String? {
- if case let .signed(signatureHex) = self {
- return signatureHex
- }
- return nil
- }
+extension FfiBlossomEvidenceRecord {
+ fileprivate var appValue: RadrootsBlossomEvidence {
+ RadrootsBlossomEvidence(
+ schemaVersion: schemaVersion,
+ origin: origin,
+ configFingerprint: configFingerprint,
+ state: state,
+ lastSuccessfulState: lastSuccessfulState,
+ transportSecurity: transportSecurity,
+ observedAtUnixMilliseconds: observedAtUnixMs,
+ httpStatus: httpStatus,
+ errorCode: errorCode,
+ serverErrorCode: serverErrorCode,
+ errorPhase: errorPhase,
+ retryable: retryable,
+ possibleOrphan: possibleOrphan,
+ attempts: attempts
+ )
+ }
}
-extension RadrootsRuntimeClient {
- static func production() -> RadrootsRuntimeClient {
- RadrootsRuntimeClient { configuration in
- try await RadrootsGeneratedRuntimeBackend.start(configuration: configuration)
- }
- }
+extension FfiRuntimeChangeKind {
+ fileprivate var appValue: RadrootsRuntimeChangeKind {
+ switch self {
+ case .initial: .initial
+ case .identity: .identity
+ case .settings: .settings
+ case .profile: .profile
+ case .today: .today
+ case .drafts: .drafts
+ case .relay: .relay
+ case .media: .media
+ case .lifecycle: .lifecycle
+ }
+ }
}
-private extension RadrootsProtectedDataState {
- var generatedValue: ProtectedDataAvailability {
- switch self {
- case .available: .available
- case .unavailable: .unavailable
- }
- }
+extension RadrootsLocalNetwork {
+ fileprivate var generatedValue: FfiLocalNetworkRecord {
+ FfiLocalNetworkRecord(
+ schemaVersion: schemaVersion,
+ id: id,
+ label: label,
+ relayUrls: relayURLs,
+ locality: locality,
+ followedAuthors: followedAuthors,
+ generation: generation
+ )
+ }
}
-private extension RadrootsBlossomHostKind {
- var generatedValue: FfiBlossomHostKind {
- switch self {
- case .native: .native
- case .simulator: .simulator
- case .physicalDevice: .physicalDevice
- }
+extension RadrootsTodayProjectionUpdate {
+ fileprivate var generatedValue: FfiTodayProjectionUpdate {
+ switch self {
+ case .incremental: .incremental
+ case .rebuild: .rebuild
}
+ }
}
-private extension RadrootsBlossomEndpointAuthority {
- var generatedValue: FfiBlossomEndpointAuthority {
- switch self {
- case .publicWebPKI: .publicWebPki
- case .loopbackDevelopment: .loopbackDevelopment
- case .privateNetworkDevelopment: .privateNetworkDevelopment
- }
- }
+extension FfiTodayRefreshRecord {
+ fileprivate var appValue: RadrootsTodayRefreshReceipt {
+ RadrootsTodayRefreshReceipt(
+ update: update.appValue,
+ sourceEvents: sourceEvents,
+ visibleCards: visibleCards,
+ profiles: profiles,
+ threadEntries: threadEntries,
+ contentGeneration: contentGeneration,
+ changed: changed
+ )
+ }
}
-private extension FfiBlossomConfigurationRecord {
- var appValue: RadrootsBlossomConfigurationStatus {
- RadrootsBlossomConfigurationStatus(
- schemaVersion: schemaVersion,
- hostKind: hostKind,
- endpointAuthority: endpointAuthority,
- primaryOrigin: primaryOrigin,
- fallbackOrigins: fallbackOrigins,
- configFingerprint: configFingerprint
- )
+extension FfiTodayProjectionUpdate {
+ fileprivate var appValue: RadrootsTodayProjectionUpdate {
+ switch self {
+ case .incremental: .incremental
+ case .rebuild: .rebuild
}
+ }
}
-private extension FfiBlossomEvidenceRecord {
- var appValue: RadrootsBlossomEvidence {
- RadrootsBlossomEvidence(
- schemaVersion: schemaVersion,
- origin: origin,
- configFingerprint: configFingerprint,
- state: state,
- lastSuccessfulState: lastSuccessfulState,
- transportSecurity: transportSecurity,
- observedAtUnixMilliseconds: observedAtUnixMs,
- httpStatus: httpStatus,
- errorCode: errorCode,
- serverErrorCode: serverErrorCode,
- errorPhase: errorPhase,
- retryable: retryable,
- possibleOrphan: possibleOrphan,
- attempts: attempts
- )
- }
+extension FfiTodayPageRecord {
+ fileprivate var appValue: RadrootsTodayPage {
+ RadrootsTodayPage(
+ asOfUnixSeconds: asOfUnixS,
+ items: items.map(\.appValue),
+ nextCursor: nextCursor
+ )
+ }
}
-private extension FfiRuntimeChangeKind {
- var appValue: RadrootsRuntimeChangeKind {
- switch self {
- case .initial: .initial
- case .identity: .identity
- case .settings: .settings
- case .profile: .profile
- case .today: .today
- case .drafts: .drafts
- case .relay: .relay
- case .media: .media
- case .lifecycle: .lifecycle
- }
- }
+extension FfiTodayCardRecord {
+ fileprivate var appValue: RadrootsTodayCard {
+ RadrootsTodayCard(
+ id: cardId,
+ type: cardType.appValue,
+ sourceEventID: sourceEventId,
+ sourceAddress: sourceAddress,
+ authorPublicKey: authorPublicKey,
+ contractID: contractId,
+ title: title,
+ content: content,
+ authoredAtUnixSeconds: authoredAtUnixS,
+ effectiveAtUnixSeconds: effectiveAtUnixS,
+ eventStartUnixSeconds: eventStartUnixS,
+ eventEndUnixSeconds: eventEndUnixS,
+ location: location,
+ priceAmount: priceAmount,
+ priceCurrency: priceCurrency,
+ priceUnit: priceUnit,
+ quantity: quantity,
+ foodSummary: foodSummary,
+ foodPublishedAtUnixSeconds: foodPublishedAtUnixS,
+ foodStatus: foodStatus,
+ contextRank: contextRank,
+ inclusionReason: inclusionReason,
+ media: media.map(\.appValue),
+ lifecycle: lifecycle.appValue,
+ rankDigest: rankDigest,
+ authorProfile: authorProfile?.appValue,
+ thread: thread.map(\.appValue),
+ localOperationID: localOperationId,
+ localOperationState: localOperationState
+ )
+ }
}
-private extension RadrootsLocalNetwork {
- var generatedValue: FfiLocalNetworkRecord {
- FfiLocalNetworkRecord(
- schemaVersion: schemaVersion,
- id: id,
- label: label,
- relayUrls: relayURLs,
- locality: locality,
- followedAuthors: followedAuthors,
- generation: generation
- )
+extension FfiTodayCardType {
+ fileprivate var appValue: RadrootsTodayCardType {
+ switch self {
+ case .update: .update
+ case .photoUpdate: .photoUpdate
+ case .ask: .ask
+ case .event: .event
+ case .foodAvailability: .foodAvailability
}
+ }
}
-private extension RadrootsTodayProjectionUpdate {
- var generatedValue: FfiTodayProjectionUpdate {
- switch self {
- case .incremental: .incremental
- case .rebuild: .rebuild
- }
- }
+extension FfiMediaReferenceRecord {
+ fileprivate var appValue: RadrootsMediaReference {
+ RadrootsMediaReference(
+ url: url,
+ sha256: sha256,
+ mediaType: mediaType,
+ width: width,
+ height: height,
+ byteSize: byteSize,
+ alt: alt,
+ verification: verification.appValue
+ )
+ }
}
-private extension FfiTodayRefreshRecord {
- var appValue: RadrootsTodayRefreshReceipt {
- RadrootsTodayRefreshReceipt(
- update: update.appValue,
- sourceEvents: sourceEvents,
- visibleCards: visibleCards,
- profiles: profiles,
- threadEntries: threadEntries,
- contentGeneration: contentGeneration,
- changed: changed
- )
+extension FfiMediaVerificationState {
+ fileprivate var appValue: RadrootsMediaVerificationState {
+ switch self {
+ case .pending: .pending
+ case .verified: .verified
+ case .failed: .failed
+ case .unavailable: .unavailable
}
+ }
}
-private extension FfiTodayProjectionUpdate {
- var appValue: RadrootsTodayProjectionUpdate {
- switch self {
- case .incremental: .incremental
- case .rebuild: .rebuild
- }
- }
+extension FfiProfileRecord {
+ fileprivate var appValue: RadrootsProfileSummary {
+ RadrootsProfileSummary(
+ authorPublicKey: authorPublicKey,
+ name: name,
+ displayName: displayName,
+ about: about,
+ picture: picture?.appValue,
+ banner: banner?.appValue,
+ nip05: nip05,
+ website: website,
+ lightningAddress: lightningAddress
+ )
+ }
}
-private extension FfiTodayPageRecord {
- var appValue: RadrootsTodayPage {
- RadrootsTodayPage(
- asOfUnixSeconds: asOfUnixS,
- items: items.map(\.appValue),
- nextCursor: nextCursor
- )
- }
+extension FfiSearchResultRecord {
+ fileprivate var appValue: RadrootsSearchResult {
+ RadrootsSearchResult(
+ type: resultType.appValue,
+ id: stableId,
+ card: card?.appValue,
+ profile: profile?.appValue
+ )
+ }
}
-private extension FfiTodayCardRecord {
- var appValue: RadrootsTodayCard {
- RadrootsTodayCard(
- id: cardId,
- type: cardType.appValue,
- sourceEventID: sourceEventId,
- sourceAddress: sourceAddress,
- authorPublicKey: authorPublicKey,
- contractID: contractId,
- title: title,
- content: content,
- authoredAtUnixSeconds: authoredAtUnixS,
- effectiveAtUnixSeconds: effectiveAtUnixS,
- eventStartUnixSeconds: eventStartUnixS,
- eventEndUnixSeconds: eventEndUnixS,
- location: location,
- priceAmount: priceAmount,
- priceCurrency: priceCurrency,
- priceUnit: priceUnit,
- quantity: quantity,
- foodSummary: foodSummary,
- foodPublishedAtUnixSeconds: foodPublishedAtUnixS,
- foodStatus: foodStatus,
- contextRank: contextRank,
- inclusionReason: inclusionReason,
- media: media.map(\.appValue),
- lifecycle: lifecycle.appValue,
- rankDigest: rankDigest,
- authorProfile: authorProfile?.appValue,
- thread: thread.map(\.appValue),
- localOperationID: localOperationId,
- localOperationState: localOperationState
- )
+extension FfiSearchResultType {
+ fileprivate var appValue: RadrootsSearchResultType {
+ switch self {
+ case .card: .card
+ case .profile: .profile
}
+ }
}
-private extension FfiTodayCardType {
- var appValue: RadrootsTodayCardType {
- switch self {
- case .update: .update
- case .photoUpdate: .photoUpdate
- case .ask: .ask
- case .event: .event
- case .foodAvailability: .foodAvailability
- }
- }
+extension FfiMeRecord {
+ fileprivate var appValue: RadrootsMeSnapshot {
+ RadrootsMeSnapshot(
+ publicKey: publicKey,
+ profile: profile?.appValue,
+ cards: cards.map(\.appValue)
+ )
+ }
}
-private extension FfiMediaReferenceRecord {
- var appValue: RadrootsMediaReference {
- RadrootsMediaReference(
- url: url,
- sha256: sha256,
- mediaType: mediaType,
- width: width,
- height: height,
- byteSize: byteSize,
- alt: alt,
- verification: verification.appValue
- )
- }
+extension FfiThreadEntryRecord {
+ fileprivate var appValue: RadrootsThreadEntry {
+ RadrootsThreadEntry(
+ id: eventId,
+ authorPublicKey: authorPublicKey,
+ content: content,
+ authoredAtUnixSeconds: authoredAtUnixS,
+ type: profile.appValue,
+ root: root,
+ parentEventID: parentEventId,
+ authorProfile: authorProfile?.appValue
+ )
+ }
}
-private extension FfiMediaVerificationState {
- var appValue: RadrootsMediaVerificationState {
- switch self {
- case .pending: .pending
- case .verified: .verified
- case .failed: .failed
- case .unavailable: .unavailable
- }
+extension FfiThreadProfile {
+ fileprivate var appValue: RadrootsThreadEntryType {
+ switch self {
+ case .profile: .profile
+ case .reply: .reply
+ case .comment: .comment
+ case .deletion: .deletion
}
+ }
}
-private extension FfiProfileRecord {
- var appValue: RadrootsProfileSummary {
- RadrootsProfileSummary(
- authorPublicKey: authorPublicKey,
- name: name,
- displayName: displayName,
- about: about,
- picture: picture?.appValue,
- banner: banner?.appValue,
- nip05: nip05,
- website: website,
- lightningAddress: lightningAddress
- )
+extension FfiCardLifecycleState {
+ fileprivate var appValue: RadrootsCardLifecycleState {
+ switch self {
+ case .active: .active
+ case .sold: .sold
+ case .past: .past
}
+ }
}
-private extension FfiSearchResultRecord {
- var appValue: RadrootsSearchResult {
- RadrootsSearchResult(
- type: resultType.appValue,
- id: stableId,
- card: card?.appValue,
- profile: profile?.appValue
- )
- }
+extension FfiAddSchemaRecord {
+ fileprivate var appValue: RadrootsAddSchema {
+ RadrootsAddSchema(
+ schemaVersion: schemaVersion,
+ commandType: commandType.appValue,
+ label: label,
+ fields: fields.map(\.appValue)
+ )
+ }
}
-private extension FfiSearchResultType {
- var appValue: RadrootsSearchResultType {
- switch self {
- case .card: .card
- case .profile: .profile
- }
- }
+extension FfiAddFieldRecord {
+ fileprivate var appValue: RadrootsAddField {
+ RadrootsAddField(
+ schemaVersion: schemaVersion,
+ id: id,
+ label: label,
+ kind: kind.appValue,
+ required: required,
+ choices: choices,
+ maxBytes: maxBytes,
+ maxItems: maxItems
+ )
+ }
}
-private extension FfiMeRecord {
- var appValue: RadrootsMeSnapshot {
- RadrootsMeSnapshot(
- publicKey: publicKey,
- profile: profile?.appValue,
- cards: cards.map(\.appValue)
- )
- }
+extension FfiAddFieldKind {
+ fileprivate var appValue: RadrootsAddFieldKind {
+ switch self {
+ case .text: .text
+ case .multilineText: .multilineText
+ case .date: .date
+ case .dateTime: .dateTime
+ case .decimal: .decimal
+ case .choice: .choice
+ case .location: .location
+ case .media: .media
+ }
+ }
}
-private extension FfiThreadEntryRecord {
- var appValue: RadrootsThreadEntry {
- RadrootsThreadEntry(
- id: eventId,
- authorPublicKey: authorPublicKey,
- content: content,
- authoredAtUnixSeconds: authoredAtUnixS,
- type: profile.appValue,
- root: root,
- parentEventID: parentEventId,
- authorProfile: authorProfile?.appValue
- )
+extension FfiAddCommandType {
+ fileprivate var appValue: RadrootsAddCommandType {
+ switch self {
+ case .createUpdate: .createUpdate
+ case .createPhotoUpdate: .createPhotoUpdate
+ case .createAsk: .createAsk
+ case .createEvent: .createEvent
+ case .createFoodAvailability: .createFoodAvailability
}
+ }
}
-private extension FfiThreadProfile {
- var appValue: RadrootsThreadEntryType {
- switch self {
- case .profile: .profile
- case .reply: .reply
- case .comment: .comment
- case .deletion: .deletion
- }
+extension RadrootsAddCommandType {
+ fileprivate var generatedValue: FfiAddCommandType {
+ switch self {
+ case .createUpdate: .createUpdate
+ case .createPhotoUpdate: .createPhotoUpdate
+ case .createAsk: .createAsk
+ case .createEvent: .createEvent
+ case .createFoodAvailability: .createFoodAvailability
}
+ }
}
-private extension FfiCardLifecycleState {
- var appValue: RadrootsCardLifecycleState {
- switch self {
- case .active: .active
- case .sold: .sold
- case .past: .past
- }
+extension FfiEventTimingKind {
+ fileprivate var appValue: RadrootsEventTiming {
+ switch self {
+ case .allDay: .allDay
+ case .timed: .timed
}
+ }
}
-private extension FfiAddSchemaRecord {
- var appValue: RadrootsAddSchema {
- RadrootsAddSchema(
- schemaVersion: schemaVersion,
- commandType: commandType.appValue,
- label: label,
- fields: fields.map(\.appValue)
- )
+extension RadrootsEventTiming {
+ fileprivate var generatedValue: FfiEventTimingKind {
+ switch self {
+ case .allDay: .allDay
+ case .timed: .timed
}
+ }
}
-private extension FfiAddFieldRecord {
- var appValue: RadrootsAddField {
- RadrootsAddField(
- schemaVersion: schemaVersion,
- id: id,
- label: label,
- kind: kind.appValue,
- required: required,
- choices: choices,
- maxBytes: maxBytes
- )
- }
+extension RadrootsAddRuntimeInput {
+ fileprivate var generatedValue: FfiAddDraftInput {
+ FfiAddDraftInput(
+ schemaVersion: 1,
+ commandType: form.commandType.generatedValue,
+ content: form.content,
+ identifier: form.identifier,
+ title: form.title,
+ summary: form.summary,
+ location: form.location,
+ eventTiming: form.eventTiming?.generatedValue,
+ eventStartDate: form.eventStartDate,
+ eventEndDate: form.eventEndDate,
+ eventStartUnixS: form.eventStartUnixSeconds,
+ eventEndUnixS: form.eventEndUnixSeconds,
+ eventTimezone: form.eventTimezone,
+ priceAmount: form.priceAmount,
+ currency: form.currency,
+ unit: form.unit,
+ quantity: form.quantity,
+ foodPublishedAtUnixS: form.foodPublishedAtUnixSeconds,
+ foodStatus: form.foodStatus,
+ media: media.map(\.generatedValue)
+ )
+ }
}
-private extension FfiAddFieldKind {
- var appValue: RadrootsAddFieldKind {
- switch self {
- case .text: .text
- case .multilineText: .multilineText
- case .date: .date
- case .dateTime: .dateTime
- case .decimal: .decimal
- case .choice: .choice
- case .location: .location
- case .media: .media
- }
- }
+extension RadrootsPreparedMediaHandle {
+ fileprivate var generatedValue: FfiPreparedMediaInput {
+ FfiPreparedMediaInput(
+ schemaVersion: 1,
+ opaqueReference: media.opaqueReference,
+ fileDescriptor: fileDescriptor,
+ sha256: media.sha256,
+ mediaType: media.mediaType,
+ byteSize: media.byteSize,
+ width: media.width,
+ height: media.height,
+ alt: media.alt,
+ preparedAtUnixS: media.preparedAtUnixSeconds
+ )
+ }
}
-private extension FfiAddCommandType {
- var appValue: RadrootsAddCommandType {
- switch self {
- case .createUpdate: .createUpdate
- case .createPhotoUpdate: .createPhotoUpdate
- case .createAsk: .createAsk
- case .createEvent: .createEvent
- case .createFoodAvailability: .createFoodAvailability
- }
- }
+extension FfiDraftFormMediaRecord {
+ fileprivate var appValue: RadrootsPreparedMedia {
+ RadrootsPreparedMedia(
+ opaqueReference: opaqueReference,
+ remoteURL: url,
+ sha256: sha256,
+ mediaType: mediaType,
+ byteSize: byteSize,
+ width: width,
+ height: height,
+ alt: alt,
+ preparedAtUnixSeconds: preparedAtUnixS
+ )
+ }
}
-private extension RadrootsAddCommandType {
- var generatedValue: FfiAddCommandType {
- switch self {
- case .createUpdate: .createUpdate
- case .createPhotoUpdate: .createPhotoUpdate
- case .createAsk: .createAsk
- case .createEvent: .createEvent
- case .createFoodAvailability: .createFoodAvailability
- }
- }
+extension FfiDraftFormRecord {
+ fileprivate var appValue: RadrootsAddForm {
+ RadrootsAddForm(
+ commandType: commandType.appValue,
+ content: content,
+ identifier: identifier,
+ title: title,
+ summary: summary,
+ location: location,
+ eventTiming: eventTiming?.appValue,
+ eventStartDate: eventStartDate,
+ eventEndDate: eventEndDate,
+ eventStartUnixSeconds: eventStartUnixS,
+ eventEndUnixSeconds: eventEndUnixS,
+ eventTimezone: eventTimezone,
+ priceAmount: priceAmount,
+ currency: currency,
+ unit: unit,
+ quantity: quantity,
+ foodPublishedAtUnixSeconds: foodPublishedAtUnixS,
+ foodStatus: foodStatus,
+ media: media.map(\.appValue)
+ )
+ }
}
-private extension FfiEventTimingKind {
- var appValue: RadrootsEventTiming {
- switch self {
- case .allDay: .allDay
- case .timed: .timed
- }
- }
+extension FfiDraftStatusRecord {
+ fileprivate var appValue: RadrootsDraftStatus {
+ RadrootsDraftStatus(
+ id: draftId,
+ revision: revision,
+ authorPublicKey: authorPublicKey,
+ kind: kind.appValue,
+ commandType: commandType.appValue,
+ form: form?.appValue,
+ state: state.appValue,
+ cardID: cardId,
+ operationID: operationId,
+ createdAtUnixMilliseconds: createdAtUnixMs,
+ updatedAtUnixMilliseconds: updatedAtUnixMs,
+ media: media.map(\.appValue),
+ settlement: settlement?.appValue,
+ isRevision: isRevision
+ )
+ }
}
-private extension RadrootsEventTiming {
- var generatedValue: FfiEventTimingKind {
- switch self {
- case .allDay: .allDay
- case .timed: .timed
- }
- }
+extension FfiRevisionStatusRecord {
+ fileprivate var appValue: RadrootsRevisionStatus {
+ RadrootsRevisionStatus(
+ operationID: operationId,
+ replacement: replacement.appValue,
+ retraction: retraction?.appValue,
+ policy: policy.appValue,
+ phase: phase.appValue
+ )
+ }
}
-private extension RadrootsAddRuntimeInput {
- var generatedValue: FfiAddDraftInput {
- FfiAddDraftInput(
- schemaVersion: 1,
- commandType: form.commandType.generatedValue,
- content: form.content,
- identifier: form.identifier,
- title: form.title,
- summary: form.summary,
- location: form.location,
- eventTiming: form.eventTiming?.generatedValue,
- eventStartDate: form.eventStartDate,
- eventEndDate: form.eventEndDate,
- eventStartUnixS: form.eventStartUnixSeconds,
- eventEndUnixS: form.eventEndUnixSeconds,
- eventTimezone: form.eventTimezone,
- priceAmount: form.priceAmount,
- currency: form.currency,
- unit: form.unit,
- quantity: form.quantity,
- foodPublishedAtUnixS: form.foodPublishedAtUnixSeconds,
- foodStatus: form.foodStatus,
- media: media.map(\.generatedValue)
- )
+extension FfiRevisionPolicy {
+ fileprivate var appValue: RadrootsRevisionPolicy {
+ switch self {
+ case .replaceThenRetract: .replaceThenRetract
+ case .addressableReplacement: .addressableReplacement
}
+ }
}
-private extension RadrootsPreparedMediaHandle {
- var generatedValue: FfiPreparedMediaInput {
- FfiPreparedMediaInput(
- schemaVersion: 1,
- opaqueReference: media.opaqueReference,
- fileDescriptor: fileDescriptor,
- sha256: media.sha256,
- mediaType: media.mediaType,
- byteSize: media.byteSize,
- width: media.width,
- height: media.height,
- alt: media.alt,
- preparedAtUnixS: media.preparedAtUnixSeconds
- )
- }
+extension FfiRevisionPhase {
+ fileprivate var appValue: RadrootsRevisionPhase {
+ switch self {
+ case .replacementPending: .replacementPending
+ case .replacementFailed: .replacementFailed
+ case .retractionPending: .retractionPending
+ case .complete: .complete
+ case .partialEffect: .partialEffect
+ case .cancelled: .cancelled
+ }
+ }
}
-private extension FfiDraftFormMediaRecord {
- var appValue: RadrootsPreparedMedia {
- RadrootsPreparedMedia(
- opaqueReference: opaqueReference,
- remoteURL: url,
- sha256: sha256,
- mediaType: mediaType,
- byteSize: byteSize,
- width: width,
- height: height,
- alt: alt,
- preparedAtUnixSeconds: preparedAtUnixS
- )
+extension FfiRelayAccessRecord {
+ fileprivate var appValue: RadrootsRelayAccess {
+ switch self {
+ case .readOnly: .readOnly
+ case .readWrite: .readWrite
}
+ }
}
-private extension FfiDraftFormRecord {
- var appValue: RadrootsAddForm {
- RadrootsAddForm(
- commandType: commandType.appValue,
- content: content,
- identifier: identifier,
- title: title,
- summary: summary,
- location: location,
- eventTiming: eventTiming?.appValue,
- eventStartDate: eventStartDate,
- eventEndDate: eventEndDate,
- eventStartUnixSeconds: eventStartUnixS,
- eventEndUnixSeconds: eventEndUnixS,
- eventTimezone: eventTimezone,
- priceAmount: priceAmount,
- currency: currency,
- unit: unit,
- quantity: quantity,
- foodPublishedAtUnixSeconds: foodPublishedAtUnixS,
- foodStatus: foodStatus,
- media: media.map(\.appValue)
- )
+extension FfiDraftKind {
+ fileprivate var appValue: RadrootsDraftKind {
+ switch self {
+ case .add: .add
+ case .retraction: .retraction
}
+ }
}
-private extension FfiDraftStatusRecord {
- var appValue: RadrootsDraftStatus {
- RadrootsDraftStatus(
- id: draftId,
- revision: revision,
- authorPublicKey: authorPublicKey,
- kind: kind.appValue,
- commandType: commandType.appValue,
- form: form?.appValue,
- state: state.appValue,
- cardID: cardId,
- operationID: operationId,
- createdAtUnixMilliseconds: createdAtUnixMs,
- updatedAtUnixMilliseconds: updatedAtUnixMs,
- media: media.map(\.appValue),
- settlement: settlement?.appValue
- )
- }
+extension FfiOutboxState {
+ fileprivate var appValue: RadrootsOutboxState {
+ switch self {
+ case .draft: .draft
+ case .mediaPreparing: .mediaPreparing
+ case .mediaUploading: .mediaUploading
+ case .readyToSign: .readyToSign
+ case .signing: .signing
+ case .signed: .signed
+ case .queued: .queued
+ case .delivering: .delivering
+ case .partiallyDelivered: .partiallyDelivered
+ case .retryable: .retryable
+ case .terminal: .terminal
+ case .cancelled: .cancelled
+ case .complete: .complete
+ }
+ }
}
-private extension FfiDraftKind {
- var appValue: RadrootsDraftKind {
- switch self {
- case .add: .add
- case .retraction: .retraction
- }
- }
+extension FfiDraftMediaRecord {
+ fileprivate var appValue: RadrootsDraftMediaStatus {
+ RadrootsDraftMediaStatus(
+ url: url,
+ stage: stage.appValue,
+ uploadAttempts: uploadAttempts,
+ verifiedAtUnixMilliseconds: verifiedAtUnixMs,
+ possibleOrphan: possibleOrphan,
+ orphanReasonCode: orphanReasonCode,
+ orphanRecordedAtUnixMilliseconds: orphanRecordedAtUnixMs
+ )
+ }
}
-private extension FfiOutboxState {
- var appValue: RadrootsOutboxState {
- switch self {
- case .draft: .draft
- case .mediaPreparing: .mediaPreparing
- case .mediaUploading: .mediaUploading
- case .readyToSign: .readyToSign
- case .signing: .signing
- case .signed: .signed
- case .queued: .queued
- case .delivering: .delivering
- case .partiallyDelivered: .partiallyDelivered
- case .retryable: .retryable
- case .terminal: .terminal
- case .cancelled: .cancelled
- case .complete: .complete
- }
- }
+extension FfiMediaStage {
+ fileprivate var appValue: RadrootsDraftMediaStage {
+ switch self {
+ case .pending: .pending
+ case .preparing: .preparing
+ case .uploading: .uploading
+ case .verified: .verified
+ case .failed: .failed
+ case .orphaned: .orphaned
+ }
+ }
}
-private extension FfiDraftMediaRecord {
- var appValue: RadrootsDraftMediaStatus {
- RadrootsDraftMediaStatus(
- url: url,
- stage: stage.appValue,
- uploadAttempts: uploadAttempts,
- verifiedAtUnixMilliseconds: verifiedAtUnixMs,
- possibleOrphan: possibleOrphan,
- orphanReasonCode: orphanReasonCode,
- orphanRecordedAtUnixMilliseconds: orphanRecordedAtUnixMs
- )
- }
+extension FfiOperationSettlementRecord {
+ fileprivate var appValue: RadrootsOperationSettlement {
+ RadrootsOperationSettlement(
+ artifacts: artifacts,
+ signed: signed,
+ admitted: admitted,
+ pending: pending,
+ retryable: retryable,
+ indeterminate: indeterminate,
+ failedTerminal: failedTerminal,
+ cancelled: cancelled,
+ deliveryPlans: deliveryPlans,
+ deliverySatisfied: deliverySatisfied,
+ deliveryPending: deliveryPending,
+ deliveryRetryable: deliveryRetryable,
+ deliveryExhausted: deliveryExhausted,
+ deliveryFailedTerminal: deliveryFailedTerminal,
+ deliveryCancelled: deliveryCancelled
+ )
+ }
}
-private extension FfiMediaStage {
- var appValue: RadrootsDraftMediaStage {
- switch self {
- case .pending: .pending
- case .preparing: .preparing
- case .uploading: .uploading
- case .verified: .verified
- case .failed: .failed
- case .orphaned: .orphaned
- }
- }
+extension RadrootsRetractionDraftInput {
+ fileprivate var generatedValue: FfiRetractionDraftInput {
+ FfiRetractionDraftInput(
+ schemaVersion: 1,
+ commandType: commandType.generatedValue,
+ targetCardId: targetCardID,
+ targetEventId: targetEventID,
+ targetKind: targetKind,
+ targetAddress: targetAddress,
+ reason: reason
+ )
+ }
}
-private extension FfiOperationSettlementRecord {
- var appValue: RadrootsOperationSettlement {
- RadrootsOperationSettlement(
- artifacts: artifacts,
- signed: signed,
- admitted: admitted,
- pending: pending,
- retryable: retryable,
- indeterminate: indeterminate,
- failedTerminal: failedTerminal,
- cancelled: cancelled,
- deliveryPlans: deliveryPlans,
- deliverySatisfied: deliverySatisfied,
- deliveryPending: deliveryPending,
- deliveryRetryable: deliveryRetryable,
- deliveryExhausted: deliveryExhausted,
- deliveryFailedTerminal: deliveryFailedTerminal,
- deliveryCancelled: deliveryCancelled
- )
- }
+extension RadrootsBlossomUploadIntent {
+ fileprivate var generatedValue: FfiBlossomUploadIntent {
+ FfiBlossomUploadIntent(
+ schemaVersion: 1,
+ draftId: draftID,
+ expectedRevision: expectedRevision,
+ media: media.generatedValue
+ )
+ }
}
-private extension RadrootsRetractionDraftInput {
- var generatedValue: FfiRetractionDraftInput {
- FfiRetractionDraftInput(
- schemaVersion: 1,
- commandType: commandType.generatedValue,
- targetCardId: targetCardID,
- targetEventId: targetEventID,
- targetKind: targetKind,
- targetAddress: targetAddress,
- reason: reason
- )
- }
+extension FfiNativeUploadJobRecord {
+ fileprivate var appValue: RadrootsNativeUploadJob {
+ RadrootsNativeUploadJob(
+ operationID: operationId,
+ draft: draft.appValue,
+ remoteURL: remoteUrl,
+ authorizationHeader: authorizationHeader,
+ expectedSHA256: expectedSha256,
+ mediaType: mediaType,
+ byteSize: byteSize
+ )
+ }
}
-private extension RadrootsBlossomUploadIntent {
- var generatedValue: FfiBlossomUploadIntent {
- FfiBlossomUploadIntent(
- schemaVersion: 1,
- draftId: draftID,
- expectedRevision: expectedRevision,
- media: media.generatedValue
- )
- }
+extension RadrootsNativeUploadCompletion {
+ fileprivate var generatedValue: FfiNativeUploadCompletionInput {
+ FfiNativeUploadCompletionInput(
+ schemaVersion: 1,
+ draftId: draftID,
+ expectedRevision: expectedRevision,
+ media: media.generatedValue,
+ statusCode: statusCode,
+ responseMediaType: responseMediaType,
+ responseContentEncoding: responseContentEncoding,
+ responseBody: responseBody
+ )
+ }
}
diff --git a/Radroots/Runtime/RadrootsLifecycleCoordinator.swift b/Radroots/Runtime/RadrootsLifecycleCoordinator.swift
@@ -3,390 +3,413 @@ import Foundation
import RadrootsKit
final class RadrootsCompletionOnce: @unchecked Sendable {
- private let lock = NSLock()
- private var completion: (() -> Void)?
-
- init(_ completion: @escaping () -> Void) {
- self.completion = completion
- }
-
- func complete() {
- let action = lock.withLock {
- let action = completion
- completion = nil
- return action
- }
- action?()
+ private let lock = NSLock()
+ private var completion: (() -> Void)?
+
+ init(_ completion: @escaping () -> Void) {
+ self.completion = completion
+ }
+
+ func complete() {
+ let action = lock.withLock {
+ let action = completion
+ completion = nil
+ return action
}
+ action?()
+ }
}
actor RadrootsBackgroundEventRouter {
- typealias Handler = @Sendable (
- _ identifier: String,
- _ completion: @escaping @Sendable () -> Void
+ typealias Handler =
+ @Sendable (
+ _ identifier: String,
+ _ completion: @escaping @Sendable () -> Void
) async -> Void
- static let shared = RadrootsBackgroundEventRouter()
- private static let maximumPendingEvents = 8
- private static let pendingTimeoutNanoseconds: UInt64 = 15_000_000_000
-
- private struct PendingEvent: Sendable {
- let token: UUID
- let identifier: String
- let completion: RadrootsCompletionOnce
- let timeout: Task<Void, Never>
+ static let shared = RadrootsBackgroundEventRouter()
+ private static let maximumPendingEvents = 8
+ private static let pendingTimeoutNanoseconds: UInt64 = 15_000_000_000
+
+ private struct PendingEvent: Sendable {
+ let token: UUID
+ let identifier: String
+ let completion: RadrootsCompletionOnce
+ let timeout: Task<Void, Never>
+ }
+
+ private var expectedIdentifier: String?
+ private var handler: Handler?
+ private var pending: [PendingEvent] = []
+
+ func attach(identifier: String, handler: @escaping Handler) async {
+ expectedIdentifier = identifier
+ self.handler = handler
+ let events = pending
+ pending.removeAll(keepingCapacity: true)
+ for event in events {
+ event.timeout.cancel()
+ guard event.identifier == identifier else {
+ event.completion.complete()
+ continue
+ }
+ await handler(event.identifier) {
+ event.completion.complete()
+ }
}
+ }
- private var expectedIdentifier: String?
- private var handler: Handler?
- private var pending: [PendingEvent] = []
-
- func attach(identifier: String, handler: @escaping Handler) async {
- expectedIdentifier = identifier
- self.handler = handler
- let events = pending
- pending.removeAll(keepingCapacity: true)
- for event in events {
- event.timeout.cancel()
- guard event.identifier == identifier else {
- event.completion.complete()
- continue
- }
- await handler(event.identifier) {
- event.completion.complete()
- }
- }
+ func handle(identifier: String, completion: RadrootsCompletionOnce) async {
+ if let expectedIdentifier, identifier != expectedIdentifier {
+ completion.complete()
+ return
}
-
- func handle(identifier: String, completion: RadrootsCompletionOnce) async {
- if let expectedIdentifier, identifier != expectedIdentifier {
- completion.complete()
- return
- }
- if let handler {
- await handler(identifier) {
- completion.complete()
- }
- return
- }
-
- while pending.count >= Self.maximumPendingEvents {
- let oldest = pending.removeFirst()
- oldest.timeout.cancel()
- oldest.completion.complete()
- }
- let token = UUID()
- let timeout = Task { [weak self] in
- do {
- try await Task.sleep(nanoseconds: Self.pendingTimeoutNanoseconds)
- } catch {
- return
- }
- await self?.expire(token: token)
- }
- pending.append(
- PendingEvent(
- token: token,
- identifier: identifier,
- completion: completion,
- timeout: timeout
- )
- )
+ if let handler {
+ await handler(identifier) {
+ completion.complete()
+ }
+ return
}
- func detachAndCompletePending() {
- handler = nil
- expectedIdentifier = nil
- let events = pending
- pending.removeAll()
- for event in events {
- event.timeout.cancel()
- event.completion.complete()
- }
+ while pending.count >= Self.maximumPendingEvents {
+ let oldest = pending.removeFirst()
+ oldest.timeout.cancel()
+ oldest.completion.complete()
}
-
- private func expire(token: UUID) {
- guard let index = pending.firstIndex(where: { $0.token == token }) else { return }
- let event = pending.remove(at: index)
- event.completion.complete()
+ let token = UUID()
+ let timeout = Task { [weak self] in
+ do {
+ try await Task.sleep(nanoseconds: Self.pendingTimeoutNanoseconds)
+ } catch {
+ return
+ }
+ await self?.expire(token: token)
}
+ pending.append(
+ PendingEvent(
+ token: token,
+ identifier: identifier,
+ completion: completion,
+ timeout: timeout
+ )
+ )
+ }
+
+ func detachAndCompletePending() {
+ handler = nil
+ expectedIdentifier = nil
+ let events = pending
+ pending.removeAll()
+ for event in events {
+ event.timeout.cancel()
+ event.completion.complete()
+ }
+ }
+
+ private func expire(token: UUID) {
+ guard let index = pending.firstIndex(where: { $0.token == token }) else { return }
+ let event = pending.remove(at: index)
+ event.completion.complete()
+ }
}
actor RadrootsLifecycleBridge {
- static let shared = RadrootsLifecycleBridge()
+ static let shared = RadrootsLifecycleBridge()
- private var shutdown: (@Sendable () async -> Void)?
+ private var shutdown: (@Sendable () async -> Void)?
- func register(shutdown: @escaping @Sendable () async -> Void) {
- self.shutdown = shutdown
- }
+ func register(shutdown: @escaping @Sendable () async -> Void) {
+ self.shutdown = shutdown
+ }
- func requestShutdown() async {
- let action = shutdown
- shutdown = nil
- await action?()
- await RadrootsBackgroundEventRouter.shared.detachAndCompletePending()
- }
+ func requestShutdown() async {
+ let action = shutdown
+ shutdown = nil
+ await action?()
+ await RadrootsBackgroundEventRouter.shared.detachAndCompletePending()
+ }
}
struct RadrootsDiagnosticRecord: Codable, Sendable, Equatable {
- let name: String
- let category: String
- let level: String
- let fields: [String: String]
- let occurredAtUnixMilliseconds: Int64
+ let name: String
+ let category: String
+ let level: String
+ let fields: [String: String]
+ let occurredAtUnixMilliseconds: Int64
}
actor RadrootsDiagnosticsBuffer: RadrootsTelemetry {
- private let capacity: Int
- private let policy = RadrootsTelemetryRedactionPolicy.default
- private var events: [RadrootsTelemetryEvent] = []
-
- init(capacity: Int = 128) {
- self.capacity = min(max(capacity, 16), 256)
- }
-
- func record(_ event: RadrootsTelemetryEvent) {
- events.append(policy.redacted(event))
- if events.count > capacity {
- events.removeFirst(events.count - capacity)
- }
+ private let capacity: Int
+ private let policy = RadrootsTelemetryRedactionPolicy.default
+ private var events: [RadrootsTelemetryEvent] = []
+
+ init(capacity: Int = 128) {
+ self.capacity = min(max(capacity, 16), 256)
+ }
+
+ func record(_ event: RadrootsTelemetryEvent) {
+ events.append(policy.redacted(event))
+ if events.count > capacity {
+ events.removeFirst(events.count - capacity)
}
-
- func records() -> [RadrootsDiagnosticRecord] {
- events.map { event in
- RadrootsDiagnosticRecord(
- name: event.name,
- category: event.category,
- level: event.level.rawValue,
- fields: Dictionary(uniqueKeysWithValues: event.fields.map { field in
- (field.key, field.value.renderedValue)
- }),
- occurredAtUnixMilliseconds: Int64(event.occurredAt.timeIntervalSince1970 * 1000)
- )
- }
+ }
+
+ func records() -> [RadrootsDiagnosticRecord] {
+ events.map { event in
+ RadrootsDiagnosticRecord(
+ name: event.name,
+ category: event.category,
+ level: event.level.rawValue,
+ fields: Dictionary(
+ uniqueKeysWithValues: event.fields.map { field in
+ (field.key, field.value.renderedValue)
+ }),
+ occurredAtUnixMilliseconds: Int64(event.occurredAt.timeIntervalSince1970 * 1000)
+ )
}
+ }
}
private struct RadrootsDiagnosticsDocument: Codable, Sendable {
- let schema: String
- let appVersion: String
- let appBuild: String
- let runtimeCrate: String
- let runtimeVersion: String
- let runtimePhase: String
- let relayProfile: String?
- let relayState: String?
- let relayCount: Int
- let records: [RadrootsDiagnosticRecord]
+ let schema: String
+ let appVersion: String
+ let appBuild: String
+ let runtimeCrate: String
+ let runtimeVersion: String
+ let runtimePhase: String
+ let relayProfile: String?
+ let relayState: String?
+ let relayCount: Int
+ let records: [RadrootsDiagnosticRecord]
}
-actor RadrootsLifecycleCoordinator {
- private static let maximumExportBytes = 256 * 1024
-
- private let telemetry: any RadrootsTelemetry
- private let buffer: RadrootsDiagnosticsBuffer
- private let fileAccess: RadrootsAppleFileAccess?
- private let transfer: (any RadrootsBackgroundTransfer)?
- private let transferIdentifier: String?
- private var backgroundEventsAttached = false
-
- init(
- telemetry: any RadrootsTelemetry,
- buffer: RadrootsDiagnosticsBuffer,
- fileAccess: RadrootsAppleFileAccess?,
- transfer: (any RadrootsBackgroundTransfer)?,
- transferIdentifier: String?
- ) {
- self.telemetry = telemetry
- self.buffer = buffer
- self.fileAccess = fileAccess
- self.transfer = transfer
- self.transferIdentifier = transferIdentifier
- }
-
- static func production(bundleIdentifier: String) throws -> RadrootsLifecycleCoordinator {
- let roots = try RadrootsAppleFileRoots.appContainer(appIdentifier: bundleIdentifier)
- let fileAccess = RadrootsAppleFileAccess(roots: roots)
- let buffer = RadrootsDiagnosticsBuffer()
- let logger = RadrootsAppleLoggerTelemetry(subsystem: bundleIdentifier)
- let telemetry = RadrootsMultiplexTelemetry([
- logger,
- RadrootsRedactingTelemetry(sink: buffer),
- ])
- let identifier = try RadrootsBackgroundTransferValidation.normalizedIdentifier(
- "\(bundleIdentifier.lowercased()).background.transfer"
- )
- let transfer = try RadrootsAppleBackgroundTransfer(
- roots: roots,
- sessionIdentifier: identifier
- )
- return RadrootsLifecycleCoordinator(
- telemetry: telemetry,
- buffer: buffer,
- fileAccess: fileAccess,
- transfer: transfer,
- transferIdentifier: identifier
- )
- }
+struct RadrootsProductionLifecycleServices: Sendable {
+ let coordinator: RadrootsLifecycleCoordinator
+ let backgroundTransfer: any RadrootsBackgroundTransfer
+}
- static func disabled() -> RadrootsLifecycleCoordinator {
- let buffer = RadrootsDiagnosticsBuffer()
- return RadrootsLifecycleCoordinator(
- telemetry: RadrootsRedactingTelemetry(sink: buffer),
- buffer: buffer,
- fileAccess: nil,
- transfer: nil,
- transferIdentifier: nil
- )
+actor RadrootsLifecycleCoordinator {
+ private static let maximumExportBytes = 256 * 1024
+
+ private let telemetry: any RadrootsTelemetry
+ private let buffer: RadrootsDiagnosticsBuffer
+ private let fileAccess: RadrootsAppleFileAccess?
+ private let transfer: (any RadrootsBackgroundTransfer)?
+ private let transferIdentifier: String?
+ private var backgroundEventsAttached = false
+
+ init(
+ telemetry: any RadrootsTelemetry,
+ buffer: RadrootsDiagnosticsBuffer,
+ fileAccess: RadrootsAppleFileAccess?,
+ transfer: (any RadrootsBackgroundTransfer)?,
+ transferIdentifier: String?
+ ) {
+ self.telemetry = telemetry
+ self.buffer = buffer
+ self.fileAccess = fileAccess
+ self.transfer = transfer
+ self.transferIdentifier = transferIdentifier
+ }
+
+ static func production(bundleIdentifier: String) throws -> RadrootsLifecycleCoordinator {
+ try productionServices(bundleIdentifier: bundleIdentifier).coordinator
+ }
+
+ static func productionServices(
+ bundleIdentifier: String
+ ) throws -> RadrootsProductionLifecycleServices {
+ let roots = try RadrootsAppleFileRoots.appContainer(appIdentifier: bundleIdentifier)
+ let fileAccess = RadrootsAppleFileAccess(roots: roots)
+ let buffer = RadrootsDiagnosticsBuffer()
+ let logger = RadrootsAppleLoggerTelemetry(subsystem: bundleIdentifier)
+ let telemetry = RadrootsMultiplexTelemetry([
+ logger,
+ RadrootsRedactingTelemetry(sink: buffer),
+ ])
+ let identifier = try RadrootsBackgroundTransferValidation.normalizedIdentifier(
+ "\(bundleIdentifier.lowercased()).background.transfer"
+ )
+ let transfer = try RadrootsAppleBackgroundTransfer(
+ roots: roots,
+ sessionIdentifier: identifier
+ )
+ let coordinator = RadrootsLifecycleCoordinator(
+ telemetry: telemetry,
+ buffer: buffer,
+ fileAccess: fileAccess,
+ transfer: transfer,
+ transferIdentifier: identifier
+ )
+ return RadrootsProductionLifecycleServices(
+ coordinator: coordinator,
+ backgroundTransfer: transfer
+ )
+ }
+
+ static func disabled() -> RadrootsLifecycleCoordinator {
+ let buffer = RadrootsDiagnosticsBuffer()
+ return RadrootsLifecycleCoordinator(
+ telemetry: RadrootsRedactingTelemetry(sink: buffer),
+ buffer: buffer,
+ fileAccess: nil,
+ transfer: nil,
+ transferIdentifier: nil
+ )
+ }
+
+ static func testing(roots: RadrootsAppleFileRoots, capacity: Int = 128)
+ -> RadrootsLifecycleCoordinator
+ {
+ let buffer = RadrootsDiagnosticsBuffer(capacity: capacity)
+ return RadrootsLifecycleCoordinator(
+ telemetry: RadrootsRedactingTelemetry(sink: buffer),
+ buffer: buffer,
+ fileAccess: RadrootsAppleFileAccess(roots: roots),
+ transfer: nil,
+ transferIdentifier: nil
+ )
+ }
+
+ func attachBackgroundEvents() async {
+ guard !backgroundEventsAttached,
+ let transfer,
+ let transferIdentifier
+ else {
+ return
}
-
- static func testing(roots: RadrootsAppleFileRoots, capacity: Int = 128) -> RadrootsLifecycleCoordinator {
- let buffer = RadrootsDiagnosticsBuffer(capacity: capacity)
- return RadrootsLifecycleCoordinator(
- telemetry: RadrootsRedactingTelemetry(sink: buffer),
- buffer: buffer,
- fileAccess: RadrootsAppleFileAccess(roots: roots),
- transfer: nil,
- transferIdentifier: nil
- )
+ backgroundEventsAttached = true
+ await RadrootsBackgroundEventRouter.shared.attach(identifier: transferIdentifier) {
+ identifier,
+ completion in
+ await transfer.handleEventsForBackgroundURLSession(
+ identifier: identifier,
+ completionHandler: completion
+ )
}
-
- func attachBackgroundEvents() async {
- guard !backgroundEventsAttached,
- let transfer,
- let transferIdentifier
- else {
- return
- }
- backgroundEventsAttached = true
- await RadrootsBackgroundEventRouter.shared.attach(identifier: transferIdentifier) {
- identifier,
- completion in
- await transfer.handleEventsForBackgroundURLSession(
- identifier: identifier,
- completionHandler: completion
- )
- }
+ }
+
+ func record(
+ _ name: String,
+ level: RadrootsTelemetryLevel = .info,
+ fields: [String: String] = [:]
+ ) async {
+ let values = fields.sorted(by: { $0.key < $1.key }).compactMap { key, value in
+ try? RadrootsTelemetryField.string(key, value)
}
-
- func record(
- _ name: String,
- level: RadrootsTelemetryLevel = .info,
- fields: [String: String] = [:]
- ) async {
- let values = fields.sorted(by: { $0.key < $1.key }).compactMap { key, value in
- try? RadrootsTelemetryField.string(key, value)
- }
- guard let event = try? RadrootsTelemetryEvent(
- name: name,
- category: "ios_lifecycle",
- level: level,
- fields: values
- ) else {
- return
- }
- await telemetry.record(event)
+ guard
+ let event = try? RadrootsTelemetryEvent(
+ name: name,
+ category: "ios_lifecycle",
+ level: level,
+ fields: values
+ )
+ else {
+ return
}
-
- func prepareDiagnostics(
- snapshot: RadrootsRuntimeSnapshot,
- appVersion: String,
- appBuild: String,
- phase: String
- ) async throws -> RadrootsPreparedExportDocument {
- guard let fileAccess else {
- throw RadrootsRuntimeFailure.local(
- operation: "diagnostics.prepare",
- code: "ios.diagnostics.unavailable",
- safeMessage: "Diagnostics export is unavailable."
- )
- }
- let records = await buffer.records()
- let document = RadrootsDiagnosticsDocument(
- schema: "radroots.ios.diagnostics.v1",
- appVersion: appVersion,
- appBuild: appBuild,
- runtimeCrate: snapshot.crateName,
- runtimeVersion: snapshot.crateVersion,
- runtimePhase: phase,
- relayProfile: snapshot.relay?.profile,
- relayState: snapshot.relay?.state,
- relayCount: snapshot.relay?.relays.count ?? 0,
- records: records
- )
- let encoder = JSONEncoder()
- encoder.outputFormatting = [.prettyPrinted, .sortedKeys]
- let data = try encoder.encode(document)
- guard data.count <= Self.maximumExportBytes else {
- throw RadrootsRuntimeFailure.local(
- operation: "diagnostics.prepare",
- code: "ios.diagnostics.too_large",
- safeMessage: "The bounded diagnostics report could not be prepared."
- )
- }
- return try fileAccess.prepareExport(
- RadrootsExportDocumentRequest(
- source: .inlineData(data),
- suggestedFilename: "radroots-diagnostics.json",
- mediaType: "application/json",
- sizeBytes: UInt64(data.count)
- )
- )
+ await telemetry.record(event)
+ }
+
+ func prepareDiagnostics(
+ snapshot: RadrootsRuntimeSnapshot,
+ appVersion: String,
+ appBuild: String,
+ phase: String
+ ) async throws -> RadrootsPreparedExportDocument {
+ guard let fileAccess else {
+ throw RadrootsRuntimeFailure.local(
+ operation: "diagnostics.prepare",
+ code: "ios.diagnostics.unavailable",
+ safeMessage: "Diagnostics export is unavailable."
+ )
}
-
- func releaseDiagnostics(_ export: RadrootsPreparedExportDocument) {
- guard let fileAccess else { return }
- try? fileAccess.releasePreparedExport(export)
+ let records = await buffer.records()
+ let document = RadrootsDiagnosticsDocument(
+ schema: "radroots.ios.diagnostics.v1",
+ appVersion: appVersion,
+ appBuild: appBuild,
+ runtimeCrate: snapshot.crateName,
+ runtimeVersion: snapshot.crateVersion,
+ runtimePhase: phase,
+ relayProfile: snapshot.relay?.profile,
+ relayState: snapshot.relay?.state,
+ relayCount: snapshot.relay?.relays.count ?? 0,
+ records: records
+ )
+ let encoder = JSONEncoder()
+ encoder.outputFormatting = [.prettyPrinted, .sortedKeys]
+ let data = try encoder.encode(document)
+ guard data.count <= Self.maximumExportBytes else {
+ throw RadrootsRuntimeFailure.local(
+ operation: "diagnostics.prepare",
+ code: "ios.diagnostics.too_large",
+ safeMessage: "The bounded diagnostics report could not be prepared."
+ )
}
+ return try fileAccess.prepareExport(
+ RadrootsExportDocumentRequest(
+ source: .inlineData(data),
+ suggestedFilename: "radroots-diagnostics.json",
+ mediaType: "application/json",
+ sizeBytes: UInt64(data.count)
+ )
+ )
+ }
+
+ func releaseDiagnostics(_ export: RadrootsPreparedExportDocument) {
+ guard let fileAccess else { return }
+ try? fileAccess.releasePreparedExport(export)
+ }
}
@MainActor
final class RadrootsDiagnosticsStore: ObservableObject {
- @Published var preparedExport: RadrootsPreparedExportDocument?
- @Published private(set) var isPreparing = false
- @Published private(set) var message: String?
-
- private let coordinator: RadrootsLifecycleCoordinator
- private var activeExport: RadrootsPreparedExportDocument?
-
- init(coordinator: RadrootsLifecycleCoordinator) {
- self.coordinator = coordinator
- }
-
- func prepare(snapshot: RadrootsRuntimeSnapshot, bundle: Bundle = .main) async {
- guard !isPreparing, preparedExport == nil, activeExport == nil else { return }
- isPreparing = true
- message = nil
- defer { isPreparing = false }
- do {
- let export = try await coordinator.prepareDiagnostics(
- snapshot: snapshot,
- appVersion: bundle.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String ?? "0",
- appBuild: bundle.object(forInfoDictionaryKey: "CFBundleVersion") as? String ?? "0",
- phase: "running"
- )
- activeExport = export
- preparedExport = export
- } catch {
- activeExport = nil
- preparedExport = nil
- message = (error as? LocalizedError)?.errorDescription
- ?? "Diagnostics export could not be prepared."
- }
+ @Published var preparedExport: RadrootsPreparedExportDocument?
+ @Published private(set) var isPreparing = false
+ @Published private(set) var message: String?
+
+ private let coordinator: RadrootsLifecycleCoordinator
+ private var activeExport: RadrootsPreparedExportDocument?
+
+ init(coordinator: RadrootsLifecycleCoordinator) {
+ self.coordinator = coordinator
+ }
+
+ func prepare(snapshot: RadrootsRuntimeSnapshot, bundle: Bundle = .main) async {
+ guard !isPreparing, preparedExport == nil, activeExport == nil else { return }
+ isPreparing = true
+ message = nil
+ defer { isPreparing = false }
+ do {
+ let export = try await coordinator.prepareDiagnostics(
+ snapshot: snapshot,
+ appVersion: bundle.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String
+ ?? "0",
+ appBuild: bundle.object(forInfoDictionaryKey: "CFBundleVersion") as? String ?? "0",
+ phase: "running"
+ )
+ activeExport = export
+ preparedExport = export
+ } catch {
+ activeExport = nil
+ preparedExport = nil
+ message =
+ (error as? LocalizedError)?.errorDescription
+ ?? "Diagnostics export could not be prepared."
}
-
- func completeExport(_ result: Result<RadrootsExportDocumentResult, Error>) {
- let export = activeExport
- activeExport = nil
- preparedExport = nil
- switch result {
- case .success:
- message = "Diagnostics exported."
- case .failure:
- message = "Diagnostics export was cancelled or failed."
- }
- guard let export else { return }
- Task { await coordinator.releaseDiagnostics(export) }
+ }
+
+ func completeExport(_ result: Result<RadrootsExportDocumentResult, Error>) {
+ let export = activeExport
+ activeExport = nil
+ preparedExport = nil
+ switch result {
+ case .success:
+ message = "Diagnostics exported."
+ case .failure:
+ message = "Diagnostics export was cancelled or failed."
}
+ guard let export else { return }
+ Task { await coordinator.releaseDiagnostics(export) }
+ }
}
diff --git a/Radroots/Runtime/RadrootsRuntimeClient.swift b/Radroots/Runtime/RadrootsRuntimeClient.swift
@@ -1,1115 +1,1203 @@
import Foundation
protocol RadrootsRuntimeSubscriptionToken: Sendable {
- func cancel() async
+ func cancel() async
}
protocol RadrootsRuntimeBackend: Sendable {
- func snapshot() async throws -> RadrootsRuntimeSnapshot
- func todayPage(request: RadrootsTodayPageRequest) async throws -> RadrootsTodayPage
- func refreshToday(
- context: RadrootsLocalNetwork,
- nowUnixSeconds: UInt64,
- update: RadrootsTodayProjectionUpdate
- ) async throws -> RadrootsTodayRefreshReceipt
- func search(
- context: RadrootsLocalNetwork,
- query: String,
- limit: UInt16,
- asOfUnixSeconds: UInt64
- ) async throws -> [RadrootsSearchResult]
- func me(
- context: RadrootsLocalNetwork,
- asOfUnixSeconds: UInt64
- ) async throws -> RadrootsMeSnapshot
- func addSchemas() async throws -> [RadrootsAddSchema]
- func saveAddIntent(
- input: RadrootsAddRuntimeInput,
- existingDraftID: String?,
- expectedRevision: UInt64?
- ) async throws -> RadrootsDraftStatus
- func saveRetractionDraft(
- id: String,
- input: RadrootsRetractionDraftInput,
- authoredAtUnixSeconds: UInt64,
- persistedAtUnixMilliseconds: UInt64
- ) async throws -> RadrootsDraftStatus
- func draftStatus(id: String) async throws -> RadrootsDraftStatus
- func draftHeads(limit: UInt16) async throws -> [RadrootsDraftStatus]
- func queueAddIntent(
- id: String,
- expectedRevision: UInt64
- ) async throws -> RadrootsDraftStatus
- func recoverAddIntent(id: String) async throws -> RadrootsDraftStatus
- func uploadAddMediaIntent(input: RadrootsBlossomUploadIntent) async throws -> RadrootsDraftStatus
- func probeBlossom() async throws -> RadrootsBlossomEvidence
- func advanceDraft(id: String, expectedRevision: UInt64) async throws -> RadrootsDraftStatus
- func cancelAddIntent(
- id: String,
- expectedRevision: UInt64
- ) async throws -> RadrootsDraftStatus
- func subscribe(
- bufferCapacity: Int,
- receive: @escaping @Sendable (RadrootsRuntimeChange) async -> Void
- ) async throws -> any RadrootsRuntimeSubscriptionToken
- func shutdown() async throws -> RadrootsRuntimeShutdownReceipt
+ func snapshot() async throws -> RadrootsRuntimeSnapshot
+ func todayPage(request: RadrootsTodayPageRequest) async throws -> RadrootsTodayPage
+ func refreshToday(
+ context: RadrootsLocalNetwork,
+ nowUnixSeconds: UInt64,
+ update: RadrootsTodayProjectionUpdate
+ ) async throws -> RadrootsTodayRefreshReceipt
+ func search(
+ context: RadrootsLocalNetwork,
+ query: String,
+ limit: UInt16,
+ asOfUnixSeconds: UInt64
+ ) async throws -> [RadrootsSearchResult]
+ func me(
+ context: RadrootsLocalNetwork,
+ asOfUnixSeconds: UInt64
+ ) async throws -> RadrootsMeSnapshot
+ func addSchemas() async throws -> [RadrootsAddSchema]
+ func saveAddIntent(
+ input: RadrootsAddRuntimeInput,
+ existingDraftID: String?,
+ expectedRevision: UInt64?
+ ) async throws -> RadrootsDraftStatus
+ func saveRetractionDraft(
+ id: String,
+ input: RadrootsRetractionDraftInput,
+ authoredAtUnixSeconds: UInt64,
+ persistedAtUnixMilliseconds: UInt64
+ ) async throws -> RadrootsDraftStatus
+ func saveRevisionIntent(
+ target: RadrootsRevisionTarget,
+ replacement: RadrootsAddRuntimeInput
+ ) async throws -> RadrootsRevisionStatus
+ func revisionStatus(operationID: String) async throws -> RadrootsRevisionStatus
+ func advanceRevision(operationID: String) async throws -> RadrootsRevisionStatus
+ func cancelRevision(operationID: String) async throws -> RadrootsRevisionStatus
+ func draftStatus(id: String) async throws -> RadrootsDraftStatus
+ func draftHeads(limit: UInt16) async throws -> [RadrootsDraftStatus]
+ func queueAddIntent(
+ id: String,
+ expectedRevision: UInt64
+ ) async throws -> RadrootsDraftStatus
+ func recoverAddIntent(id: String) async throws -> RadrootsDraftStatus
+ func uploadAddMediaIntent(input: RadrootsBlossomUploadIntent) async throws -> RadrootsDraftStatus
+ func prepareAddMediaBackground(
+ input: RadrootsBlossomUploadIntent
+ ) async throws -> RadrootsNativeUploadJob
+ func completeAddMediaBackground(
+ input: RadrootsNativeUploadCompletion
+ ) async throws -> RadrootsDraftStatus
+ func probeBlossom() async throws -> RadrootsBlossomEvidence
+ func advanceDraft(id: String, expectedRevision: UInt64) async throws -> RadrootsDraftStatus
+ func cancelAddIntent(
+ id: String,
+ expectedRevision: UInt64
+ ) async throws -> RadrootsDraftStatus
+ func subscribe(
+ bufferCapacity: Int,
+ receive: @escaping @Sendable (RadrootsRuntimeChange) async -> Void
+ ) async throws -> any RadrootsRuntimeSubscriptionToken
+ func shutdown() async throws -> RadrootsRuntimeShutdownReceipt
}
extension RadrootsRuntimeBackend {
- private func supportUnsupported() -> RadrootsRuntimeFailure {
- .local(
- operation: "runtime.support",
- code: "ios.support.unsupported",
- safeMessage: "This supporting surface is unavailable in the current runtime."
- )
- }
+ private func supportUnsupported() -> RadrootsRuntimeFailure {
+ .local(
+ operation: "runtime.support",
+ code: "ios.support.unsupported",
+ safeMessage: "This supporting surface is unavailable in the current runtime."
+ )
+ }
+
+ private func addUnsupported() -> RadrootsRuntimeFailure {
+ .local(
+ operation: "runtime.add",
+ code: "ios.add.unsupported",
+ safeMessage: "Add is unavailable in this runtime."
+ )
+ }
+
+ func addSchemas() async throws -> [RadrootsAddSchema] {
+ throw addUnsupported()
+ }
+
+ func saveAddIntent(
+ input _: RadrootsAddRuntimeInput,
+ existingDraftID _: String?,
+ expectedRevision _: UInt64?
+ ) async throws -> RadrootsDraftStatus {
+ throw addUnsupported()
+ }
+
+ func saveRetractionDraft(
+ id _: String,
+ input _: RadrootsRetractionDraftInput,
+ authoredAtUnixSeconds _: UInt64,
+ persistedAtUnixMilliseconds _: UInt64
+ ) async throws -> RadrootsDraftStatus {
+ throw addUnsupported()
+ }
+
+ func saveRevisionIntent(
+ target _: RadrootsRevisionTarget,
+ replacement _: RadrootsAddRuntimeInput
+ ) async throws -> RadrootsRevisionStatus {
+ throw addUnsupported()
+ }
+
+ func revisionStatus(operationID _: String) async throws -> RadrootsRevisionStatus {
+ throw addUnsupported()
+ }
+
+ func advanceRevision(operationID _: String) async throws -> RadrootsRevisionStatus {
+ throw addUnsupported()
+ }
+
+ func cancelRevision(operationID _: String) async throws -> RadrootsRevisionStatus {
+ throw addUnsupported()
+ }
+
+ func draftStatus(id _: String) async throws -> RadrootsDraftStatus {
+ throw addUnsupported()
+ }
+
+ func draftHeads(limit _: UInt16) async throws -> [RadrootsDraftStatus] {
+ throw addUnsupported()
+ }
+
+ func queueAddIntent(
+ id _: String,
+ expectedRevision _: UInt64
+ ) async throws -> RadrootsDraftStatus {
+ throw addUnsupported()
+ }
+
+ func recoverAddIntent(id _: String) async throws -> RadrootsDraftStatus {
+ throw addUnsupported()
+ }
+
+ func uploadAddMediaIntent(input _: RadrootsBlossomUploadIntent) async throws
+ -> RadrootsDraftStatus
+ {
+ throw addUnsupported()
+ }
+
+ func prepareAddMediaBackground(
+ input _: RadrootsBlossomUploadIntent
+ ) async throws -> RadrootsNativeUploadJob {
+ throw addUnsupported()
+ }
+
+ func completeAddMediaBackground(
+ input _: RadrootsNativeUploadCompletion
+ ) async throws -> RadrootsDraftStatus {
+ throw addUnsupported()
+ }
+
+ func probeBlossom() async throws -> RadrootsBlossomEvidence {
+ throw supportUnsupported()
+ }
+
+ func advanceDraft(id _: String, expectedRevision _: UInt64) async throws -> RadrootsDraftStatus {
+ throw addUnsupported()
+ }
+
+ func cancelAddIntent(
+ id _: String,
+ expectedRevision _: UInt64
+ ) async throws -> RadrootsDraftStatus {
+ throw addUnsupported()
+ }
+
+ func search(
+ context _: RadrootsLocalNetwork,
+ query _: String,
+ limit _: UInt16,
+ asOfUnixSeconds _: UInt64
+ ) async throws -> [RadrootsSearchResult] {
+ throw supportUnsupported()
+ }
+
+ func me(
+ context _: RadrootsLocalNetwork,
+ asOfUnixSeconds _: UInt64
+ ) async throws -> RadrootsMeSnapshot {
+ throw supportUnsupported()
+ }
+}
- private func addUnsupported() -> RadrootsRuntimeFailure {
- .local(
- operation: "runtime.add",
- code: "ios.add.unsupported",
- safeMessage: "Add is unavailable in this runtime."
- )
- }
+struct RadrootsRuntimeBackendStart: Sendable {
+ let backend: any RadrootsRuntimeBackend
+ let snapshot: RadrootsRuntimeSnapshot
+}
- func addSchemas() async throws -> [RadrootsAddSchema] {
- throw addUnsupported()
- }
+typealias RadrootsRuntimeBackendFactory =
+ @Sendable (
+ RadrootsRuntimeLaunchConfiguration
+ ) async throws -> RadrootsRuntimeBackendStart
- func saveAddIntent(
- input _: RadrootsAddRuntimeInput,
- existingDraftID _: String?,
- expectedRevision _: UInt64?
- ) async throws -> RadrootsDraftStatus {
- throw addUnsupported()
- }
+private enum RadrootsRuntimeBoundedOutcome<Value: Sendable>: Sendable {
+ case completed(Result<Value, RadrootsRuntimeFailure>)
+ case timedOut
+ case cancelled
+}
- func saveRetractionDraft(
- id _: String,
- input _: RadrootsRetractionDraftInput,
- authoredAtUnixSeconds _: UInt64,
- persistedAtUnixMilliseconds _: UInt64
- ) async throws -> RadrootsDraftStatus {
- throw addUnsupported()
+private final class RadrootsRuntimeBoundedTask<Value: Sendable>: @unchecked Sendable {
+ typealias Outcome = RadrootsRuntimeBoundedOutcome<Value>
+
+ private final class State: @unchecked Sendable {
+ private let lock = NSLock()
+ private var outcome: Outcome?
+ private var continuations: [UUID: CheckedContinuation<Outcome, Never>] = [:]
+ private var cancelledWaiters: Set<UUID> = []
+ private var operationTask: Task<Void, Never>?
+ private var timeoutTask: Task<Void, Never>?
+
+ func install(operationTask: Task<Void, Never>, timeoutTask: Task<Void, Never>) {
+ let shouldCancel = lock.withLock { () -> Bool in
+ guard outcome == nil else { return true }
+ self.operationTask = operationTask
+ self.timeoutTask = timeoutTask
+ return false
+ }
+ if shouldCancel {
+ timeoutTask.cancel()
+ }
}
- func draftStatus(id _: String) async throws -> RadrootsDraftStatus {
- throw addUnsupported()
+ func value(cancelsOperationWhenWaiterCancelled: Bool) async -> Outcome {
+ let waiterID = UUID()
+ return await withTaskCancellationHandler {
+ await withCheckedContinuation { requestedContinuation in
+ let immediate = lock.withLock { () -> Outcome? in
+ if let outcome {
+ return outcome
+ }
+ if cancelledWaiters.remove(waiterID) != nil {
+ return .cancelled
+ }
+ continuations[waiterID] = requestedContinuation
+ return nil
+ }
+ if let immediate {
+ requestedContinuation.resume(returning: immediate)
+ }
+ }
+ } onCancel: {
+ if cancelsOperationWhenWaiterCancelled {
+ cancel()
+ } else {
+ cancelWaiter(waiterID)
+ }
+ }
}
- func draftHeads(limit _: UInt16) async throws -> [RadrootsDraftStatus] {
- throw addUnsupported()
+ func cancel() {
+ guard resolve(.cancelled) else { return }
+ let tasks = lock.withLock { (operationTask, timeoutTask) }
+ tasks.0?.cancel()
+ tasks.1?.cancel()
}
- func queueAddIntent(
- id _: String,
- expectedRevision _: UInt64
- ) async throws -> RadrootsDraftStatus {
- throw addUnsupported()
+ func expire() {
+ guard resolve(.timedOut) else { return }
+ let taskToCancel: Task<Void, Never>? = lock.withLock { self.operationTask }
+ taskToCancel?.cancel()
}
- func recoverAddIntent(id _: String) async throws -> RadrootsDraftStatus {
- throw addUnsupported()
+ func finishOperation() {
+ lock.withLock { operationTask = nil }
}
- func uploadAddMediaIntent(input _: RadrootsBlossomUploadIntent) async throws
- -> RadrootsDraftStatus
- {
- throw addUnsupported()
+ private func cancelWaiter(_ waiterID: UUID) {
+ let continuation = lock.withLock { () -> CheckedContinuation<Outcome, Never>? in
+ guard outcome == nil else { return nil }
+ guard let continuation = continuations.removeValue(forKey: waiterID) else {
+ cancelledWaiters.insert(waiterID)
+ return nil
+ }
+ return continuation
+ }
+ continuation?.resume(returning: .cancelled)
}
- func probeBlossom() async throws -> RadrootsBlossomEvidence {
- throw supportUnsupported()
+ @discardableResult
+ func resolve(_ requestedOutcome: Outcome) -> Bool {
+ var pendingContinuations: [CheckedContinuation<Outcome, Never>] = []
+ var timeoutToCancel: Task<Void, Never>?
+ let accepted = lock.withLock { () -> Bool in
+ guard outcome == nil else { return false }
+ outcome = requestedOutcome
+ pendingContinuations = Array(continuations.values)
+ continuations.removeAll(keepingCapacity: false)
+ cancelledWaiters.removeAll(keepingCapacity: false)
+ timeoutToCancel = timeoutTask
+ return true
+ }
+ if accepted {
+ timeoutToCancel?.cancel()
+ for continuation in pendingContinuations {
+ continuation.resume(returning: requestedOutcome)
+ }
+ }
+ return accepted
}
-
- func advanceDraft(id _: String, expectedRevision _: UInt64) async throws -> RadrootsDraftStatus {
- throw addUnsupported()
+ }
+
+ private let state: State
+
+ init(
+ deadlineNanoseconds: UInt64,
+ operation: @escaping @Sendable () async -> Result<Value, RadrootsRuntimeFailure>,
+ onAbandonedResult:
+ @escaping @Sendable (
+ Result<Value, RadrootsRuntimeFailure>
+ ) async -> Void = { _ in }
+ ) {
+ let state = State()
+ self.state = state
+ let operationTask = Task { [state] in
+ let result = await operation()
+ if !state.resolve(.completed(result)) {
+ await onAbandonedResult(result)
+ }
+ state.finishOperation()
}
- func cancelAddIntent(
- id _: String,
- expectedRevision _: UInt64
- ) async throws -> RadrootsDraftStatus {
- throw addUnsupported()
+ let timeoutTask = Task { [state] in
+ do {
+ try await Task.sleep(nanoseconds: deadlineNanoseconds)
+ } catch {
+ return
+ }
+ state.expire()
}
+ state.install(operationTask: operationTask, timeoutTask: timeoutTask)
+ }
+
+ func value(cancelsOperationWhenWaiterCancelled: Bool = true) async -> Outcome {
+ await state.value(
+ cancelsOperationWhenWaiterCancelled: cancelsOperationWhenWaiterCancelled
+ )
+ }
+
+ func cancel() {
+ state.cancel()
+ }
+}
- func search(
- context _: RadrootsLocalNetwork,
- query _: String,
- limit _: UInt16,
- asOfUnixSeconds _: UInt64
- ) async throws -> [RadrootsSearchResult] {
- throw supportUnsupported()
+actor RadrootsRuntimeClient {
+ private struct StartupOperation: Sendable {
+ let identity: RadrootsRuntimeOperationIdentity
+ let configuration: RadrootsRuntimeLaunchConfiguration
+ let task: RadrootsRuntimeBoundedTask<RadrootsRuntimeBackendStart>
+ }
+
+ private struct ShutdownOperation: Sendable {
+ let identity: RadrootsRuntimeOperationIdentity
+ let backend: (any RadrootsRuntimeBackend)?
+ let task: RadrootsRuntimeBoundedTask<RadrootsRuntimeShutdownReceipt>
+ }
+
+ private struct ActiveOperation: Sendable {
+ let identity: RadrootsRuntimeOperationIdentity
+ let cancel: @Sendable () -> Void
+ }
+
+ private struct Subscription {
+ let generation: UInt64
+ let continuation: AsyncStream<RadrootsRuntimeChange>.Continuation
+ var token: (any RadrootsRuntimeSubscriptionToken)?
+ }
+
+ private let factory: RadrootsRuntimeBackendFactory
+ private let deadlines: RadrootsRuntimeDeadlinePolicy
+ private var generation: UInt64 = 0
+ private var operationSequence: UInt64 = 0
+ private var lifecycleState: RadrootsRuntimeLifecycle = .stopped
+ private var configuration: RadrootsRuntimeLaunchConfiguration?
+ private var backend: (any RadrootsRuntimeBackend)?
+ private var quarantinedBackend: (any RadrootsRuntimeBackend)?
+ private var startupOperation: StartupOperation?
+ private var shutdownOperation: ShutdownOperation?
+ private var activeOperations: [UInt64: ActiveOperation] = [:]
+ private var subscriptions: [UUID: Subscription] = [:]
+ private var lateShutdownSuccesses: Set<RadrootsRuntimeOperationIdentity> = []
+
+ init(
+ factory: @escaping RadrootsRuntimeBackendFactory,
+ deadlines: RadrootsRuntimeDeadlinePolicy = .production
+ ) {
+ self.factory = factory
+ self.deadlines = deadlines
+ }
+
+ func lifecycle() -> RadrootsRuntimeLifecycle {
+ lifecycleState
+ }
+
+ func start(
+ configuration requestedConfiguration: RadrootsRuntimeLaunchConfiguration
+ ) async throws -> RadrootsRuntimeSnapshot {
+ try await start(configuration: requestedConfiguration, kind: .startup)
+ }
+
+ func reconfigure(
+ configuration requestedConfiguration: RadrootsRuntimeLaunchConfiguration
+ ) async throws -> RadrootsRuntimeSnapshot {
+ try await start(configuration: requestedConfiguration, kind: .reconfiguration)
+ }
+
+ private func start(
+ configuration requestedConfiguration: RadrootsRuntimeLaunchConfiguration,
+ kind: RadrootsRuntimeOperationKind
+ ) async throws -> RadrootsRuntimeSnapshot {
+ if let shutdownOperation {
+ _ = try await finishShutdown(shutdownOperation)
}
- func me(
- context _: RadrootsLocalNetwork,
- asOfUnixSeconds _: UInt64
- ) async throws -> RadrootsMeSnapshot {
- throw supportUnsupported()
+ if quarantinedBackend != nil {
+ _ = try await finishShutdown(beginShutdown())
}
-}
-
-struct RadrootsRuntimeBackendStart: Sendable {
- let backend: any RadrootsRuntimeBackend
- let snapshot: RadrootsRuntimeSnapshot
-}
-typealias RadrootsRuntimeBackendFactory =
- @Sendable (
- RadrootsRuntimeLaunchConfiguration
- ) async throws -> RadrootsRuntimeBackendStart
-
-private enum RadrootsRuntimeBoundedOutcome<Value: Sendable>: Sendable {
- case completed(Result<Value, RadrootsRuntimeFailure>)
- case timedOut
- case cancelled
-}
-
-private final class RadrootsRuntimeBoundedTask<Value: Sendable>: @unchecked Sendable {
- typealias Outcome = RadrootsRuntimeBoundedOutcome<Value>
-
- private final class State: @unchecked Sendable {
- private let lock = NSLock()
- private var outcome: Outcome?
- private var continuations: [UUID: CheckedContinuation<Outcome, Never>] = [:]
- private var cancelledWaiters: Set<UUID> = []
- private var operationTask: Task<Void, Never>?
- private var timeoutTask: Task<Void, Never>?
-
- func install(operationTask: Task<Void, Never>, timeoutTask: Task<Void, Never>) {
- let shouldCancel = lock.withLock { () -> Bool in
- guard outcome == nil else { return true }
- self.operationTask = operationTask
- self.timeoutTask = timeoutTask
- return false
- }
- if shouldCancel {
- timeoutTask.cancel()
- }
- }
-
- func value(cancelsOperationWhenWaiterCancelled: Bool) async -> Outcome {
- let waiterID = UUID()
- return await withTaskCancellationHandler {
- await withCheckedContinuation { requestedContinuation in
- let immediate = lock.withLock { () -> Outcome? in
- if let outcome {
- return outcome
- }
- if cancelledWaiters.remove(waiterID) != nil {
- return .cancelled
- }
- continuations[waiterID] = requestedContinuation
- return nil
- }
- if let immediate {
- requestedContinuation.resume(returning: immediate)
- }
- }
- } onCancel: {
- if cancelsOperationWhenWaiterCancelled {
- cancel()
- } else {
- cancelWaiter(waiterID)
- }
- }
- }
-
- func cancel() {
- guard resolve(.cancelled) else { return }
- let tasks = lock.withLock { (operationTask, timeoutTask) }
- tasks.0?.cancel()
- tasks.1?.cancel()
- }
-
- func expire() {
- guard resolve(.timedOut) else { return }
- let taskToCancel: Task<Void, Never>? = lock.withLock { self.operationTask }
- taskToCancel?.cancel()
- }
-
- func finishOperation() {
- lock.withLock { operationTask = nil }
- }
+ if backend != nil,
+ configuration == requestedConfiguration,
+ case .running = lifecycleState
+ {
+ return try await snapshot()
+ }
- private func cancelWaiter(_ waiterID: UUID) {
- let continuation = lock.withLock { () -> CheckedContinuation<Outcome, Never>? in
- guard outcome == nil else { return nil }
- guard let continuation = continuations.removeValue(forKey: waiterID) else {
- cancelledWaiters.insert(waiterID)
- return nil
- }
- return continuation
- }
- continuation?.resume(returning: .cancelled)
- }
+ if let startupOperation,
+ startupOperation.configuration == requestedConfiguration
+ {
+ return try await finishStartup(startupOperation)
+ }
- @discardableResult
- func resolve(_ requestedOutcome: Outcome) -> Bool {
- var pendingContinuations: [CheckedContinuation<Outcome, Never>] = []
- var timeoutToCancel: Task<Void, Never>?
- let accepted = lock.withLock { () -> Bool in
- guard outcome == nil else { return false }
- outcome = requestedOutcome
- pendingContinuations = Array(continuations.values)
- continuations.removeAll(keepingCapacity: false)
- cancelledWaiters.removeAll(keepingCapacity: false)
- timeoutToCancel = timeoutTask
- return true
- }
- if accepted {
- timeoutToCancel?.cancel()
- for continuation in pendingContinuations {
- continuation.resume(returning: requestedOutcome)
- }
- }
- return accepted
- }
+ if startupOperation != nil || backend != nil {
+ let operation = beginShutdown()
+ _ = try await finishShutdown(operation)
}
- private let state: State
-
- init(
- deadlineNanoseconds: UInt64,
- operation: @escaping @Sendable () async -> Result<Value, RadrootsRuntimeFailure>,
- onAbandonedResult:
- @escaping @Sendable (
- Result<Value, RadrootsRuntimeFailure>
- ) async -> Void = { _ in }
- ) {
- let state = State()
- self.state = state
- let operationTask = Task { [state] in
- let result = await operation()
- if !state.resolve(.completed(result)) {
- await onAbandonedResult(result)
- }
- state.finishOperation()
- }
+ generation &+= 1
+ let operationGeneration = generation
+ lifecycleState = .starting(generation: operationGeneration)
- let timeoutTask = Task { [state] in
+ let identity = nextIdentity(kind: kind)
+ let factory = factory
+ let cleanupDeadline = deadlines.shutdownNanoseconds
+ let task = RadrootsRuntimeBoundedTask<RadrootsRuntimeBackendStart>(
+ deadlineNanoseconds: deadlines.startupNanoseconds,
+ operation: {
+ do {
+ return try await .success(factory(requestedConfiguration))
+ } catch {
+ return .failure(Self.failure(from: error, operation: identity.rawValue))
+ }
+ },
+ onAbandonedResult: { result in
+ guard case .success(let started) = result else { return }
+ let cleanup = RadrootsRuntimeBoundedTask<RadrootsRuntimeShutdownReceipt>(
+ deadlineNanoseconds: cleanupDeadline,
+ operation: {
do {
- try await Task.sleep(nanoseconds: deadlineNanoseconds)
+ return try await .success(started.backend.shutdown())
} catch {
- return
+ return .failure(
+ Self.failure(from: error, operation: "runtime.abandoned_startup")
+ )
}
- state.expire()
- }
- state.install(operationTask: operationTask, timeoutTask: timeoutTask)
+ }
+ )
+ _ = await cleanup.value()
+ }
+ )
+ let operation = StartupOperation(
+ identity: identity,
+ configuration: requestedConfiguration,
+ task: task
+ )
+ startupOperation = operation
+ return try await finishStartup(operation)
+ }
+
+ func retry(
+ configuration requestedConfiguration: RadrootsRuntimeLaunchConfiguration
+ ) async throws -> RadrootsRuntimeSnapshot {
+ _ = try await stop()
+ return try await start(configuration: requestedConfiguration)
+ }
+
+ func snapshot() async throws -> RadrootsRuntimeSnapshot {
+ do {
+ return try await runtimeOperation("runtime.status") { backend in
+ try await backend.snapshot()
+ }
+ } catch let error as RadrootsRuntimeClientError {
+ throw error
+ } catch {
+ throw RadrootsRuntimeClientError.status(
+ Self.failure(from: error, operation: "runtime.status")
+ )
}
-
- func value(cancelsOperationWhenWaiterCancelled: Bool = true) async -> Outcome {
- await state.value(
- cancelsOperationWhenWaiterCancelled: cancelsOperationWhenWaiterCancelled
+ }
+
+ func todayPage(request: RadrootsTodayPageRequest) async throws -> RadrootsTodayPage {
+ do {
+ return try await runtimeOperation("runtime.today.page") { backend in
+ try await backend.todayPage(request: request)
+ }
+ } catch let error as RadrootsRuntimeClientError {
+ throw error
+ } catch {
+ throw RadrootsRuntimeClientError.today(
+ Self.failure(from: error, operation: "runtime.today.page")
+ )
+ }
+ }
+
+ func refreshToday(
+ context: RadrootsLocalNetwork,
+ nowUnixSeconds: UInt64,
+ update: RadrootsTodayProjectionUpdate = .incremental
+ ) async throws -> RadrootsTodayRefreshReceipt {
+ do {
+ return try await runtimeOperation("runtime.today.refresh") { backend in
+ try await backend.refreshToday(
+ context: context,
+ nowUnixSeconds: nowUnixSeconds,
+ update: update
)
+ }
+ } catch let error as RadrootsRuntimeClientError {
+ throw error
+ } catch {
+ throw RadrootsRuntimeClientError.today(
+ Self.failure(from: error, operation: "runtime.today.refresh")
+ )
}
-
- func cancel() {
- state.cancel()
+ }
+
+ func search(
+ context: RadrootsLocalNetwork,
+ query: String,
+ limit: UInt16 = 50,
+ asOfUnixSeconds: UInt64
+ ) async throws -> [RadrootsSearchResult] {
+ try await supportOperation("runtime.support.search") { backend in
+ try await backend.search(
+ context: context,
+ query: query,
+ limit: limit,
+ asOfUnixSeconds: asOfUnixSeconds
+ )
}
-}
-
-actor RadrootsRuntimeClient {
- private struct StartupOperation: Sendable {
- let identity: RadrootsRuntimeOperationIdentity
- let configuration: RadrootsRuntimeLaunchConfiguration
- let task: RadrootsRuntimeBoundedTask<RadrootsRuntimeBackendStart>
+ }
+
+ func me(
+ context: RadrootsLocalNetwork,
+ asOfUnixSeconds: UInt64
+ ) async throws -> RadrootsMeSnapshot {
+ try await supportOperation("runtime.support.me") { backend in
+ try await backend.me(context: context, asOfUnixSeconds: asOfUnixSeconds)
}
+ }
- private struct ShutdownOperation: Sendable {
- let identity: RadrootsRuntimeOperationIdentity
- let backend: (any RadrootsRuntimeBackend)?
- let task: RadrootsRuntimeBoundedTask<RadrootsRuntimeShutdownReceipt>
+ func addSchemas() async throws -> [RadrootsAddSchema] {
+ try await addOperation("runtime.add.schemas") { backend in
+ try await backend.addSchemas()
}
-
- private struct ActiveOperation: Sendable {
- let identity: RadrootsRuntimeOperationIdentity
- let cancel: @Sendable () -> Void
+ }
+
+ func saveAddIntent(
+ input: RadrootsAddRuntimeInput,
+ existingDraftID: String?,
+ expectedRevision: UInt64?
+ ) async throws -> RadrootsDraftStatus {
+ try await addOperation("runtime.add.save") { backend in
+ try await backend.saveAddIntent(
+ input: input,
+ existingDraftID: existingDraftID,
+ expectedRevision: expectedRevision
+ )
}
-
- private struct Subscription {
- let generation: UInt64
- let continuation: AsyncStream<RadrootsRuntimeChange>.Continuation
- var token: (any RadrootsRuntimeSubscriptionToken)?
+ }
+
+ func saveRetractionDraft(
+ id: String,
+ input: RadrootsRetractionDraftInput,
+ authoredAtUnixSeconds: UInt64,
+ persistedAtUnixMilliseconds: UInt64
+ ) async throws -> RadrootsDraftStatus {
+ try await addOperation("runtime.add.retract") { backend in
+ try await backend.saveRetractionDraft(
+ id: id,
+ input: input,
+ authoredAtUnixSeconds: authoredAtUnixSeconds,
+ persistedAtUnixMilliseconds: persistedAtUnixMilliseconds
+ )
}
-
- private let factory: RadrootsRuntimeBackendFactory
- private let deadlines: RadrootsRuntimeDeadlinePolicy
- private var generation: UInt64 = 0
- private var operationSequence: UInt64 = 0
- private var lifecycleState: RadrootsRuntimeLifecycle = .stopped
- private var configuration: RadrootsRuntimeLaunchConfiguration?
- private var backend: (any RadrootsRuntimeBackend)?
- private var quarantinedBackend: (any RadrootsRuntimeBackend)?
- private var startupOperation: StartupOperation?
- private var shutdownOperation: ShutdownOperation?
- private var activeOperations: [UInt64: ActiveOperation] = [:]
- private var subscriptions: [UUID: Subscription] = [:]
- private var lateShutdownSuccesses: Set<RadrootsRuntimeOperationIdentity> = []
-
- init(
- factory: @escaping RadrootsRuntimeBackendFactory,
- deadlines: RadrootsRuntimeDeadlinePolicy = .production
- ) {
- self.factory = factory
- self.deadlines = deadlines
+ }
+
+ func saveRevisionIntent(
+ target: RadrootsRevisionTarget,
+ replacement: RadrootsAddRuntimeInput
+ ) async throws -> RadrootsRevisionStatus {
+ try await addOperation("runtime.add.revision.save") { backend in
+ try await backend.saveRevisionIntent(target: target, replacement: replacement)
}
+ }
- func lifecycle() -> RadrootsRuntimeLifecycle {
- lifecycleState
+ func revisionStatus(operationID: String) async throws -> RadrootsRevisionStatus {
+ try await addOperation("runtime.add.revision.status") { backend in
+ try await backend.revisionStatus(operationID: operationID)
}
+ }
- func start(
- configuration requestedConfiguration: RadrootsRuntimeLaunchConfiguration
- ) async throws -> RadrootsRuntimeSnapshot {
- try await start(configuration: requestedConfiguration, kind: .startup)
+ func advanceRevision(operationID: String) async throws -> RadrootsRevisionStatus {
+ try await addOperation("runtime.add.revision.advance") { backend in
+ try await backend.advanceRevision(operationID: operationID)
}
+ }
- func reconfigure(
- configuration requestedConfiguration: RadrootsRuntimeLaunchConfiguration
- ) async throws -> RadrootsRuntimeSnapshot {
- try await start(configuration: requestedConfiguration, kind: .reconfiguration)
+ func cancelRevision(operationID: String) async throws -> RadrootsRevisionStatus {
+ try await addOperation("runtime.add.revision.cancel") { backend in
+ try await backend.cancelRevision(operationID: operationID)
}
+ }
- private func start(
- configuration requestedConfiguration: RadrootsRuntimeLaunchConfiguration,
- kind: RadrootsRuntimeOperationKind
- ) async throws -> RadrootsRuntimeSnapshot {
- if let shutdownOperation {
- _ = try await finishShutdown(shutdownOperation)
- }
-
- if quarantinedBackend != nil {
- _ = try await finishShutdown(beginShutdown())
- }
+ func draftStatus(id: String) async throws -> RadrootsDraftStatus {
+ try await addOperation("runtime.add.status") { backend in
+ try await backend.draftStatus(id: id)
+ }
+ }
- if backend != nil,
- configuration == requestedConfiguration,
- case .running = lifecycleState
- {
- return try await snapshot()
- }
+ func draftHeads(limit: UInt16 = 100) async throws -> [RadrootsDraftStatus] {
+ try await addOperation("runtime.add.heads") { backend in
+ try await backend.draftHeads(limit: limit)
+ }
+ }
+
+ func queueAddIntent(
+ id: String,
+ expectedRevision: UInt64
+ ) async throws -> RadrootsDraftStatus {
+ try await addOperation("runtime.add.queue") { backend in
+ try await backend.queueAddIntent(
+ id: id,
+ expectedRevision: expectedRevision
+ )
+ }
+ }
- if let startupOperation,
- startupOperation.configuration == requestedConfiguration
- {
- return try await finishStartup(startupOperation)
- }
+ func recoverAddIntent(id: String) async throws -> RadrootsDraftStatus {
+ try await addOperation("runtime.add.recover") { backend in
+ try await backend.recoverAddIntent(id: id)
+ }
+ }
- if startupOperation != nil || backend != nil {
- let operation = beginShutdown()
- _ = try await finishShutdown(operation)
- }
+ func uploadAddMediaIntent(input: RadrootsBlossomUploadIntent) async throws -> RadrootsDraftStatus
+ {
+ try await addOperation("runtime.add.media") { backend in
+ try await backend.uploadAddMediaIntent(input: input)
+ }
+ }
- generation &+= 1
- let operationGeneration = generation
- lifecycleState = .starting(generation: operationGeneration)
+ func prepareAddMediaBackground(
+ input: RadrootsBlossomUploadIntent
+ ) async throws -> RadrootsNativeUploadJob {
+ try await addOperation("runtime.add.media.background.prepare") { backend in
+ try await backend.prepareAddMediaBackground(input: input)
+ }
+ }
- let identity = nextIdentity(kind: kind)
- let factory = factory
- let cleanupDeadline = deadlines.shutdownNanoseconds
- let task = RadrootsRuntimeBoundedTask<RadrootsRuntimeBackendStart>(
- deadlineNanoseconds: deadlines.startupNanoseconds,
- operation: {
- do {
- return try await .success(factory(requestedConfiguration))
- } catch {
- return .failure(Self.failure(from: error, operation: identity.rawValue))
- }
- },
- onAbandonedResult: { result in
- guard case let .success(started) = result else { return }
- let cleanup = RadrootsRuntimeBoundedTask<RadrootsRuntimeShutdownReceipt>(
- deadlineNanoseconds: cleanupDeadline,
- operation: {
- do {
- return try await .success(started.backend.shutdown())
- } catch {
- return .failure(
- Self.failure(from: error, operation: "runtime.abandoned_startup")
- )
- }
- }
- )
- _ = await cleanup.value()
- }
- )
- let operation = StartupOperation(
- identity: identity,
- configuration: requestedConfiguration,
- task: task
- )
- startupOperation = operation
- return try await finishStartup(operation)
+ func completeAddMediaBackground(
+ input: RadrootsNativeUploadCompletion
+ ) async throws -> RadrootsDraftStatus {
+ try await addOperation("runtime.add.media.background.complete") { backend in
+ try await backend.completeAddMediaBackground(input: input)
}
+ }
- func retry(
- configuration requestedConfiguration: RadrootsRuntimeLaunchConfiguration
- ) async throws -> RadrootsRuntimeSnapshot {
- _ = try await stop()
- return try await start(configuration: requestedConfiguration)
+ func probeBlossom() async throws -> RadrootsBlossomEvidence {
+ try await supportOperation("runtime.blossom.probe") { backend in
+ try await backend.probeBlossom()
}
+ }
- func snapshot() async throws -> RadrootsRuntimeSnapshot {
- do {
- return try await runtimeOperation("runtime.status") { backend in
- try await backend.snapshot()
- }
- } catch let error as RadrootsRuntimeClientError {
- throw error
- } catch {
- throw RadrootsRuntimeClientError.status(
- Self.failure(from: error, operation: "runtime.status")
- )
- }
+ func advanceDraft(id: String, expectedRevision: UInt64) async throws -> RadrootsDraftStatus {
+ try await addOperation("runtime.add.advance") { backend in
+ try await backend.advanceDraft(id: id, expectedRevision: expectedRevision)
+ }
+ }
+
+ func cancelAddIntent(
+ id: String,
+ expectedRevision: UInt64
+ ) async throws -> RadrootsDraftStatus {
+ try await addOperation("runtime.add.cancel") { backend in
+ try await backend.cancelAddIntent(
+ id: id,
+ expectedRevision: expectedRevision
+ )
}
+ }
- func todayPage(request: RadrootsTodayPageRequest) async throws -> RadrootsTodayPage {
- do {
- return try await runtimeOperation("runtime.today.page") { backend in
- try await backend.todayPage(request: request)
- }
- } catch let error as RadrootsRuntimeClientError {
- throw error
- } catch {
- throw RadrootsRuntimeClientError.today(
- Self.failure(from: error, operation: "runtime.today.page")
- )
- }
+ func changes(bufferCapacity: Int = 16) async throws -> AsyncStream<RadrootsRuntimeChange> {
+ guard (1...64).contains(bufferCapacity) else {
+ throw RadrootsRuntimeClientError.invalidBufferCapacity
+ }
+ guard let backend, case .running = lifecycleState else {
+ throw RadrootsRuntimeClientError.notRunning
}
- func refreshToday(
- context: RadrootsLocalNetwork,
- nowUnixSeconds: UInt64,
- update: RadrootsTodayProjectionUpdate = .incremental
- ) async throws -> RadrootsTodayRefreshReceipt {
+ let id = UUID()
+ let subscriptionGeneration = generation
+ let identity = nextIdentity(kind: .subscription)
+ let pair = AsyncStream.makeStream(
+ of: RadrootsRuntimeChange.self,
+ bufferingPolicy: .bufferingNewest(bufferCapacity)
+ )
+ pair.continuation.onTermination = { [weak self] _ in
+ Task {
+ await self?.cancelSubscription(id: id, generation: subscriptionGeneration)
+ }
+ }
+ subscriptions[id] = Subscription(
+ generation: subscriptionGeneration,
+ continuation: pair.continuation,
+ token: nil
+ )
+
+ let subscriptionDeadline = deadlines.subscriptionNanoseconds
+ let task = RadrootsRuntimeBoundedTask<any RadrootsRuntimeSubscriptionToken>(
+ deadlineNanoseconds: subscriptionDeadline,
+ operation: {
do {
- return try await runtimeOperation("runtime.today.refresh") { backend in
- try await backend.refreshToday(
- context: context,
- nowUnixSeconds: nowUnixSeconds,
- update: update
- )
+ return try await .success(
+ backend.subscribe(bufferCapacity: bufferCapacity) { [weak self] change in
+ await self?.receive(
+ change,
+ subscriptionID: id,
+ generation: subscriptionGeneration
+ )
}
- } catch let error as RadrootsRuntimeClientError {
- throw error
+ )
} catch {
- throw RadrootsRuntimeClientError.today(
- Self.failure(from: error, operation: "runtime.today.refresh")
- )
- }
+ return .failure(Self.failure(from: error, operation: identity.rawValue))
+ }
+ },
+ onAbandonedResult: { result in
+ guard case .success(let token) = result else { return }
+ let cancellation = RadrootsRuntimeBoundedTask<Void>(
+ deadlineNanoseconds: subscriptionDeadline,
+ operation: {
+ await token.cancel()
+ return .success(())
+ }
+ )
+ _ = await cancellation.value()
+ }
+ )
+ activeOperations[identity.sequence] = ActiveOperation(
+ identity: identity,
+ cancel: { task.cancel() }
+ )
+ let outcome = await task.value()
+ removeActiveOperation(identity)
+
+ guard generation == subscriptionGeneration,
+ case .running = lifecycleState,
+ var subscription = subscriptions[id]
+ else {
+ subscriptions.removeValue(forKey: id)?.continuation.finish()
+ if case .completed(.success(let token)) = outcome {
+ cancelTokenDetached(token)
+ }
+ throw RadrootsRuntimeClientError.superseded
}
- func search(
- context: RadrootsLocalNetwork,
- query: String,
- limit: UInt16 = 50,
- asOfUnixSeconds: UInt64
- ) async throws -> [RadrootsSearchResult] {
- try await supportOperation("runtime.support.search") { backend in
- try await backend.search(
- context: context,
- query: query,
- limit: limit,
- asOfUnixSeconds: asOfUnixSeconds
- )
- }
+ switch outcome {
+ case .completed(.success(let token)):
+ subscription.token = token
+ subscriptions[id] = subscription
+ return pair.stream
+ case .completed(.failure(let failure)):
+ subscriptions.removeValue(forKey: id)?.continuation.finish()
+ throw RadrootsRuntimeClientError.subscription(failure)
+ case .timedOut:
+ subscriptions.removeValue(forKey: id)?.continuation.finish()
+ throw RadrootsRuntimeClientError.subscription(
+ Self.deadlineFailure(identity: identity)
+ )
+ case .cancelled:
+ subscriptions.removeValue(forKey: id)?.continuation.finish()
+ throw RadrootsRuntimeClientError.subscription(
+ Self.cancellationFailure(identity: identity)
+ )
}
+ }
- func me(
- context: RadrootsLocalNetwork,
- asOfUnixSeconds: UInt64
- ) async throws -> RadrootsMeSnapshot {
- try await supportOperation("runtime.support.me") { backend in
- try await backend.me(context: context, asOfUnixSeconds: asOfUnixSeconds)
- }
+ func suspend() {
+ for operation in activeOperations.values {
+ operation.cancel()
}
-
- func addSchemas() async throws -> [RadrootsAddSchema] {
- try await addOperation("runtime.add.schemas") { backend in
- try await backend.addSchemas()
- }
+ activeOperations.removeAll()
+
+ let activeSubscriptions = Array(subscriptions.values)
+ subscriptions.removeAll()
+ for subscription in activeSubscriptions {
+ subscription.continuation.finish()
+ if let token = subscription.token {
+ cancelTokenDetached(token)
+ }
}
- func saveAddIntent(
- input: RadrootsAddRuntimeInput,
- existingDraftID: String?,
- expectedRevision: UInt64?
- ) async throws -> RadrootsDraftStatus {
- try await addOperation("runtime.add.save") { backend in
- try await backend.saveAddIntent(
- input: input,
- existingDraftID: existingDraftID,
- expectedRevision: expectedRevision
- )
- }
+ if let startupOperation {
+ generation &+= 1
+ startupOperation.task.cancel()
+ self.startupOperation = nil
+ configuration = nil
+ lifecycleState = .stopped
}
+ }
- func saveRetractionDraft(
- id: String,
- input: RadrootsRetractionDraftInput,
- authoredAtUnixSeconds: UInt64,
- persistedAtUnixMilliseconds: UInt64
- ) async throws -> RadrootsDraftStatus {
- try await addOperation("runtime.add.retract") { backend in
- try await backend.saveRetractionDraft(
- id: id,
- input: input,
- authoredAtUnixSeconds: authoredAtUnixSeconds,
- persistedAtUnixMilliseconds: persistedAtUnixMilliseconds
- )
- }
+ func stop() async throws -> RadrootsRuntimeShutdownReceipt {
+ if let shutdownOperation {
+ return try await finishShutdown(shutdownOperation)
}
-
- func draftStatus(id: String) async throws -> RadrootsDraftStatus {
- try await addOperation("runtime.add.status") { backend in
- try await backend.draftStatus(id: id)
- }
+ guard
+ startupOperation != nil || backend != nil || quarantinedBackend != nil
+ || !subscriptions.isEmpty || !activeOperations.isEmpty
+ else {
+ lifecycleState = .stopped
+ return .alreadyStopped
}
-
- func draftHeads(limit: UInt16 = 100) async throws -> [RadrootsDraftStatus] {
- try await addOperation("runtime.add.heads") { backend in
- try await backend.draftHeads(limit: limit)
- }
+ return try await finishShutdown(beginShutdown())
+ }
+
+ private func finishStartup(
+ _ operation: StartupOperation
+ ) async throws -> RadrootsRuntimeSnapshot {
+ let outcome = await operation.task.value(cancelsOperationWhenWaiterCancelled: false)
+ guard generation == operation.identity.generation else {
+ throw RadrootsRuntimeClientError.superseded
}
- func queueAddIntent(
- id: String,
- expectedRevision: UInt64
- ) async throws -> RadrootsDraftStatus {
- try await addOperation("runtime.add.queue") { backend in
- try await backend.queueAddIntent(
- id: id,
- expectedRevision: expectedRevision
- )
- }
- }
-
- func recoverAddIntent(id: String) async throws -> RadrootsDraftStatus {
- try await addOperation("runtime.add.recover") { backend in
- try await backend.recoverAddIntent(id: id)
- }
+ if case .cancelled = outcome,
+ startupOperation?.identity == operation.identity
+ {
+ throw RadrootsRuntimeClientError.startup(
+ Self.cancellationFailure(identity: operation.identity)
+ )
}
- func uploadAddMediaIntent(input: RadrootsBlossomUploadIntent) async throws -> RadrootsDraftStatus {
- try await addOperation("runtime.add.media") { backend in
- try await backend.uploadAddMediaIntent(input: input)
- }
+ if startupOperation?.identity == operation.identity {
+ startupOperation = nil
+ } else if case .completed(.success(let started)) = outcome,
+ configuration == operation.configuration,
+ case .running = lifecycleState
+ {
+ return started.snapshot
+ } else {
+ throw RadrootsRuntimeClientError.superseded
}
- func probeBlossom() async throws -> RadrootsBlossomEvidence {
- try await supportOperation("runtime.blossom.probe") { backend in
- try await backend.probeBlossom()
- }
+ switch outcome {
+ case .completed(.success(let started)):
+ backend = started.backend
+ configuration = operation.configuration
+ lifecycleState = .running(generation: operation.identity.generation)
+ return started.snapshot
+ case .completed(.failure(let failure)):
+ lifecycleState = .failed(generation: operation.identity.generation, failure: failure)
+ throw RadrootsRuntimeClientError.startup(failure)
+ case .timedOut:
+ let failure = Self.deadlineFailure(identity: operation.identity)
+ lifecycleState = .failed(generation: operation.identity.generation, failure: failure)
+ throw RadrootsRuntimeClientError.startup(failure)
+ case .cancelled:
+ let failure = Self.cancellationFailure(identity: operation.identity)
+ lifecycleState = .failed(generation: operation.identity.generation, failure: failure)
+ throw RadrootsRuntimeClientError.startup(failure)
}
-
- func advanceDraft(id: String, expectedRevision: UInt64) async throws -> RadrootsDraftStatus {
- try await addOperation("runtime.add.advance") { backend in
- try await backend.advanceDraft(id: id, expectedRevision: expectedRevision)
- }
+ }
+
+ private func beginShutdown() -> ShutdownOperation {
+ generation &+= 1
+ let operationGeneration = generation
+ let pendingStartup = startupOperation
+ let activeBackend = backend ?? quarantinedBackend
+ let activeSubscriptions = Array(subscriptions.values)
+ let activeRuntimeOperations = Array(activeOperations.values)
+
+ startupOperation = nil
+ backend = nil
+ quarantinedBackend = nil
+ configuration = nil
+ subscriptions.removeAll()
+ activeOperations.removeAll()
+ lifecycleState = .stopping(generation: operationGeneration)
+
+ pendingStartup?.task.cancel()
+ for operation in activeRuntimeOperations {
+ operation.cancel()
}
-
- func cancelAddIntent(
- id: String,
- expectedRevision: UInt64
- ) async throws -> RadrootsDraftStatus {
- try await addOperation("runtime.add.cancel") { backend in
- try await backend.cancelAddIntent(
- id: id,
- expectedRevision: expectedRevision
- )
- }
+ for subscription in activeSubscriptions {
+ subscription.continuation.finish()
}
- func changes(bufferCapacity: Int = 16) async throws -> AsyncStream<RadrootsRuntimeChange> {
- guard (1 ... 64).contains(bufferCapacity) else {
- throw RadrootsRuntimeClientError.invalidBufferCapacity
- }
- guard let backend, case .running = lifecycleState else {
- throw RadrootsRuntimeClientError.notRunning
- }
-
- let id = UUID()
- let subscriptionGeneration = generation
- let identity = nextIdentity(kind: .subscription)
- let pair = AsyncStream.makeStream(
- of: RadrootsRuntimeChange.self,
- bufferingPolicy: .bufferingNewest(bufferCapacity)
- )
- pair.continuation.onTermination = { [weak self] _ in
- Task {
- await self?.cancelSubscription(id: id, generation: subscriptionGeneration)
- }
- }
- subscriptions[id] = Subscription(
- generation: subscriptionGeneration,
- continuation: pair.continuation,
- token: nil
- )
-
- let subscriptionDeadline = deadlines.subscriptionNanoseconds
- let task = RadrootsRuntimeBoundedTask<any RadrootsRuntimeSubscriptionToken>(
- deadlineNanoseconds: subscriptionDeadline,
+ let identity = nextIdentity(kind: .shutdown)
+ let cancellationDeadline = deadlines.subscriptionNanoseconds
+ let task = RadrootsRuntimeBoundedTask<RadrootsRuntimeShutdownReceipt>(
+ deadlineNanoseconds: deadlines.shutdownNanoseconds,
+ operation: {
+ let cancellations = activeSubscriptions.compactMap(\.token).map { token in
+ RadrootsRuntimeBoundedTask<Void>(
+ deadlineNanoseconds: cancellationDeadline,
operation: {
- do {
- return try await .success(
- backend.subscribe(bufferCapacity: bufferCapacity) { [weak self] change in
- await self?.receive(
- change,
- subscriptionID: id,
- generation: subscriptionGeneration
- )
- }
- )
- } catch {
- return .failure(Self.failure(from: error, operation: identity.rawValue))
- }
- },
- onAbandonedResult: { result in
- guard case let .success(token) = result else { return }
- let cancellation = RadrootsRuntimeBoundedTask<Void>(
- deadlineNanoseconds: subscriptionDeadline,
- operation: {
- await token.cancel()
- return .success(())
- }
- )
- _ = await cancellation.value()
- }
- )
- activeOperations[identity.sequence] = ActiveOperation(
- identity: identity,
- cancel: { task.cancel() }
- )
- let outcome = await task.value()
- removeActiveOperation(identity)
-
- guard generation == subscriptionGeneration,
- case .running = lifecycleState,
- var subscription = subscriptions[id]
- else {
- subscriptions.removeValue(forKey: id)?.continuation.finish()
- if case let .completed(.success(token)) = outcome {
- cancelTokenDetached(token)
+ await token.cancel()
+ return .success(())
}
- throw RadrootsRuntimeClientError.superseded
- }
-
- switch outcome {
- case let .completed(.success(token)):
- subscription.token = token
- subscriptions[id] = subscription
- return pair.stream
- case let .completed(.failure(failure)):
- subscriptions.removeValue(forKey: id)?.continuation.finish()
- throw RadrootsRuntimeClientError.subscription(failure)
- case .timedOut:
- subscriptions.removeValue(forKey: id)?.continuation.finish()
- throw RadrootsRuntimeClientError.subscription(
- Self.deadlineFailure(identity: identity)
- )
- case .cancelled:
- subscriptions.removeValue(forKey: id)?.continuation.finish()
- throw RadrootsRuntimeClientError.subscription(
- Self.cancellationFailure(identity: identity)
- )
+ )
}
- }
-
- func suspend() {
- for operation in activeOperations.values {
- operation.cancel()
- }
- activeOperations.removeAll()
-
- let activeSubscriptions = Array(subscriptions.values)
- subscriptions.removeAll()
- for subscription in activeSubscriptions {
- subscription.continuation.finish()
- if let token = subscription.token {
- cancelTokenDetached(token)
- }
+ for cancellation in cancellations {
+ _ = await cancellation.value()
}
- if let startupOperation {
- generation &+= 1
- startupOperation.task.cancel()
- self.startupOperation = nil
- configuration = nil
- lifecycleState = .stopped
+ guard let activeBackend else {
+ return .success(.alreadyStopped)
}
+ do {
+ return try await .success(activeBackend.shutdown())
+ } catch {
+ return .failure(Self.failure(from: error, operation: identity.rawValue))
+ }
+ },
+ onAbandonedResult: { [weak self] result in
+ await self?.settleLateShutdown(identity: identity, result: result)
+ }
+ )
+ let operation = ShutdownOperation(identity: identity, backend: activeBackend, task: task)
+ shutdownOperation = operation
+ return operation
+ }
+
+ private func finishShutdown(
+ _ operation: ShutdownOperation
+ ) async throws -> RadrootsRuntimeShutdownReceipt {
+ let outcome = await operation.task.value(cancelsOperationWhenWaiterCancelled: false)
+ if case .cancelled = outcome,
+ shutdownOperation?.identity == operation.identity,
+ generation == operation.identity.generation
+ {
+ throw RadrootsRuntimeClientError.shutdown(
+ Self.cancellationFailure(identity: operation.identity)
+ )
}
-
- func stop() async throws -> RadrootsRuntimeShutdownReceipt {
- if let shutdownOperation {
- return try await finishShutdown(shutdownOperation)
- }
- guard
- startupOperation != nil || backend != nil || quarantinedBackend != nil
- || !subscriptions.isEmpty || !activeOperations.isEmpty
- else {
- lifecycleState = .stopped
- return .alreadyStopped
- }
- return try await finishShutdown(beginShutdown())
+ if shutdownOperation?.identity == operation.identity {
+ shutdownOperation = nil
}
- private func finishStartup(
- _ operation: StartupOperation
- ) async throws -> RadrootsRuntimeSnapshot {
- let outcome = await operation.task.value(cancelsOperationWhenWaiterCancelled: false)
- guard generation == operation.identity.generation else {
- throw RadrootsRuntimeClientError.superseded
- }
-
- if case .cancelled = outcome,
- startupOperation?.identity == operation.identity
- {
- throw RadrootsRuntimeClientError.startup(
- Self.cancellationFailure(identity: operation.identity)
- )
- }
-
- if startupOperation?.identity == operation.identity {
- startupOperation = nil
- } else if case let .completed(.success(started)) = outcome,
- configuration == operation.configuration,
- case .running = lifecycleState
- {
- return started.snapshot
- } else {
- throw RadrootsRuntimeClientError.superseded
- }
-
- switch outcome {
- case let .completed(.success(started)):
- backend = started.backend
- configuration = operation.configuration
- lifecycleState = .running(generation: operation.identity.generation)
- return started.snapshot
- case let .completed(.failure(failure)):
- lifecycleState = .failed(generation: operation.identity.generation, failure: failure)
- throw RadrootsRuntimeClientError.startup(failure)
- case .timedOut:
- let failure = Self.deadlineFailure(identity: operation.identity)
- lifecycleState = .failed(generation: operation.identity.generation, failure: failure)
- throw RadrootsRuntimeClientError.startup(failure)
- case .cancelled:
- let failure = Self.cancellationFailure(identity: operation.identity)
- lifecycleState = .failed(generation: operation.identity.generation, failure: failure)
- throw RadrootsRuntimeClientError.startup(failure)
- }
+ let lateSucceeded = lateShutdownSuccesses.remove(operation.identity) != nil
+ guard generation == operation.identity.generation else {
+ throw RadrootsRuntimeClientError.superseded
}
- private func beginShutdown() -> ShutdownOperation {
- generation &+= 1
- let operationGeneration = generation
- let pendingStartup = startupOperation
- let activeBackend = backend ?? quarantinedBackend
- let activeSubscriptions = Array(subscriptions.values)
- let activeRuntimeOperations = Array(activeOperations.values)
-
- startupOperation = nil
- backend = nil
- quarantinedBackend = nil
- configuration = nil
- subscriptions.removeAll()
- activeOperations.removeAll()
- lifecycleState = .stopping(generation: operationGeneration)
-
- pendingStartup?.task.cancel()
- for operation in activeRuntimeOperations {
- operation.cancel()
- }
- for subscription in activeSubscriptions {
- subscription.continuation.finish()
- }
-
- let identity = nextIdentity(kind: .shutdown)
- let cancellationDeadline = deadlines.subscriptionNanoseconds
- let task = RadrootsRuntimeBoundedTask<RadrootsRuntimeShutdownReceipt>(
- deadlineNanoseconds: deadlines.shutdownNanoseconds,
- operation: {
- let cancellations = activeSubscriptions.compactMap(\.token).map { token in
- RadrootsRuntimeBoundedTask<Void>(
- deadlineNanoseconds: cancellationDeadline,
- operation: {
- await token.cancel()
- return .success(())
- }
- )
- }
- for cancellation in cancellations {
- _ = await cancellation.value()
- }
-
- guard let activeBackend else {
- return .success(.alreadyStopped)
- }
- do {
- return try await .success(activeBackend.shutdown())
- } catch {
- return .failure(Self.failure(from: error, operation: identity.rawValue))
- }
- },
- onAbandonedResult: { [weak self] result in
- await self?.settleLateShutdown(identity: identity, result: result)
- }
- )
- let operation = ShutdownOperation(identity: identity, backend: activeBackend, task: task)
- shutdownOperation = operation
- return operation
- }
-
- private func finishShutdown(
- _ operation: ShutdownOperation
- ) async throws -> RadrootsRuntimeShutdownReceipt {
- let outcome = await operation.task.value(cancelsOperationWhenWaiterCancelled: false)
- if case .cancelled = outcome,
- shutdownOperation?.identity == operation.identity,
- generation == operation.identity.generation
- {
- throw RadrootsRuntimeClientError.shutdown(
- Self.cancellationFailure(identity: operation.identity)
- )
- }
- if shutdownOperation?.identity == operation.identity {
- shutdownOperation = nil
- }
-
- let lateSucceeded = lateShutdownSuccesses.remove(operation.identity) != nil
- guard generation == operation.identity.generation else {
- throw RadrootsRuntimeClientError.superseded
- }
-
- switch outcome {
- case let .completed(.success(receipt)):
- quarantinedBackend = nil
- lifecycleState = .stopped
- return receipt
- case let .completed(.failure(failure)):
- quarantinedBackend = operation.backend
- lifecycleState = .failed(generation: operation.identity.generation, failure: failure)
- throw RadrootsRuntimeClientError.shutdown(failure)
- case .timedOut:
- let failure = Self.deadlineFailure(identity: operation.identity)
- quarantinedBackend = lateSucceeded ? nil : operation.backend
- lifecycleState =
- lateSucceeded
- ? .stopped
- : .failed(generation: operation.identity.generation, failure: failure)
- throw RadrootsRuntimeClientError.shutdown(failure)
- case .cancelled:
- let failure = Self.cancellationFailure(identity: operation.identity)
- quarantinedBackend = lateSucceeded ? nil : operation.backend
- lifecycleState =
- lateSucceeded
- ? .stopped
- : .failed(generation: operation.identity.generation, failure: failure)
- throw RadrootsRuntimeClientError.shutdown(failure)
- }
+ switch outcome {
+ case .completed(.success(let receipt)):
+ quarantinedBackend = nil
+ lifecycleState = .stopped
+ return receipt
+ case .completed(.failure(let failure)):
+ quarantinedBackend = operation.backend
+ lifecycleState = .failed(generation: operation.identity.generation, failure: failure)
+ throw RadrootsRuntimeClientError.shutdown(failure)
+ case .timedOut:
+ let failure = Self.deadlineFailure(identity: operation.identity)
+ quarantinedBackend = lateSucceeded ? nil : operation.backend
+ lifecycleState =
+ lateSucceeded
+ ? .stopped
+ : .failed(generation: operation.identity.generation, failure: failure)
+ throw RadrootsRuntimeClientError.shutdown(failure)
+ case .cancelled:
+ let failure = Self.cancellationFailure(identity: operation.identity)
+ quarantinedBackend = lateSucceeded ? nil : operation.backend
+ lifecycleState =
+ lateSucceeded
+ ? .stopped
+ : .failed(generation: operation.identity.generation, failure: failure)
+ throw RadrootsRuntimeClientError.shutdown(failure)
}
-
- private func runtimeOperation<T: Sendable>(
- _ operation: String,
- _ body: @escaping @Sendable (any RadrootsRuntimeBackend) async throws -> T
- ) async throws -> T {
- guard let backend, case .running = lifecycleState else {
- throw RadrootsRuntimeClientError.notRunning
- }
- let operationGeneration = generation
- let identity = nextIdentity(kind: .operation)
- let task = RadrootsRuntimeBoundedTask<T>(
- deadlineNanoseconds: deadlines.operationNanoseconds,
- operation: {
- do {
- return try await .success(body(backend))
- } catch {
- return .failure(Self.failure(from: error, operation: operation))
- }
- }
- )
- activeOperations[identity.sequence] = ActiveOperation(
- identity: identity,
- cancel: { task.cancel() }
- )
- let outcome = await task.value()
- removeActiveOperation(identity)
-
- guard generation == operationGeneration, case .running = lifecycleState else {
- throw RadrootsRuntimeClientError.superseded
- }
- switch outcome {
- case let .completed(.success(value)):
- return value
- case let .completed(.failure(failure)):
- throw failure
- case .timedOut:
- throw Self.deadlineFailure(identity: identity)
- case .cancelled:
- throw Self.cancellationFailure(identity: identity)
- }
+ }
+
+ private func runtimeOperation<T: Sendable>(
+ _ operation: String,
+ _ body: @escaping @Sendable (any RadrootsRuntimeBackend) async throws -> T
+ ) async throws -> T {
+ guard let backend, case .running = lifecycleState else {
+ throw RadrootsRuntimeClientError.notRunning
}
-
- private func addOperation<T: Sendable>(
- _ operation: String,
- _ body: @escaping @Sendable (any RadrootsRuntimeBackend) async throws -> T
- ) async throws -> T {
+ let operationGeneration = generation
+ let identity = nextIdentity(kind: .operation)
+ let task = RadrootsRuntimeBoundedTask<T>(
+ deadlineNanoseconds: deadlines.operationNanoseconds,
+ operation: {
do {
- return try await runtimeOperation(operation, body)
- } catch let error as RadrootsRuntimeClientError {
- throw error
+ return try await .success(body(backend))
} catch {
- throw RadrootsRuntimeClientError.add(
- Self.failure(from: error, operation: operation)
- )
- }
+ return .failure(Self.failure(from: error, operation: operation))
+ }
+ }
+ )
+ activeOperations[identity.sequence] = ActiveOperation(
+ identity: identity,
+ cancel: { task.cancel() }
+ )
+ let outcome = await task.value()
+ removeActiveOperation(identity)
+
+ guard generation == operationGeneration, case .running = lifecycleState else {
+ throw RadrootsRuntimeClientError.superseded
}
-
- private func supportOperation<T: Sendable>(
- _ operation: String,
- _ body: @escaping @Sendable (any RadrootsRuntimeBackend) async throws -> T
- ) async throws -> T {
- do {
- return try await runtimeOperation(operation, body)
- } catch let error as RadrootsRuntimeClientError {
- throw error
- } catch {
- throw RadrootsRuntimeClientError.support(
- Self.failure(from: error, operation: operation)
- )
- }
+ switch outcome {
+ case .completed(.success(let value)):
+ return value
+ case .completed(.failure(let failure)):
+ throw failure
+ case .timedOut:
+ throw Self.deadlineFailure(identity: identity)
+ case .cancelled:
+ throw Self.cancellationFailure(identity: identity)
}
-
- private func receive(
- _ change: RadrootsRuntimeChange,
- subscriptionID: UUID,
- generation subscriptionGeneration: UInt64
- ) {
- guard generation == subscriptionGeneration,
- case .running = lifecycleState,
- let subscription = subscriptions[subscriptionID],
- subscription.generation == subscriptionGeneration
- else {
- return
- }
- subscription.continuation.yield(change)
+ }
+
+ private func addOperation<T: Sendable>(
+ _ operation: String,
+ _ body: @escaping @Sendable (any RadrootsRuntimeBackend) async throws -> T
+ ) async throws -> T {
+ do {
+ return try await runtimeOperation(operation, body)
+ } catch let error as RadrootsRuntimeClientError {
+ throw error
+ } catch {
+ throw RadrootsRuntimeClientError.add(
+ Self.failure(from: error, operation: operation)
+ )
}
-
- private func cancelSubscription(id: UUID, generation subscriptionGeneration: UInt64) {
- guard let subscription = subscriptions[id],
- subscription.generation == subscriptionGeneration
- else {
- return
- }
- subscriptions.removeValue(forKey: id)
- subscription.continuation.finish()
- if let token = subscription.token {
- cancelTokenDetached(token)
- }
+ }
+
+ private func supportOperation<T: Sendable>(
+ _ operation: String,
+ _ body: @escaping @Sendable (any RadrootsRuntimeBackend) async throws -> T
+ ) async throws -> T {
+ do {
+ return try await runtimeOperation(operation, body)
+ } catch let error as RadrootsRuntimeClientError {
+ throw error
+ } catch {
+ throw RadrootsRuntimeClientError.support(
+ Self.failure(from: error, operation: operation)
+ )
}
-
- private func cancelTokenDetached(_ token: any RadrootsRuntimeSubscriptionToken) {
- let deadline = deadlines.subscriptionNanoseconds
- Task {
- let cancellation = RadrootsRuntimeBoundedTask<Void>(
- deadlineNanoseconds: deadline,
- operation: {
- await token.cancel()
- return .success(())
- }
- )
- _ = await cancellation.value()
- }
+ }
+
+ private func receive(
+ _ change: RadrootsRuntimeChange,
+ subscriptionID: UUID,
+ generation subscriptionGeneration: UInt64
+ ) {
+ guard generation == subscriptionGeneration,
+ case .running = lifecycleState,
+ let subscription = subscriptions[subscriptionID],
+ subscription.generation == subscriptionGeneration
+ else {
+ return
}
-
- private func settleLateShutdown(
- identity: RadrootsRuntimeOperationIdentity,
- result: Result<RadrootsRuntimeShutdownReceipt, RadrootsRuntimeFailure>
- ) {
- guard generation == identity.generation else { return }
- guard case .success = result else { return }
- if shutdownOperation?.identity == identity {
- lateShutdownSuccesses.insert(identity)
- } else {
- quarantinedBackend = nil
- lifecycleState = .stopped
- }
+ subscription.continuation.yield(change)
+ }
+
+ private func cancelSubscription(id: UUID, generation subscriptionGeneration: UInt64) {
+ guard let subscription = subscriptions[id],
+ subscription.generation == subscriptionGeneration
+ else {
+ return
}
-
- private func nextIdentity(
- kind: RadrootsRuntimeOperationKind
- ) -> RadrootsRuntimeOperationIdentity {
- operationSequence &+= 1
- return RadrootsRuntimeOperationIdentity(
- generation: generation,
- sequence: operationSequence,
- kind: kind
- )
+ subscriptions.removeValue(forKey: id)
+ subscription.continuation.finish()
+ if let token = subscription.token {
+ cancelTokenDetached(token)
}
-
- private func removeActiveOperation(_ identity: RadrootsRuntimeOperationIdentity) {
- guard activeOperations[identity.sequence]?.identity == identity else { return }
- activeOperations.removeValue(forKey: identity.sequence)
+ }
+
+ private func cancelTokenDetached(_ token: any RadrootsRuntimeSubscriptionToken) {
+ let deadline = deadlines.subscriptionNanoseconds
+ Task {
+ let cancellation = RadrootsRuntimeBoundedTask<Void>(
+ deadlineNanoseconds: deadline,
+ operation: {
+ await token.cancel()
+ return .success(())
+ }
+ )
+ _ = await cancellation.value()
}
-
- private static func deadlineFailure(
- identity: RadrootsRuntimeOperationIdentity
- ) -> RadrootsRuntimeFailure {
- .local(
- operation: identity.rawValue,
- code: "ios.runtime.deadline_exceeded",
- safeMessage: "The Radroots runtime operation did not finish in time."
- )
+ }
+
+ private func settleLateShutdown(
+ identity: RadrootsRuntimeOperationIdentity,
+ result: Result<RadrootsRuntimeShutdownReceipt, RadrootsRuntimeFailure>
+ ) {
+ guard generation == identity.generation else { return }
+ guard case .success = result else { return }
+ if shutdownOperation?.identity == identity {
+ lateShutdownSuccesses.insert(identity)
+ } else {
+ quarantinedBackend = nil
+ lifecycleState = .stopped
}
-
- private static func cancellationFailure(
- identity: RadrootsRuntimeOperationIdentity
- ) -> RadrootsRuntimeFailure {
- .local(
- operation: identity.rawValue,
- code: "ios.runtime.cancelled",
- safeMessage: "The Radroots runtime operation was cancelled."
- )
+ }
+
+ private func nextIdentity(
+ kind: RadrootsRuntimeOperationKind
+ ) -> RadrootsRuntimeOperationIdentity {
+ operationSequence &+= 1
+ return RadrootsRuntimeOperationIdentity(
+ generation: generation,
+ sequence: operationSequence,
+ kind: kind
+ )
+ }
+
+ private func removeActiveOperation(_ identity: RadrootsRuntimeOperationIdentity) {
+ guard activeOperations[identity.sequence]?.identity == identity else { return }
+ activeOperations.removeValue(forKey: identity.sequence)
+ }
+
+ private static func deadlineFailure(
+ identity: RadrootsRuntimeOperationIdentity
+ ) -> RadrootsRuntimeFailure {
+ .local(
+ operation: identity.rawValue,
+ code: "ios.runtime.deadline_exceeded",
+ safeMessage: "The Radroots runtime operation did not finish in time."
+ )
+ }
+
+ private static func cancellationFailure(
+ identity: RadrootsRuntimeOperationIdentity
+ ) -> RadrootsRuntimeFailure {
+ .local(
+ operation: identity.rawValue,
+ code: "ios.runtime.cancelled",
+ safeMessage: "The Radroots runtime operation was cancelled."
+ )
+ }
+
+ private static func failure(from error: Error, operation: String) -> RadrootsRuntimeFailure {
+ if let failure = error as? RadrootsRuntimeFailure {
+ return failure
}
-
- private static func failure(from error: Error, operation: String) -> RadrootsRuntimeFailure {
- if let failure = error as? RadrootsRuntimeFailure {
- return failure
- }
- if error is CancellationError {
- return .local(
- operation: operation,
- code: "ios.runtime.cancelled",
- safeMessage: "The Radroots runtime operation was cancelled."
- )
- }
- if case let RadrootsRuntimeClientError.startup(failure) = error {
- return failure
- }
- if case let RadrootsRuntimeClientError.subscription(failure) = error {
- return failure
- }
- if case let RadrootsRuntimeClientError.status(failure) = error {
- return failure
- }
- if case let RadrootsRuntimeClientError.today(failure) = error {
- return failure
- }
- if case let RadrootsRuntimeClientError.add(failure) = error {
- return failure
- }
- if case let RadrootsRuntimeClientError.support(failure) = error {
- return failure
- }
- if case let RadrootsRuntimeClientError.shutdown(failure) = error {
- return failure
- }
- return .local(
- operation: operation,
- code: "ios.runtime.unexpected",
- safeMessage: "The Radroots runtime could not complete the operation."
- )
+ if error is CancellationError {
+ return .local(
+ operation: operation,
+ code: "ios.runtime.cancelled",
+ safeMessage: "The Radroots runtime operation was cancelled."
+ )
+ }
+ if case RadrootsRuntimeClientError.startup(let failure) = error {
+ return failure
+ }
+ if case RadrootsRuntimeClientError.subscription(let failure) = error {
+ return failure
+ }
+ if case RadrootsRuntimeClientError.status(let failure) = error {
+ return failure
+ }
+ if case RadrootsRuntimeClientError.today(let failure) = error {
+ return failure
+ }
+ if case RadrootsRuntimeClientError.add(let failure) = error {
+ return failure
+ }
+ if case RadrootsRuntimeClientError.support(let failure) = error {
+ return failure
+ }
+ if case RadrootsRuntimeClientError.shutdown(let failure) = error {
+ return failure
}
+ return .local(
+ operation: operation,
+ code: "ios.runtime.unexpected",
+ safeMessage: "The Radroots runtime could not complete the operation."
+ )
+ }
}
diff --git a/Radroots/Runtime/RadrootsRuntimeModels.swift b/Radroots/Runtime/RadrootsRuntimeModels.swift
@@ -1,860 +1,924 @@
import Foundation
enum RadrootsProtectedDataState: Sendable, Equatable {
- case available
- case unavailable
+ case available
+ case unavailable
}
enum RadrootsRuntimeNetworkProfile: Sendable, Equatable {
- case publicNetwork
- case simulator
- case device
+ case publicNetwork
+ case simulator
+ case device
}
enum RadrootsBlossomHostKind: String, Codable, Sendable, Equatable {
- case native
- case simulator
- case physicalDevice = "physical_device"
+ case native
+ case simulator
+ case physicalDevice = "physical_device"
}
enum RadrootsBlossomEndpointAuthority: String, Codable, Sendable, Equatable {
- case publicWebPKI = "public_web_pki"
- case loopbackDevelopment = "loopback_development"
- case privateNetworkDevelopment = "private_network_development"
-
- init?(runtimeValue: String) {
- switch runtimeValue {
- case "public_webpki": self = .publicWebPKI
- case "loopback_development": self = .loopbackDevelopment
- case "private_network_development": self = .privateNetworkDevelopment
- default: return nil
- }
+ case publicWebPKI = "public_web_pki"
+ case loopbackDevelopment = "loopback_development"
+ case privateNetworkDevelopment = "private_network_development"
+
+ init?(runtimeValue: String) {
+ switch runtimeValue {
+ case "public_webpki": self = .publicWebPKI
+ case "loopback_development": self = .loopbackDevelopment
+ case "private_network_development": self = .privateNetworkDevelopment
+ default: return nil
}
+ }
}
struct RadrootsBlossomEndpointConfiguration: Codable, Sendable, Equatable {
- let hostKind: RadrootsBlossomHostKind
- let endpointAuthority: RadrootsBlossomEndpointAuthority
- let primaryOrigin: String
- let fallbackOrigins: [String]
+ let hostKind: RadrootsBlossomHostKind
+ let endpointAuthority: RadrootsBlossomEndpointAuthority
+ let primaryOrigin: String
+ let fallbackOrigins: [String]
}
struct RadrootsBlossomConfigurationStatus: Sendable, Equatable {
- let schemaVersion: UInt16
- let hostKind: String
- let endpointAuthority: String
- let primaryOrigin: String
- let fallbackOrigins: [String]
- let configFingerprint: String
+ let schemaVersion: UInt16
+ let hostKind: String
+ let endpointAuthority: String
+ let primaryOrigin: String
+ let fallbackOrigins: [String]
+ let configFingerprint: String
}
struct RadrootsBlossomEvidence: Sendable, Equatable {
- let schemaVersion: UInt16
- let origin: String
- let configFingerprint: String
- let state: String
- let lastSuccessfulState: String
- let transportSecurity: String
- let observedAtUnixMilliseconds: UInt64?
- let httpStatus: UInt16?
- let errorCode: String?
- let serverErrorCode: String?
- let errorPhase: String?
- let retryable: Bool
- let possibleOrphan: Bool
- let attempts: UInt8
+ let schemaVersion: UInt16
+ let origin: String
+ let configFingerprint: String
+ let state: String
+ let lastSuccessfulState: String
+ let transportSecurity: String
+ let observedAtUnixMilliseconds: UInt64?
+ let httpStatus: UInt16?
+ let errorCode: String?
+ let serverErrorCode: String?
+ let errorPhase: String?
+ let retryable: Bool
+ let possibleOrphan: Bool
+ let attempts: UInt8
}
struct RadrootsRuntimeAppMetadata: Sendable, Equatable {
- let bundleIdentifier: String
- let version: String
- let buildNumber: String
- let buildSHA: String?
+ let bundleIdentifier: String
+ let version: String
+ let buildNumber: String
+ let buildSHA: String?
}
enum RadrootsRuntimeSignerAvailability: Sendable, Equatable {
- case ready
- case busy
- case locked
- case unavailable
+ case ready
+ case busy
+ case locked
+ case unavailable
}
enum RadrootsRuntimeSigningPurpose: Sendable, Equatable {
- case nostrEvent
- case blossomUpload
+ case nostrEvent
+ case blossomUpload
}
struct RadrootsRuntimeSigningRequest: Sendable, Equatable {
- let operationID: String
- let signerRequestID: String
- let publicKeyHex: String
- let purpose: RadrootsRuntimeSigningPurpose
- let deadlineUnixMilliseconds: UInt64
- let digest: Data
+ let operationID: String
+ let signerRequestID: String
+ let publicKeyHex: String
+ let purpose: RadrootsRuntimeSigningPurpose
+ let deadlineUnixMilliseconds: UInt64
+ let digest: Data
}
enum RadrootsRuntimeSigningOutcome: Sendable, Equatable {
- case signed(signatureHex: String)
- case locked
- case cancelled
- case rejected
- case timedOut
- case unavailable
- case invalidated
- case failed
+ case signed(signatureHex: String)
+ case locked
+ case cancelled
+ case rejected
+ case timedOut
+ case unavailable
+ case invalidated
+ case failed
}
protocol RadrootsRuntimeSigner: Sendable {
- func availability() async -> RadrootsRuntimeSignerAvailability
- func sign(_ request: RadrootsRuntimeSigningRequest) async -> RadrootsRuntimeSigningOutcome
+ func availability() async -> RadrootsRuntimeSignerAvailability
+ func sign(_ request: RadrootsRuntimeSigningRequest) async -> RadrootsRuntimeSigningOutcome
}
struct RadrootsRuntimeLaunchConfiguration: Sendable {
- let applicationSupportDirectory: String
- let publicKeyHex: String
- let sourceGenerationHex: String
- let sourceGenerationCreatedAtUnixMilliseconds: UInt64
- let protectedData: RadrootsProtectedDataState
- let networkProfile: RadrootsRuntimeNetworkProfile
- let writableRelays: [String]
- let blossom: RadrootsBlossomEndpointConfiguration?
- let app: RadrootsRuntimeAppMetadata
- let signerGeneration: String
- let signer: any RadrootsRuntimeSigner
+ let applicationSupportDirectory: String
+ let publicKeyHex: String
+ let sourceGenerationHex: String
+ let sourceGenerationCreatedAtUnixMilliseconds: UInt64
+ let protectedData: RadrootsProtectedDataState
+ let networkProfile: RadrootsRuntimeNetworkProfile
+ let writableRelays: [String]
+ let blossom: RadrootsBlossomEndpointConfiguration?
+ let app: RadrootsRuntimeAppMetadata
+ let signerGeneration: String
+ let signer: any RadrootsRuntimeSigner
}
extension RadrootsRuntimeLaunchConfiguration: Equatable {
- static func == (lhs: Self, rhs: Self) -> Bool {
- lhs.applicationSupportDirectory == rhs.applicationSupportDirectory
- && lhs.publicKeyHex == rhs.publicKeyHex
- && lhs.sourceGenerationHex == rhs.sourceGenerationHex
- && lhs.sourceGenerationCreatedAtUnixMilliseconds
- == rhs.sourceGenerationCreatedAtUnixMilliseconds
- && lhs.protectedData == rhs.protectedData
- && lhs.networkProfile == rhs.networkProfile
- && lhs.writableRelays == rhs.writableRelays
- && lhs.blossom == rhs.blossom
- && lhs.app == rhs.app
- && lhs.signerGeneration == rhs.signerGeneration
- }
+ static func == (lhs: Self, rhs: Self) -> Bool {
+ lhs.applicationSupportDirectory == rhs.applicationSupportDirectory
+ && lhs.publicKeyHex == rhs.publicKeyHex
+ && lhs.sourceGenerationHex == rhs.sourceGenerationHex
+ && lhs.sourceGenerationCreatedAtUnixMilliseconds
+ == rhs.sourceGenerationCreatedAtUnixMilliseconds
+ && lhs.protectedData == rhs.protectedData
+ && lhs.networkProfile == rhs.networkProfile
+ && lhs.writableRelays == rhs.writableRelays
+ && lhs.blossom == rhs.blossom
+ && lhs.app == rhs.app
+ && lhs.signerGeneration == rhs.signerGeneration
+ }
}
struct RadrootsRuntimeIdentity: Sendable, Equatable {
- let publicKeyHex: String
- let hostSignerConfigured: Bool
+ let publicKeyHex: String
+ let hostSignerConfigured: Bool
+}
+
+enum RadrootsRelayAccess: Sendable, Equatable {
+ case readOnly
+ case readWrite
+
+ var label: String {
+ self == .readWrite ? "read write" : "read only"
+ }
}
struct RadrootsRelayEndpointStatus: Sendable, Equatable {
- let url: String
- let access: String
- let readState: String
- let writeState: String
- let readLastAttemptUnixMilliseconds: UInt64?
- let writeLastAttemptUnixMilliseconds: UInt64?
- let readNextAttemptUnixMilliseconds: UInt64?
- let writeNextAttemptUnixMilliseconds: UInt64?
+ let url: String
+ let access: RadrootsRelayAccess
+ let readState: String
+ let writeState: String
+ let readLastAttemptUnixMilliseconds: UInt64?
+ let writeLastAttemptUnixMilliseconds: UInt64?
+ let readNextAttemptUnixMilliseconds: UInt64?
+ let writeNextAttemptUnixMilliseconds: UInt64?
}
struct RadrootsRelayStatus: Sendable, Equatable {
- let profile: String
- let state: String
- let readAvailability: String
- let writeAvailability: String
- let relays: [RadrootsRelayEndpointStatus]
+ let profile: String
+ let state: String
+ let readAvailability: String
+ let writeAvailability: String
+ let relays: [RadrootsRelayEndpointStatus]
}
struct RadrootsRuntimeSnapshot: Sendable, Equatable {
- let identity: RadrootsRuntimeIdentity
- let relay: RadrootsRelayStatus?
- let blossomConfiguration: RadrootsBlossomConfigurationStatus?
- let blossomEvidence: RadrootsBlossomEvidence?
- let crateName: String
- let crateVersion: String
- let isClosed: Bool
+ let identity: RadrootsRuntimeIdentity
+ let relay: RadrootsRelayStatus?
+ let blossomConfiguration: RadrootsBlossomConfigurationStatus?
+ let blossomEvidence: RadrootsBlossomEvidence?
+ let crateName: String
+ let crateVersion: String
+ let isClosed: Bool
}
enum RadrootsRuntimeChangeKind: Sendable, Equatable {
- case initial
- case identity
- case settings
- case profile
- case today
- case drafts
- case relay
- case media
- case lifecycle
+ case initial
+ case identity
+ case settings
+ case profile
+ case today
+ case drafts
+ case relay
+ case media
+ case lifecycle
}
struct RadrootsRuntimeChange: Sendable, Equatable {
- let schemaVersion: UInt16
- let generation: UInt64
- let kind: RadrootsRuntimeChangeKind
- let entityID: String?
+ let schemaVersion: UInt16
+ let generation: UInt64
+ let kind: RadrootsRuntimeChangeKind
+ let entityID: String?
}
struct RadrootsRuntimeShutdownReceipt: Sendable, Equatable {
- let state: String
- let alreadyClosed: Bool
+ let state: String
+ let alreadyClosed: Bool
- static let alreadyStopped = Self(state: "closed", alreadyClosed: true)
+ static let alreadyStopped = Self(state: "closed", alreadyClosed: true)
}
enum RadrootsRuntimeOperationKind: String, Sendable, Equatable, Hashable {
- case startup
- case operation
- case reconfiguration
- case subscription
- case shutdown
+ case startup
+ case operation
+ case reconfiguration
+ case subscription
+ case shutdown
}
struct RadrootsRuntimeOperationIdentity: Sendable, Equatable, Hashable {
- let generation: UInt64
- let sequence: UInt64
- let kind: RadrootsRuntimeOperationKind
+ let generation: UInt64
+ let sequence: UInt64
+ let kind: RadrootsRuntimeOperationKind
- var rawValue: String {
- "ios-runtime-\(generation)-\(sequence)-\(kind.rawValue)"
- }
+ var rawValue: String {
+ "ios-runtime-\(generation)-\(sequence)-\(kind.rawValue)"
+ }
}
struct RadrootsRuntimeDeadlinePolicy: Sendable, Equatable {
- let startupNanoseconds: UInt64
- let operationNanoseconds: UInt64
- let subscriptionNanoseconds: UInt64
- let shutdownNanoseconds: UInt64
-
- init(
- startupNanoseconds: UInt64 = 30_000_000_000,
- operationNanoseconds: UInt64 = 30_000_000_000,
- subscriptionNanoseconds: UInt64 = 10_000_000_000,
- shutdownNanoseconds: UInt64 = 10_000_000_000
- ) {
- precondition(startupNanoseconds > 0 && startupNanoseconds <= 120_000_000_000)
- precondition(operationNanoseconds > 0 && operationNanoseconds <= 120_000_000_000)
- precondition(subscriptionNanoseconds > 0 && subscriptionNanoseconds <= 60_000_000_000)
- precondition(shutdownNanoseconds > 0 && shutdownNanoseconds <= 60_000_000_000)
- self.startupNanoseconds = startupNanoseconds
- self.operationNanoseconds = operationNanoseconds
- self.subscriptionNanoseconds = subscriptionNanoseconds
- self.shutdownNanoseconds = shutdownNanoseconds
- }
-
- static let production = Self()
+ let startupNanoseconds: UInt64
+ let operationNanoseconds: UInt64
+ let subscriptionNanoseconds: UInt64
+ let shutdownNanoseconds: UInt64
+
+ init(
+ startupNanoseconds: UInt64 = 30_000_000_000,
+ operationNanoseconds: UInt64 = 30_000_000_000,
+ subscriptionNanoseconds: UInt64 = 10_000_000_000,
+ shutdownNanoseconds: UInt64 = 10_000_000_000
+ ) {
+ precondition(startupNanoseconds > 0 && startupNanoseconds <= 120_000_000_000)
+ precondition(operationNanoseconds > 0 && operationNanoseconds <= 120_000_000_000)
+ precondition(subscriptionNanoseconds > 0 && subscriptionNanoseconds <= 60_000_000_000)
+ precondition(shutdownNanoseconds > 0 && shutdownNanoseconds <= 60_000_000_000)
+ self.startupNanoseconds = startupNanoseconds
+ self.operationNanoseconds = operationNanoseconds
+ self.subscriptionNanoseconds = subscriptionNanoseconds
+ self.shutdownNanoseconds = shutdownNanoseconds
+ }
+
+ static let production = Self()
}
enum RadrootsRuntimeObservationState: Sendable, Equatable {
- case inactive
- case subscribing(attempt: UInt32)
- case active
- case retrying(attempt: UInt32, message: String)
- case stopped
+ case inactive
+ case subscribing(attempt: UInt32)
+ case active
+ case retrying(attempt: UInt32, message: String)
+ case stopped
}
enum RadrootsRuntimeObservationBackoff {
- static func sleep(attempt: UInt32) async throws {
- let exponent = min(attempt.saturatingSubtractingOne, 7)
- let delay = min(UInt64(250_000_000) << exponent, 30_000_000_000)
- try await Task.sleep(nanoseconds: delay)
- }
+ static func sleep(attempt: UInt32) async throws {
+ let exponent = min(attempt.saturatingSubtractingOne, 7)
+ let delay = min(UInt64(250_000_000) << exponent, 30_000_000_000)
+ try await Task.sleep(nanoseconds: delay)
+ }
}
-private extension UInt32 {
- var saturatingSubtractingOne: UInt32 {
- self == 0 ? 0 : self - 1
- }
+extension UInt32 {
+ fileprivate var saturatingSubtractingOne: UInt32 {
+ self == 0 ? 0 : self - 1
+ }
}
struct RadrootsRuntimeFailure: Error, Sendable, Equatable {
- let schemaVersion: UInt16
- let code: String
- let category: String
- let retryable: Bool
- let recoveryActions: [String]
- let operationID: String?
- let capabilityID: String?
- let safeMessage: String
-
- static func local(operation: String, code: String, safeMessage: String) -> Self {
- Self(
- schemaVersion: 1,
- code: code,
- category: "runtime",
- retryable: false,
- recoveryActions: [],
- operationID: operation,
- capabilityID: nil,
- safeMessage: safeMessage
- )
- }
+ let schemaVersion: UInt16
+ let code: String
+ let category: String
+ let retryable: Bool
+ let recoveryActions: [String]
+ let operationID: String?
+ let capabilityID: String?
+ let safeMessage: String
+
+ static func local(operation: String, code: String, safeMessage: String) -> Self {
+ Self(
+ schemaVersion: 1,
+ code: code,
+ category: "runtime",
+ retryable: false,
+ recoveryActions: [],
+ operationID: operation,
+ capabilityID: nil,
+ safeMessage: safeMessage
+ )
+ }
}
extension RadrootsRuntimeFailure: LocalizedError {
- var errorDescription: String? {
- safeMessage
- }
+ var errorDescription: String? {
+ safeMessage
+ }
}
enum RadrootsRuntimeClientError: Error, Sendable, Equatable {
- case invalidBufferCapacity
- case notRunning
- case superseded
- case startup(RadrootsRuntimeFailure)
- case subscription(RadrootsRuntimeFailure)
- case status(RadrootsRuntimeFailure)
- case today(RadrootsRuntimeFailure)
- case add(RadrootsRuntimeFailure)
- case support(RadrootsRuntimeFailure)
- case shutdown(RadrootsRuntimeFailure)
+ case invalidBufferCapacity
+ case notRunning
+ case superseded
+ case startup(RadrootsRuntimeFailure)
+ case subscription(RadrootsRuntimeFailure)
+ case status(RadrootsRuntimeFailure)
+ case today(RadrootsRuntimeFailure)
+ case add(RadrootsRuntimeFailure)
+ case support(RadrootsRuntimeFailure)
+ case shutdown(RadrootsRuntimeFailure)
}
extension RadrootsRuntimeClientError: LocalizedError {
- var errorDescription: String? {
- switch self {
- case .invalidBufferCapacity:
- "The requested runtime event buffer is outside the supported range."
- case .notRunning:
- "The Radroots runtime is not running."
- case .superseded:
- "A newer runtime lifecycle request replaced this request."
- case let .startup(failure),
- let .subscription(failure),
- let .status(failure),
- let .today(failure),
- let .add(failure),
- let .support(failure),
- let .shutdown(failure):
- failure.safeMessage
- }
- }
+ var errorDescription: String? {
+ switch self {
+ case .invalidBufferCapacity:
+ "The requested runtime event buffer is outside the supported range."
+ case .notRunning:
+ "The Radroots runtime is not running."
+ case .superseded:
+ "A newer runtime lifecycle request replaced this request."
+ case .startup(let failure),
+ .subscription(let failure),
+ .status(let failure),
+ .today(let failure),
+ .add(let failure),
+ .support(let failure),
+ .shutdown(let failure):
+ failure.safeMessage
+ }
+ }
}
struct RadrootsLocalNetwork: Sendable, Equatable, Hashable, Identifiable {
- let schemaVersion: UInt16
- let id: String
- let label: String
- let relayURLs: [String]
- let locality: String?
- let followedAuthors: [String]
- let generation: UInt64
-
- static func defaultContext(snapshot: RadrootsRuntimeSnapshot) -> Self {
- Self(
- schemaVersion: 1,
- id: "default",
- label: "Local network",
- relayURLs: snapshot.relay?.relays.map(\.url) ?? [],
- locality: nil,
- followedAuthors: [],
- generation: 1
- )
- }
+ let schemaVersion: UInt16
+ let id: String
+ let label: String
+ let relayURLs: [String]
+ let locality: String?
+ let followedAuthors: [String]
+ let generation: UInt64
+
+ static func defaultContext(snapshot: RadrootsRuntimeSnapshot) -> Self {
+ Self(
+ schemaVersion: 1,
+ id: "default",
+ label: "Local network",
+ relayURLs: snapshot.relay?.relays.map(\.url) ?? [],
+ locality: nil,
+ followedAuthors: [],
+ generation: 1
+ )
+ }
}
enum RadrootsTodayCardType: String, CaseIterable, Sendable, Equatable, Hashable {
- case update
- case photoUpdate
- case ask
- case event
- case foodAvailability
-
- var label: String {
- switch self {
- case .update: "Update"
- case .photoUpdate: "Photo update"
- case .ask: "Ask"
- case .event: "Event"
- case .foodAvailability: "Food availability"
- }
+ case update
+ case photoUpdate
+ case ask
+ case event
+ case foodAvailability
+
+ var label: String {
+ switch self {
+ case .update: "Update"
+ case .photoUpdate: "Photo update"
+ case .ask: "Ask"
+ case .event: "Event"
+ case .foodAvailability: "Food availability"
}
+ }
}
enum RadrootsMediaVerificationState: String, Sendable, Equatable, Hashable {
- case pending
- case verified
- case failed
- case unavailable
+ case pending
+ case verified
+ case failed
+ case unavailable
}
struct RadrootsMediaReference: Sendable, Equatable, Hashable, Identifiable {
- let url: String
- let sha256: String?
- let mediaType: String?
- let width: UInt32?
- let height: UInt32?
- let byteSize: UInt64?
- let alt: String?
- let verification: RadrootsMediaVerificationState
-
- var id: String {
- sha256 ?? url
- }
-
- var trustedURL: URL? {
- guard verification == .verified,
- let candidate = URL(string: url),
- candidate.scheme?.lowercased() == "https"
- else {
- return nil
- }
- return candidate
- }
+ let url: String
+ let sha256: String?
+ let mediaType: String?
+ let width: UInt32?
+ let height: UInt32?
+ let byteSize: UInt64?
+ let alt: String?
+ let verification: RadrootsMediaVerificationState
+
+ var id: String {
+ sha256 ?? url
+ }
+
+ var trustedURL: URL? {
+ guard verification == .verified,
+ let candidate = URL(string: url),
+ candidate.scheme?.lowercased() == "https"
+ else {
+ return nil
+ }
+ return candidate
+ }
}
struct RadrootsProfileSummary: Sendable, Equatable, Hashable {
- let authorPublicKey: String
- let name: String?
- let displayName: String?
- let about: String?
- let picture: RadrootsMediaReference?
- let banner: RadrootsMediaReference?
- let nip05: String?
- let website: String?
- let lightningAddress: String?
-
- var preferredName: String {
- for candidate in [displayName, name] {
- if let candidate, !candidate.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
- return candidate
- }
- }
- guard authorPublicKey.count > 16 else { return authorPublicKey }
- return "\(authorPublicKey.prefix(8))…\(authorPublicKey.suffix(8))"
+ let authorPublicKey: String
+ let name: String?
+ let displayName: String?
+ let about: String?
+ let picture: RadrootsMediaReference?
+ let banner: RadrootsMediaReference?
+ let nip05: String?
+ let website: String?
+ let lightningAddress: String?
+
+ var preferredName: String {
+ for candidate in [displayName, name] {
+ if let candidate, !candidate.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
+ return candidate
+ }
}
+ guard authorPublicKey.count > 16 else { return authorPublicKey }
+ return "\(authorPublicKey.prefix(8))…\(authorPublicKey.suffix(8))"
+ }
}
enum RadrootsThreadEntryType: String, Sendable, Equatable, Hashable {
- case profile
- case reply
- case comment
- case deletion
+ case profile
+ case reply
+ case comment
+ case deletion
}
struct RadrootsThreadEntry: Sendable, Equatable, Hashable, Identifiable {
- let id: String
- let authorPublicKey: String
- let content: String
- let authoredAtUnixSeconds: UInt64
- let type: RadrootsThreadEntryType
- let root: String
- let parentEventID: String
- let authorProfile: RadrootsProfileSummary?
+ let id: String
+ let authorPublicKey: String
+ let content: String
+ let authoredAtUnixSeconds: UInt64
+ let type: RadrootsThreadEntryType
+ let root: String
+ let parentEventID: String
+ let authorProfile: RadrootsProfileSummary?
}
enum RadrootsCardLifecycleState: String, Sendable, Equatable, Hashable {
- case active
- case sold
- case past
+ case active
+ case sold
+ case past
}
struct RadrootsTodayCard: Sendable, Equatable, Hashable, Identifiable {
- let id: String
- let type: RadrootsTodayCardType
- let sourceEventID: String
- let sourceAddress: String?
- let authorPublicKey: String
- let contractID: String
- let title: String?
- let content: String
- let authoredAtUnixSeconds: UInt64
- let effectiveAtUnixSeconds: UInt64
- let eventStartUnixSeconds: UInt64?
- let eventEndUnixSeconds: UInt64?
- let location: String?
- let priceAmount: String?
- let priceCurrency: String?
- let priceUnit: String?
- let quantity: String?
- let foodSummary: String?
- let foodPublishedAtUnixSeconds: UInt64?
- let foodStatus: String?
- let contextRank: UInt8
- let inclusionReason: String
- let media: [RadrootsMediaReference]
- let lifecycle: RadrootsCardLifecycleState
- let rankDigest: String?
- let authorProfile: RadrootsProfileSummary?
- let thread: [RadrootsThreadEntry]
- let localOperationID: String?
- let localOperationState: String?
-
- var authorName: String {
- authorProfile?.preferredName
- ?? RadrootsProfileSummary(
- authorPublicKey: authorPublicKey,
- name: nil,
- displayName: nil,
- about: nil,
- picture: nil,
- banner: nil,
- nip05: nil,
- website: nil,
- lightningAddress: nil
- ).preferredName
- }
-
- var priceSummary: String? {
- guard let priceAmount, let priceCurrency, let priceUnit else { return nil }
- return "\(priceAmount) \(priceCurrency)/\(priceUnit)"
- }
-
- var accessibilitySummary: String {
- var parts = [type.label, "by \(authorName)"]
- if let title {
- parts.append(title)
- }
- if !content.isEmpty {
- parts.append(content)
- }
- if let priceSummary {
- parts.append(priceSummary)
- }
- if lifecycle != .active {
- parts.append(lifecycle.rawValue)
- }
- if let localOperationState {
- parts.append(localOperationState)
- }
- return parts.joined(separator: ", ")
- }
+ let id: String
+ let type: RadrootsTodayCardType
+ let sourceEventID: String
+ let sourceAddress: String?
+ let authorPublicKey: String
+ let contractID: String
+ let title: String?
+ let content: String
+ let authoredAtUnixSeconds: UInt64
+ let effectiveAtUnixSeconds: UInt64
+ let eventStartUnixSeconds: UInt64?
+ let eventEndUnixSeconds: UInt64?
+ let location: String?
+ let priceAmount: String?
+ let priceCurrency: String?
+ let priceUnit: String?
+ let quantity: String?
+ let foodSummary: String?
+ let foodPublishedAtUnixSeconds: UInt64?
+ let foodStatus: String?
+ let contextRank: UInt8
+ let inclusionReason: String
+ let media: [RadrootsMediaReference]
+ let lifecycle: RadrootsCardLifecycleState
+ let rankDigest: String?
+ let authorProfile: RadrootsProfileSummary?
+ let thread: [RadrootsThreadEntry]
+ let localOperationID: String?
+ let localOperationState: String?
+
+ var authorName: String {
+ authorProfile?.preferredName
+ ?? RadrootsProfileSummary(
+ authorPublicKey: authorPublicKey,
+ name: nil,
+ displayName: nil,
+ about: nil,
+ picture: nil,
+ banner: nil,
+ nip05: nil,
+ website: nil,
+ lightningAddress: nil
+ ).preferredName
+ }
+
+ var priceSummary: String? {
+ guard let priceAmount, let priceCurrency, let priceUnit else { return nil }
+ return "\(priceAmount) \(priceCurrency)/\(priceUnit)"
+ }
+
+ var accessibilitySummary: String {
+ var parts = [type.label, "by \(authorName)"]
+ if let title {
+ parts.append(title)
+ }
+ if !content.isEmpty {
+ parts.append(content)
+ }
+ if let priceSummary {
+ parts.append(priceSummary)
+ }
+ if lifecycle != .active {
+ parts.append(lifecycle.rawValue)
+ }
+ if let localOperationState {
+ parts.append(localOperationState)
+ }
+ return parts.joined(separator: ", ")
+ }
}
struct RadrootsTodayPageRequest: Sendable, Equatable {
- let context: RadrootsLocalNetwork
- let limit: UInt16
- let asOfUnixSeconds: UInt64?
- let cursor: String?
-
- static func first(
- context: RadrootsLocalNetwork,
- limit: UInt16,
- asOfUnixSeconds: UInt64
- ) -> Self {
- Self(context: context, limit: limit, asOfUnixSeconds: asOfUnixSeconds, cursor: nil)
- }
+ let context: RadrootsLocalNetwork
+ let limit: UInt16
+ let asOfUnixSeconds: UInt64?
+ let cursor: String?
- static func after(context: RadrootsLocalNetwork, limit: UInt16, cursor: String) -> Self {
- Self(context: context, limit: limit, asOfUnixSeconds: nil, cursor: cursor)
- }
+ static func first(
+ context: RadrootsLocalNetwork,
+ limit: UInt16,
+ asOfUnixSeconds: UInt64
+ ) -> Self {
+ Self(context: context, limit: limit, asOfUnixSeconds: asOfUnixSeconds, cursor: nil)
+ }
+
+ static func after(context: RadrootsLocalNetwork, limit: UInt16, cursor: String) -> Self {
+ Self(context: context, limit: limit, asOfUnixSeconds: nil, cursor: cursor)
+ }
}
struct RadrootsTodayPage: Sendable, Equatable {
- let asOfUnixSeconds: UInt64
- let items: [RadrootsTodayCard]
- let nextCursor: String?
+ let asOfUnixSeconds: UInt64
+ let items: [RadrootsTodayCard]
+ let nextCursor: String?
}
enum RadrootsTodayProjectionUpdate: Sendable, Equatable {
- case incremental
- case rebuild
+ case incremental
+ case rebuild
}
struct RadrootsTodayRefreshReceipt: Sendable, Equatable {
- let update: RadrootsTodayProjectionUpdate
- let sourceEvents: UInt64
- let visibleCards: UInt64
- let profiles: UInt64
- let threadEntries: UInt64
- let contentGeneration: UInt64
- let changed: Bool
+ let update: RadrootsTodayProjectionUpdate
+ let sourceEvents: UInt64
+ let visibleCards: UInt64
+ let profiles: UInt64
+ let threadEntries: UInt64
+ let contentGeneration: UInt64
+ let changed: Bool
}
enum RadrootsSearchResultType: Sendable, Equatable, Hashable {
- case card
- case profile
+ case card
+ case profile
}
struct RadrootsSearchResult: Sendable, Equatable, Hashable, Identifiable {
- let type: RadrootsSearchResultType
- let id: String
- let card: RadrootsTodayCard?
- let profile: RadrootsProfileSummary?
+ let type: RadrootsSearchResultType
+ let id: String
+ let card: RadrootsTodayCard?
+ let profile: RadrootsProfileSummary?
}
struct RadrootsMeSnapshot: Sendable, Equatable {
- let publicKey: String
- let profile: RadrootsProfileSummary?
- let cards: [RadrootsTodayCard]
+ let publicKey: String
+ let profile: RadrootsProfileSummary?
+ let cards: [RadrootsTodayCard]
}
enum RadrootsAddCommandType: String, CaseIterable, Sendable, Equatable, Hashable, Identifiable {
- case createUpdate
- case createPhotoUpdate
- case createAsk
- case createEvent
- case createFoodAvailability
-
- var id: String {
- rawValue
- }
+ case createUpdate
+ case createPhotoUpdate
+ case createAsk
+ case createEvent
+ case createFoodAvailability
- var label: String {
- switch self {
- case .createUpdate: "Update"
- case .createPhotoUpdate: "Photo update"
- case .createAsk: "Ask"
- case .createEvent: "Event"
- case .createFoodAvailability: "Food availability"
- }
- }
+ var id: String {
+ rawValue
+ }
- var todayCardType: RadrootsTodayCardType {
- switch self {
- case .createUpdate: .update
- case .createPhotoUpdate: .photoUpdate
- case .createAsk: .ask
- case .createEvent: .event
- case .createFoodAvailability: .foodAvailability
- }
+ var label: String {
+ switch self {
+ case .createUpdate: "Update"
+ case .createPhotoUpdate: "Photo update"
+ case .createAsk: "Ask"
+ case .createEvent: "Event"
+ case .createFoodAvailability: "Food availability"
}
+ }
- var acceptsMedia: Bool {
- self != .createUpdate
+ var todayCardType: RadrootsTodayCardType {
+ switch self {
+ case .createUpdate: .update
+ case .createPhotoUpdate: .photoUpdate
+ case .createAsk: .ask
+ case .createEvent: .event
+ case .createFoodAvailability: .foodAvailability
}
+ }
- var requiresMedia: Bool {
- self == .createPhotoUpdate
- }
}
enum RadrootsAddFieldKind: Sendable, Equatable, Hashable {
- case text
- case multilineText
- case date
- case dateTime
- case decimal
- case choice
- case location
- case media
+ case text
+ case multilineText
+ case date
+ case dateTime
+ case decimal
+ case choice
+ case location
+ case media
}
struct RadrootsAddField: Sendable, Equatable, Hashable, Identifiable {
- let schemaVersion: UInt16
- let id: String
- let label: String
- let kind: RadrootsAddFieldKind
- let required: Bool
- let choices: [String]
- let maxBytes: UInt64?
+ let schemaVersion: UInt16
+ let id: String
+ let label: String
+ let kind: RadrootsAddFieldKind
+ let required: Bool
+ let choices: [String]
+ let maxBytes: UInt64?
+ let maxItems: UInt16?
}
struct RadrootsAddSchema: Sendable, Equatable, Hashable, Identifiable {
- let schemaVersion: UInt16
- let commandType: RadrootsAddCommandType
- let label: String
- let fields: [RadrootsAddField]
+ let schemaVersion: UInt16
+ let commandType: RadrootsAddCommandType
+ let label: String
+ let fields: [RadrootsAddField]
- var id: RadrootsAddCommandType {
- commandType
- }
+ var id: RadrootsAddCommandType {
+ commandType
+ }
}
enum RadrootsEventTiming: String, Sendable, Equatable, Hashable, CaseIterable, Identifiable {
- case allDay
- case timed
+ case allDay
+ case timed
- var id: String {
- rawValue
- }
+ var id: String {
+ rawValue
+ }
- var label: String {
- self == .allDay ? "All day" : "Specific time"
- }
+ var label: String {
+ self == .allDay ? "All day" : "Specific time"
+ }
}
struct RadrootsPreparedMedia: Sendable, Equatable, Hashable, Identifiable {
- let opaqueReference: String
- let remoteURL: String?
- let sha256: String
- let mediaType: String
- let byteSize: UInt64
- let width: UInt32
- let height: UInt32
- var alt: String
- let preparedAtUnixSeconds: UInt64
-
- var id: String {
- opaqueReference
- }
+ let opaqueReference: String
+ let remoteURL: String?
+ let sha256: String
+ let mediaType: String
+ let byteSize: UInt64
+ let width: UInt32
+ let height: UInt32
+ var alt: String
+ let preparedAtUnixSeconds: UInt64
+
+ var id: String {
+ opaqueReference
+ }
}
struct RadrootsPreparedMediaHandle: Sendable, Equatable {
- let media: RadrootsPreparedMedia
- let fileDescriptor: UInt64
+ let media: RadrootsPreparedMedia
+ let fileDescriptor: UInt64
}
struct RadrootsAddForm: Sendable, Equatable, Hashable {
- var commandType: RadrootsAddCommandType
- var content: String = ""
- var identifier: String?
- var title: String?
- var summary: String?
- var location: String?
- var eventTiming: RadrootsEventTiming?
- var eventStartDate: String?
- var eventEndDate: String?
- var eventStartUnixSeconds: UInt64?
- var eventEndUnixSeconds: UInt64?
- var eventTimezone: String?
- var priceAmount: String?
- var currency: String?
- var unit: String?
- var quantity: String?
- var foodPublishedAtUnixSeconds: UInt64?
- var foodStatus: String?
- var media: [RadrootsPreparedMedia] = []
-
- static func empty(_ type: RadrootsAddCommandType = .createUpdate) -> Self {
- var form = Self(commandType: type)
- if type == .createEvent {
- form.eventTiming = .timed
- form.eventTimezone = TimeZone.current.identifier
- }
- return form
- }
+ var commandType: RadrootsAddCommandType
+ var content: String = ""
+ var identifier: String?
+ var title: String?
+ var summary: String?
+ var location: String?
+ var eventTiming: RadrootsEventTiming?
+ var eventStartDate: String?
+ var eventEndDate: String?
+ var eventStartUnixSeconds: UInt64?
+ var eventEndUnixSeconds: UInt64?
+ var eventTimezone: String?
+ var priceAmount: String?
+ var currency: String?
+ var unit: String?
+ var quantity: String?
+ var foodPublishedAtUnixSeconds: UInt64?
+ var foodStatus: String?
+ var media: [RadrootsPreparedMedia] = []
+
+ static func empty(_ type: RadrootsAddCommandType = .createUpdate) -> Self {
+ var form = Self(commandType: type)
+ if type == .createEvent {
+ form.eventTiming = .timed
+ form.eventTimezone = TimeZone.current.identifier
+ }
+ return form
+ }
}
struct RadrootsAddRuntimeInput: Sendable, Equatable {
- let form: RadrootsAddForm
- let media: [RadrootsPreparedMediaHandle]
+ let form: RadrootsAddForm
+ let media: [RadrootsPreparedMediaHandle]
}
enum RadrootsDraftKind: String, Sendable, Equatable, Hashable {
- case add
- case retraction
+ case add
+ case retraction
}
enum RadrootsOutboxState: String, Sendable, Equatable, Hashable {
- case draft
- case mediaPreparing
- case mediaUploading
- case readyToSign
- case signing
- case signed
- case queued
- case delivering
- case partiallyDelivered
- case retryable
- case terminal
- case cancelled
- case complete
-
- var isEditable: Bool {
- self == .draft || self == .mediaPreparing
- }
-
- var canAdvance: Bool {
- self == .queued || self == .retryable || self == .partiallyDelivered
- }
-
- var canCancel: Bool {
- ![.cancelled, .complete, .terminal].contains(self)
- }
-
- var label: String {
- rawValue
- .replacingOccurrences(of: "([a-z])([A-Z])", with: "$1 $2", options: .regularExpression)
- .capitalized
- }
+ case draft
+ case mediaPreparing
+ case mediaUploading
+ case readyToSign
+ case signing
+ case signed
+ case queued
+ case delivering
+ case partiallyDelivered
+ case retryable
+ case terminal
+ case cancelled
+ case complete
+
+ var isEditable: Bool {
+ self == .draft || self == .mediaPreparing
+ }
+
+ var canAdvance: Bool {
+ self == .queued || self == .retryable || self == .partiallyDelivered
+ }
+
+ var canCancel: Bool {
+ ![.cancelled, .complete, .terminal].contains(self)
+ }
+
+ var label: String {
+ rawValue
+ .replacingOccurrences(of: "([a-z])([A-Z])", with: "$1 $2", options: .regularExpression)
+ .capitalized
+ }
}
enum RadrootsDraftMediaStage: String, Sendable, Equatable, Hashable {
- case pending
- case preparing
- case uploading
- case verified
- case failed
- case orphaned
+ case pending
+ case preparing
+ case uploading
+ case verified
+ case failed
+ case orphaned
}
struct RadrootsDraftMediaStatus: Sendable, Equatable, Hashable {
- let url: String
- let stage: RadrootsDraftMediaStage
- let uploadAttempts: UInt8
- let verifiedAtUnixMilliseconds: UInt64?
- let possibleOrphan: Bool
- let orphanReasonCode: String?
- let orphanRecordedAtUnixMilliseconds: UInt64?
+ let url: String
+ let stage: RadrootsDraftMediaStage
+ let uploadAttempts: UInt8
+ let verifiedAtUnixMilliseconds: UInt64?
+ let possibleOrphan: Bool
+ let orphanReasonCode: String?
+ let orphanRecordedAtUnixMilliseconds: UInt64?
}
struct RadrootsOperationSettlement: Sendable, Equatable, Hashable {
- let artifacts: UInt16
- let signed: UInt16
- let admitted: UInt16
- let pending: UInt16
- let retryable: UInt16
- let indeterminate: UInt16
- let failedTerminal: UInt16
- let cancelled: UInt16
- let deliveryPlans: UInt16
- let deliverySatisfied: UInt16
- let deliveryPending: UInt16
- let deliveryRetryable: UInt16
- let deliveryExhausted: UInt16
- let deliveryFailedTerminal: UInt16
- let deliveryCancelled: UInt16
-
- var summary: String {
- if deliverySatisfied > 0 {
- return "Delivered"
- }
- if deliveryRetryable > 0 || retryable > 0 {
- return "Saved; delivery can be retried"
- }
- if indeterminate > 0 {
- return "Delivery outcome is not yet known"
- }
- if failedTerminal > 0 || deliveryFailedTerminal > 0 {
- return "Delivery failed"
- }
- if admitted > 0 {
- return "Published locally; relay delivery is pending"
- }
- if signed > 0 {
- return "Signed; local publication is pending"
- }
- return "Waiting"
+ let artifacts: UInt16
+ let signed: UInt16
+ let admitted: UInt16
+ let pending: UInt16
+ let retryable: UInt16
+ let indeterminate: UInt16
+ let failedTerminal: UInt16
+ let cancelled: UInt16
+ let deliveryPlans: UInt16
+ let deliverySatisfied: UInt16
+ let deliveryPending: UInt16
+ let deliveryRetryable: UInt16
+ let deliveryExhausted: UInt16
+ let deliveryFailedTerminal: UInt16
+ let deliveryCancelled: UInt16
+
+ var summary: String {
+ if deliverySatisfied > 0 {
+ return "Delivered"
+ }
+ if deliveryRetryable > 0 || retryable > 0 {
+ return "Saved; delivery can be retried"
+ }
+ if indeterminate > 0 {
+ return "Delivery outcome is not yet known"
+ }
+ if failedTerminal > 0 || deliveryFailedTerminal > 0 {
+ return "Delivery failed"
+ }
+ if admitted > 0 {
+ return "Published locally; relay delivery is pending"
}
+ if signed > 0 {
+ return "Signed; local publication is pending"
+ }
+ return "Waiting"
+ }
}
struct RadrootsDraftStatus: Sendable, Equatable, Hashable, Identifiable {
- let id: String
- let revision: UInt64
- let authorPublicKey: String
- let kind: RadrootsDraftKind
- let commandType: RadrootsAddCommandType
- let form: RadrootsAddForm?
- let state: RadrootsOutboxState
- let cardID: String
- let operationID: String?
- let createdAtUnixMilliseconds: UInt64
- let updatedAtUnixMilliseconds: UInt64
- let media: [RadrootsDraftMediaStatus]
- let settlement: RadrootsOperationSettlement?
-
- var honestSummary: String {
- settlement?.summary ?? state.label
- }
+ let id: String
+ let revision: UInt64
+ let authorPublicKey: String
+ let kind: RadrootsDraftKind
+ let commandType: RadrootsAddCommandType
+ let form: RadrootsAddForm?
+ let state: RadrootsOutboxState
+ let cardID: String
+ let operationID: String?
+ let createdAtUnixMilliseconds: UInt64
+ let updatedAtUnixMilliseconds: UInt64
+ let media: [RadrootsDraftMediaStatus]
+ let settlement: RadrootsOperationSettlement?
+ let isRevision: Bool
+
+ var honestSummary: String {
+ settlement?.summary ?? state.label
+ }
}
struct RadrootsRetractionDraftInput: Sendable, Equatable, Hashable {
- let commandType: RadrootsAddCommandType
- let targetCardID: String
- let targetEventID: String
- let targetKind: UInt32
- let targetAddress: String?
- let reason: String
+ let commandType: RadrootsAddCommandType
+ let targetCardID: String
+ let targetEventID: String
+ let targetKind: UInt32
+ let targetAddress: String?
+ let reason: String
+}
+
+struct RadrootsRevisionTarget: Sendable, Equatable, Hashable {
+ let cardID: String
+ let sourceEventID: String
+ let sourceAddress: String?
+ let authorPublicKey: String
+}
+
+enum RadrootsRevisionPolicy: Sendable, Equatable, Hashable {
+ case replaceThenRetract
+ case addressableReplacement
+}
+
+enum RadrootsRevisionPhase: Sendable, Equatable, Hashable {
+ case replacementPending
+ case replacementFailed
+ case retractionPending
+ case complete
+ case partialEffect
+ case cancelled
+}
+
+struct RadrootsRevisionStatus: Sendable, Equatable {
+ let operationID: String
+ let replacement: RadrootsDraftStatus
+ let retraction: RadrootsDraftStatus?
+ let policy: RadrootsRevisionPolicy
+ let phase: RadrootsRevisionPhase
+
+ var honestSummary: String {
+ switch phase {
+ case .replacementPending: "Replacement saved for delivery"
+ case .replacementFailed: "Replacement failed; the original remains"
+ case .retractionPending: "Replacement published; retraction is pending"
+ case .complete: "Revision complete"
+ case .partialEffect: "Replacement published; retraction did not complete"
+ case .cancelled: "Revision cancelled"
+ }
+ }
}
struct RadrootsBlossomUploadIntent: Sendable, Equatable {
- let draftID: String
- let expectedRevision: UInt64
- let media: RadrootsPreparedMediaHandle
+ let draftID: String
+ let expectedRevision: UInt64
+ let media: RadrootsPreparedMediaHandle
+}
+
+struct RadrootsNativeUploadJob: Sendable, Equatable {
+ let operationID: String
+ let draft: RadrootsDraftStatus
+ let remoteURL: String
+ let authorizationHeader: String
+ let expectedSHA256: String
+ let mediaType: String
+ let byteSize: UInt64
+}
+
+struct RadrootsNativeUploadCompletion: Sendable, Equatable {
+ let draftID: String
+ let expectedRevision: UInt64
+ let media: RadrootsPreparedMediaHandle
+ let statusCode: UInt16
+ let responseMediaType: String?
+ let responseContentEncoding: String?
+ let responseBody: Data
}
enum RadrootsRuntimeLifecycle: Sendable, Equatable {
- case stopped
- case starting(generation: UInt64)
- case running(generation: UInt64)
- case stopping(generation: UInt64)
- case failed(generation: UInt64, failure: RadrootsRuntimeFailure)
+ case stopped
+ case starting(generation: UInt64)
+ case running(generation: UInt64)
+ case stopping(generation: UInt64)
+ case failed(generation: UInt64, failure: RadrootsRuntimeFailure)
}
diff --git a/Radroots/State/RadrootsAddStore.swift b/Radroots/State/RadrootsAddStore.swift
@@ -1,616 +1,669 @@
import Foundation
enum RadrootsAddLoadState: Sendable, Equatable {
- case idle
- case loading
- case ready
- case failed(String)
+ case idle
+ case loading
+ case ready
+ case failed(String)
}
@MainActor
final class RadrootsAddStore: ObservableObject {
- @Published private(set) var schemas: [RadrootsAddSchema] = []
- @Published private(set) var drafts: [RadrootsDraftStatus] = []
- @Published private(set) var activeDraft: RadrootsDraftStatus?
- @Published private(set) var form: RadrootsAddForm
- @Published private(set) var state: RadrootsAddLoadState = .idle
- @Published private(set) var mediaSupport: RadrootsAddMediaSupport = .unavailable
- @Published private(set) var blossomConfiguration: RadrootsBlossomConfigurationStatus?
- @Published private(set) var blossomEvidence: RadrootsBlossomEvidence?
- @Published private(set) var isCheckingBlossom = false
- @Published private(set) var isWorking = false
- @Published private(set) var message: String?
- @Published private(set) var lastFailureCode: String?
- @Published private(set) var observationState: RadrootsRuntimeObservationState = .inactive
-
- private let runtimeClient: RadrootsRuntimeClient
- private let media: (any RadrootsAddMediaHandling)?
- private let now: @Sendable () -> UInt64
- private let observationDelay: @Sendable (UInt32) async throws -> Void
- private var generation: UInt64 = 0
- private var operationGeneration: UInt64?
- private var observationTask: Task<Void, Never>?
- private var isStarted = false
- private var observationGeneration: UInt64 = 0
-
- init(
- runtimeClient: RadrootsRuntimeClient,
- media: (any RadrootsAddMediaHandling)? = nil,
- initialType: RadrootsAddCommandType = .createUpdate,
- now: @escaping @Sendable () -> UInt64 = {
- UInt64(Date().timeIntervalSince1970)
- },
- observationDelay: @escaping @Sendable (UInt32) async throws -> Void =
- RadrootsRuntimeObservationBackoff.sleep
- ) {
- self.runtimeClient = runtimeClient
- self.media = media
- self.now = now
- self.observationDelay = observationDelay
- form = .empty(initialType)
- }
-
- deinit {
- observationTask?.cancel()
- }
-
- var selectedSchema: RadrootsAddSchema? {
- schemas.first(where: { $0.commandType == form.commandType })
- }
-
- var isFormEditable: Bool {
- activeDraft?.state.isEditable ?? true
- }
-
- var canSave: Bool {
- isFormEditable && !isWorking
- }
-
- var canSubmit: Bool {
- !isWorking && (activeDraft?.state.canAdvance == true || isFormEditable)
- }
-
- func configure(snapshot: RadrootsRuntimeSnapshot) {
- blossomConfiguration = snapshot.blossomConfiguration
- blossomEvidence = snapshot.blossomEvidence
- }
-
- func start() async {
- guard !isStarted else { return }
- isStarted = true
- startObservation()
- guard operationGeneration == nil else { return }
- message = nil
- state = .loading
- generation &+= 1
- let requestedGeneration = generation
- do {
- async let schemaResult = runtimeClient.addSchemas()
- async let draftResult = runtimeClient.draftHeads(limit: 100)
- async let supportResult = loadMediaSupport()
- let (loadedSchemas, loadedDrafts, loadedSupport) = try await (
- schemaResult,
- draftResult,
- supportResult
- )
- guard requestedGeneration == generation else { return }
- schemas = loadedSchemas
- drafts = Self.sorted(loadedDrafts)
- mediaSupport = loadedSupport
- state = .ready
- } catch {
- guard requestedGeneration == generation else { return }
- state = .failed(Self.message(for: error))
- }
- }
-
- func stop() {
- generation &+= 1
- isStarted = false
- observationGeneration &+= 1
- observationTask?.cancel()
- observationTask = nil
- observationState = .stopped
- isWorking = false
- }
-
- func suspend() {
- isStarted = false
- observationGeneration &+= 1
- observationTask?.cancel()
- observationTask = nil
- observationState = .stopped
- }
-
- func selectType(_ type: RadrootsAddCommandType) {
- guard !isWorking, isFormEditable, form.commandType != type else { return }
- activeDraft = nil
- form = .empty(type)
- message = nil
- }
-
- func updateForm<Value>(_ keyPath: WritableKeyPath<RadrootsAddForm, Value>, _ value: Value) {
- guard isFormEditable else { return }
- form[keyPath: keyPath] = value
- }
-
- func newDraft(type: RadrootsAddCommandType? = nil) {
- guard !isWorking else { return }
- generation &+= 1
- activeDraft = nil
- form = .empty(type ?? form.commandType)
- message = nil
- }
-
- func reopen(_ draft: RadrootsDraftStatus) {
- guard !isWorking else { return }
- guard let snapshot = draft.form else {
- message = "This operation has no editable Add form."
- return
- }
- generation &+= 1
- activeDraft = draft
- form = snapshot
- message = draft.state.isEditable ? "Draft reopened." : draft.honestSummary
- }
-
- func importPhotos() async {
- guard isFormEditable, form.commandType.acceptsMedia, let media else {
- message = "Photo intake is unavailable."
- return
- }
- await perform {
- let remaining = max(1, 20 - self.form.media.count)
- let imported = try await media.importImages(limit: remaining)
- self.form.media.append(contentsOf: imported)
- self.message = "Photo prepared. Add descriptive text before publishing."
- }
- }
-
- func checkPhotoService() async {
- guard !isCheckingBlossom else { return }
- guard blossomConfiguration != nil else {
- mediaSupport = .unavailable
- message = "No photo service is configured for the current network profile."
- return
- }
- isCheckingBlossom = true
- defer { isCheckingBlossom = false }
- do {
- blossomEvidence = try await runtimeClient.probeBlossom()
- mediaSupport = try await loadMediaSupport()
- message = "Photo service is reachable."
- } catch {
- await refreshBlossomSnapshot()
- mediaSupport = .unavailable
- message = Self.message(for: error)
- }
- }
-
- func capturePhoto() async {
- guard isFormEditable, form.commandType.acceptsMedia, let media else {
- message = "Camera intake is unavailable."
- return
- }
- await perform {
- try await self.form.media.append(media.captureImage())
- self.message = "Photo prepared. Add descriptive text before publishing."
- }
- }
-
- func removeMedia(id: String) {
- guard isFormEditable else { return }
- form.media.removeAll(where: { $0.id == id })
- }
-
- func updateMediaAlt(id: String, alt: String) {
- guard isFormEditable,
- let index = form.media.firstIndex(where: { $0.id == id })
- else { return }
- form.media[index].alt = alt
- }
-
- func save() async {
- await perform {
- _ = try await self.saveCurrentForm()
- self.message = "Draft saved on this device."
- }
- }
-
- func submit() async {
- await perform {
- var status: RadrootsDraftStatus =
- if let active = self.activeDraft, !active.state.isEditable {
- active
- } else {
- try await self.saveCurrentForm()
- }
-
- if !status.media.isEmpty,
- status.media.contains(where: { $0.stage != .verified })
- {
- status = try await self.uploadPendingMedia(status)
- }
-
- if status.state.isEditable || status.state == .readyToSign {
- do {
- status = try await self.runtimeClient.queueAddIntent(
- id: status.id,
- expectedRevision: status.revision
- )
- self.accept(status)
- } catch {
- if Self.failure(for: error)?.code == "writable_relay_unavailable" {
- self.accept(status)
- self.message =
- status.media.isEmpty
- ? "Draft saved. Configure a writable relay to publish."
- : "Photo verified and draft saved. Configure a writable relay to publish."
- return
- }
- throw error
- }
- }
-
- do {
- if status.state.canAdvance {
- status = try await self.runtimeClient.advanceDraft(
- id: status.id,
- expectedRevision: status.revision
- )
- self.accept(status)
- }
- self.message = status.honestSummary
- } catch {
- // Queueing is the commit point. A later retry must reuse this immutable snapshot.
- self.message = "Saved for retry. \(Self.message(for: error))"
- }
- }
- }
-
- func retry(_ draft: RadrootsDraftStatus? = nil) async {
- guard let draft = draft ?? activeDraft else { return }
- await perform {
- var current = try await self.runtimeClient.draftStatus(id: draft.id)
- if current.state == .draft || current.state == .mediaPreparing
- || current.state == .readyToSign
- {
- self.activeDraft = current
- if let form = current.form {
- self.form = form
- }
- self.message = "Review the draft before submitting again."
- return
- }
- if current.state.canAdvance {
- current = try await self.runtimeClient.advanceDraft(
- id: current.id,
- expectedRevision: current.revision
- )
- }
- self.accept(current)
- self.message = current.honestSummary
- }
- }
-
- func cancel(_ draft: RadrootsDraftStatus? = nil) async {
- guard let draft = draft ?? activeDraft, draft.state.canCancel else { return }
- await perform {
- let current = try await self.runtimeClient.draftStatus(id: draft.id)
- let cancelled = try await self.runtimeClient.cancelAddIntent(
- id: current.id,
- expectedRevision: current.revision
- )
- self.accept(cancelled)
- self.message = "Local work was cancelled. Any already-published relay effect is preserved."
+ @Published private(set) var schemas: [RadrootsAddSchema] = []
+ @Published private(set) var drafts: [RadrootsDraftStatus] = []
+ @Published private(set) var activeDraft: RadrootsDraftStatus?
+ @Published private(set) var form: RadrootsAddForm
+ @Published private(set) var state: RadrootsAddLoadState = .idle
+ @Published private(set) var mediaSupport: RadrootsAddMediaSupport = .unavailable
+ @Published private(set) var blossomConfiguration: RadrootsBlossomConfigurationStatus?
+ @Published private(set) var blossomEvidence: RadrootsBlossomEvidence?
+ @Published private(set) var isCheckingBlossom = false
+ @Published private(set) var isWorking = false
+ @Published private(set) var message: String?
+ @Published private(set) var lastFailureCode: String?
+ @Published private(set) var observationState: RadrootsRuntimeObservationState = .inactive
+
+ private let runtimeClient: RadrootsRuntimeClient
+ private let media: (any RadrootsAddMediaHandling)?
+ private let observationDelay: @Sendable (UInt32) async throws -> Void
+ private var generation: UInt64 = 0
+ private var operationGeneration: UInt64?
+ private var operationTask: Task<Void, Never>?
+ private var observationTask: Task<Void, Never>?
+ private var isStarted = false
+ private var observationGeneration: UInt64 = 0
+ private var revisionTarget: RadrootsRevisionTarget?
+ private var revisionOperationID: String?
+
+ init(
+ runtimeClient: RadrootsRuntimeClient,
+ media: (any RadrootsAddMediaHandling)? = nil,
+ initialType: RadrootsAddCommandType = .createUpdate,
+ observationDelay: @escaping @Sendable (UInt32) async throws -> Void =
+ RadrootsRuntimeObservationBackoff.sleep
+ ) {
+ self.runtimeClient = runtimeClient
+ self.media = media
+ self.observationDelay = observationDelay
+ form = .empty(initialType)
+ }
+
+ deinit {
+ observationTask?.cancel()
+ }
+
+ var selectedSchema: RadrootsAddSchema? {
+ schemas.first(where: { $0.commandType == form.commandType })
+ }
+
+ var isFormEditable: Bool {
+ guard activeDraft?.isRevision != true else { return false }
+ return activeDraft?.state.isEditable ?? true
+ }
+
+ var canSave: Bool {
+ isFormEditable && !isWorking
+ }
+
+ var canSubmit: Bool {
+ !isWorking
+ && (activeDraft?.isRevision == true || activeDraft?.state.canAdvance == true
+ || isFormEditable)
+ }
+
+ var acceptsMedia: Bool {
+ mediaLimit > 0
+ }
+
+ var canAddMedia: Bool {
+ isFormEditable && acceptsMedia && form.media.count < mediaLimit
+ }
+
+ private var mediaLimit: Int {
+ guard
+ let maximum = selectedSchema?.fields
+ .first(where: { $0.kind == .media })?.maxItems
+ else { return 0 }
+ return Int(maximum)
+ }
+
+ func configure(snapshot: RadrootsRuntimeSnapshot) {
+ blossomConfiguration = snapshot.blossomConfiguration
+ blossomEvidence = snapshot.blossomEvidence
+ }
+
+ func start() async {
+ guard !isStarted else { return }
+ isStarted = true
+ startObservation()
+ guard operationGeneration == nil else { return }
+ message = nil
+ state = .loading
+ generation &+= 1
+ let requestedGeneration = generation
+ do {
+ async let schemaResult = runtimeClient.addSchemas()
+ async let draftResult = runtimeClient.draftHeads(limit: 100)
+ async let supportResult = loadMediaSupport()
+ let (loadedSchemas, loadedDrafts, loadedSupport) = try await (
+ schemaResult,
+ draftResult,
+ supportResult
+ )
+ guard requestedGeneration == generation else { return }
+ schemas = loadedSchemas
+ drafts = Self.sorted(loadedDrafts)
+ mediaSupport = loadedSupport
+ state = .ready
+ } catch {
+ guard requestedGeneration == generation else { return }
+ state = .failed(Self.message(for: error))
+ }
+ }
+
+ func stop() {
+ generation &+= 1
+ operationGeneration = nil
+ operationTask?.cancel()
+ operationTask = nil
+ isStarted = false
+ observationGeneration &+= 1
+ observationTask?.cancel()
+ observationTask = nil
+ observationState = .stopped
+ isWorking = false
+ }
+
+ func suspend() {
+ isStarted = false
+ observationGeneration &+= 1
+ observationTask?.cancel()
+ observationTask = nil
+ observationState = .stopped
+ }
+
+ func selectType(_ type: RadrootsAddCommandType) {
+ guard !isWorking, isFormEditable, form.commandType != type else { return }
+ activeDraft = nil
+ revisionTarget = nil
+ revisionOperationID = nil
+ form = .empty(type)
+ message = nil
+ }
+
+ func updateForm<Value>(_ keyPath: WritableKeyPath<RadrootsAddForm, Value>, _ value: Value) {
+ guard isFormEditable else { return }
+ form[keyPath: keyPath] = value
+ }
+
+ func newDraft(type: RadrootsAddCommandType? = nil) {
+ guard !isWorking else { return }
+ generation &+= 1
+ activeDraft = nil
+ revisionTarget = nil
+ revisionOperationID = nil
+ form = .empty(type ?? form.commandType)
+ message = nil
+ }
+
+ func reopen(_ draft: RadrootsDraftStatus) {
+ guard !isWorking else { return }
+ guard let snapshot = draft.form else {
+ message = "This operation has no editable Add form."
+ return
+ }
+ generation &+= 1
+ activeDraft = draft
+ revisionTarget = nil
+ revisionOperationID = draft.isRevision ? draft.id : nil
+ form = snapshot
+ message = draft.state.isEditable ? "Draft reopened." : draft.honestSummary
+ }
+
+ func importPhotos() async {
+ guard canAddMedia, let media else {
+ message = "Photo intake is unavailable."
+ return
+ }
+ await perform {
+ let remaining = self.mediaLimit - self.form.media.count
+ guard remaining > 0 else { return }
+ let imported = try await media.importImages(limit: remaining)
+ try Task.checkCancellation()
+ self.form.media.append(contentsOf: imported.prefix(remaining))
+ self.message = "Photo prepared. Add descriptive text before publishing."
+ }
+ }
+
+ func checkPhotoService() async {
+ guard !isCheckingBlossom else { return }
+ guard blossomConfiguration != nil else {
+ mediaSupport = .unavailable
+ message = "No photo service is configured for the current network profile."
+ return
+ }
+ isCheckingBlossom = true
+ defer { isCheckingBlossom = false }
+ do {
+ blossomEvidence = try await runtimeClient.probeBlossom()
+ mediaSupport = try await loadMediaSupport()
+ message = "Photo service is reachable."
+ } catch {
+ await refreshBlossomSnapshot()
+ mediaSupport = .unavailable
+ message = Self.message(for: error)
+ }
+ }
+
+ func capturePhoto() async {
+ guard canAddMedia, let media else {
+ message = "Camera intake is unavailable."
+ return
+ }
+ await perform {
+ let captured = try await media.captureImage()
+ try Task.checkCancellation()
+ guard self.form.media.count < self.mediaLimit else { return }
+ self.form.media.append(captured)
+ self.message = "Photo prepared. Add descriptive text before publishing."
+ }
+ }
+
+ func removeMedia(id: String) {
+ guard isFormEditable else { return }
+ form.media.removeAll(where: { $0.id == id })
+ }
+
+ func updateMediaAlt(id: String, alt: String) {
+ guard isFormEditable,
+ let index = form.media.firstIndex(where: { $0.id == id })
+ else { return }
+ form.media[index].alt = alt
+ }
+
+ func save() async {
+ await perform {
+ _ = try await self.saveCurrentForm()
+ self.message = "Draft saved on this device."
+ }
+ }
+
+ func submit() async {
+ await perform {
+ var status: RadrootsDraftStatus =
+ if let active = self.activeDraft, !active.state.isEditable {
+ active
+ } else {
+ try await self.saveCurrentForm()
}
- }
- func retractAndRevise(_ card: RadrootsTodayCard) async {
- await perform {
- let retractionID = Self.draftID()
- var retraction = try await self.runtimeClient.saveRetractionDraft(
- id: retractionID,
- input: Self.retractionInput(card),
- authoredAtUnixSeconds: self.now(),
- persistedAtUnixMilliseconds: self.nowMilliseconds()
- )
- retraction = try await self.runtimeClient.queueAddIntent(
- id: retraction.id,
- expectedRevision: retraction.revision
- )
- self.accept(retraction)
- do {
- retraction = try await self.runtimeClient.advanceDraft(
- id: retraction.id,
- expectedRevision: retraction.revision
- )
- self.accept(retraction)
- } catch {
- self.message = "The retraction is saved for retry. The revised copy remains separate."
- }
- self.activeDraft = nil
- self.form = Self.revisedForm(card)
- self.message =
- "Retraction: \(retraction.honestSummary). Review the separate revised copy before publishing."
- }
- }
+ if !status.media.isEmpty,
+ status.media.contains(where: { $0.stage != .verified })
+ {
+ status = try await self.uploadPendingMedia(status)
+ }
- private func saveCurrentForm() async throws -> RadrootsDraftStatus {
- guard isFormEditable else {
- throw RadrootsRuntimeFailure.local(
- operation: "add.save",
- code: "ios.add.form_frozen",
- safeMessage: "Submitted drafts cannot be changed. Create a revised copy instead."
- )
- }
- let opened = try await openedMedia()
- defer { opened.close() }
- let status = try await runtimeClient.saveAddIntent(
- input: RadrootsAddRuntimeInput(form: form, media: opened.handles),
- existingDraftID: activeDraft?.id,
- expectedRevision: activeDraft?.revision
+ if status.isRevision {
+ let revision = try await self.runtimeClient.advanceRevision(
+ operationID: self.revisionOperationID ?? status.id
)
- accept(status)
- return status
- }
-
- private func uploadPendingMedia(_ initial: RadrootsDraftStatus) async throws
- -> RadrootsDraftStatus
- {
- var status = initial
- guard let form = status.form else { return status }
- let opened = try await openedMedia(form.media)
- defer { opened.close() }
- for mediaStatus in status.media where mediaStatus.stage != .verified {
- guard let persisted = form.media.first(where: { $0.remoteURL == mediaStatus.url }),
- let handle = opened.handles.first(where: {
- $0.media.opaqueReference == persisted.opaqueReference
- })
- else {
- throw RadrootsRuntimeFailure.local(
- operation: "add.media.upload",
- code: "ios.add.media_missing",
- safeMessage: "A prepared photo is unavailable."
- )
- }
- status = try await runtimeClient.uploadAddMediaIntent(
- input: RadrootsBlossomUploadIntent(
- draftID: status.id,
- expectedRevision: status.revision,
- media: handle
- )
- )
- accept(status)
- await refreshBlossomSnapshot()
- }
- return status
- }
-
- private func openedMedia(_ values: [RadrootsPreparedMedia]? = nil) async throws
- -> RadrootsOpenedMedia
- {
- let values = values ?? form.media
- guard !values.isEmpty else { return RadrootsOpenedMedia(handles: [], files: []) }
- guard let media else {
- throw RadrootsRuntimeFailure.local(
- operation: "add.media.open",
- code: "ios.add.media_unavailable",
- safeMessage: "Prepared photos are unavailable on this device."
- )
- }
- return try await media.open(values)
- }
+ try Task.checkCancellation()
+ self.accept(revision)
+ self.message = revision.honestSummary
+ return
+ }
- private func reloadDrafts() async {
+ if status.state.isEditable || status.state == .readyToSign {
do {
- let loaded = try await runtimeClient.draftHeads(limit: 100)
- drafts = Self.sorted(loaded)
- if let activeDraft,
- let current = loaded.first(where: { $0.id == activeDraft.id })
- {
- self.activeDraft = current
- }
+ status = try await self.runtimeClient.queueAddIntent(
+ id: status.id,
+ expectedRevision: status.revision
+ )
+ self.accept(status)
} catch {
- message = Self.message(for: error)
- }
- }
-
- private func loadMediaSupport() async throws -> RadrootsAddMediaSupport {
- guard blossomConfiguration != nil, let media else { return .unavailable }
- return try await media.support()
- }
-
- private func refreshBlossomSnapshot() async {
- guard let snapshot = try? await runtimeClient.snapshot() else { return }
- blossomConfiguration = snapshot.blossomConfiguration
- blossomEvidence = snapshot.blossomEvidence
- }
-
- private func startObservation() {
- observationGeneration &+= 1
- let requestedGeneration = observationGeneration
- observationTask = Task { [weak self] in
- await self?.observe(generation: requestedGeneration)
- }
- }
-
- private func observe(generation: UInt64) async {
- var attempt: UInt32 = 0
- while isStarted, observationGeneration == generation, !Task.isCancelled {
- observationState = .subscribing(attempt: attempt &+ 1)
- var failureMessage = "Runtime observation ended unexpectedly."
- do {
- let changes = try await runtimeClient.changes(bufferCapacity: 16)
- observationState = .active
- for await change in changes {
- guard !Task.isCancelled else { break }
- attempt = 0
- if change.kind == .drafts || change.kind == .media {
- await reloadDrafts()
- }
- if change.kind == .media || change.kind == .settings {
- await refreshBlossomSnapshot()
- }
- }
- } catch {
- failureMessage =
- (error as? LocalizedError)?.errorDescription
- ?? "Runtime observation is temporarily unavailable."
- }
- guard isStarted, observationGeneration == generation, !Task.isCancelled else { break }
- attempt = attempt == .max ? .max : attempt + 1
- observationState = .retrying(attempt: attempt, message: failureMessage)
- do {
- try await observationDelay(attempt)
- } catch {
- break
- }
- }
- guard observationGeneration == generation else { return }
- observationTask = nil
- isStarted = false
- if case .retrying = observationState {
+ if Self.failure(for: error)?.code == "writable_relay_unavailable" {
+ self.accept(status)
+ self.message =
+ status.media.isEmpty
+ ? "Draft saved. Configure a writable relay to publish."
+ : "Photo verified and draft saved. Configure a writable relay to publish."
return
+ }
+ throw error
}
- observationState = .stopped
- }
-
- private func accept(_ status: RadrootsDraftStatus) {
- guard operationGeneration == nil || operationGeneration == generation else { return }
- activeDraft = status
- if let form = status.form {
- self.form = form
+ }
+
+ do {
+ if status.state.canAdvance {
+ status = try await self.runtimeClient.advanceDraft(
+ id: status.id,
+ expectedRevision: status.revision
+ )
+ self.accept(status)
}
- drafts.removeAll(where: { $0.id == status.id })
- drafts.append(status)
- drafts = Self.sorted(drafts)
- }
-
- private func perform(_ operation: @escaping () async throws -> Void) async {
- generation &+= 1
- let requestedGeneration = generation
- operationGeneration = requestedGeneration
- isWorking = true
- message = nil
- lastFailureCode = nil
- do {
- try await operation()
- } catch is CancellationError {
- if requestedGeneration == generation {
- message = "The operation was cancelled."
- }
- } catch {
- if requestedGeneration == generation {
- await refreshBlossomSnapshot()
- message = Self.message(for: error)
- lastFailureCode = Self.failure(for: error)?.code
- }
+ self.message = status.honestSummary
+ } catch {
+ // Queueing is the commit point. A later retry must reuse this immutable snapshot.
+ self.message = "Saved for retry. \(Self.message(for: error))"
+ }
+ }
+ }
+
+ func retry(_ draft: RadrootsDraftStatus? = nil) async {
+ guard let draft = draft ?? activeDraft else { return }
+ await perform {
+ var current = try await self.runtimeClient.draftStatus(id: draft.id)
+ try Task.checkCancellation()
+ if current.state == .draft || current.state == .mediaPreparing
+ || current.state == .readyToSign
+ {
+ self.activeDraft = current
+ self.revisionOperationID = current.isRevision ? current.id : nil
+ if let form = current.form {
+ self.form = form
}
- if requestedGeneration == generation {
- isWorking = false
- operationGeneration = nil
- }
- }
-
- private func nowMilliseconds() -> UInt64 {
- now() * 1000
- }
-
- private static func sorted(_ drafts: [RadrootsDraftStatus]) -> [RadrootsDraftStatus] {
- drafts.sorted {
- if $0.updatedAtUnixMilliseconds == $1.updatedAtUnixMilliseconds {
- return $0.id < $1.id
- }
- return $0.updatedAtUnixMilliseconds > $1.updatedAtUnixMilliseconds
- }
- }
-
- private static func draftID() -> String {
- UUID().uuidString.replacingOccurrences(of: "-", with: "").lowercased()
- }
-
- private static func message(for error: Error) -> String {
- if let failure = failure(for: error) {
- return failure.safeMessage
- }
- return (error as? LocalizedError)?.errorDescription
- ?? "The Add operation could not be completed."
- }
-
- private static func failure(for error: Error) -> RadrootsRuntimeFailure? {
- if case let RadrootsRuntimeClientError.add(failure) = error {
- return failure
- }
- return error as? RadrootsRuntimeFailure
- }
-
- private static func retractionInput(_ card: RadrootsTodayCard) -> RadrootsRetractionDraftInput {
- let command = commandType(for: card.type)
- let kind: UInt32 =
- switch card.type {
- case .update, .photoUpdate, .ask: 1
- case .event: card.contractID == "radroots.calendar.date_event.v1" ? 31922 : 31923
- case .foodAvailability: 30402
- }
- return RadrootsRetractionDraftInput(
- commandType: command,
- targetCardID: card.id,
- targetEventID: card.sourceEventID,
- targetKind: kind,
- targetAddress: card.sourceAddress,
- reason: "Replaced with a revised copy"
+ self.message = "Review the draft before submitting again."
+ return
+ }
+ if current.isRevision {
+ let revision = try await self.runtimeClient.advanceRevision(
+ operationID: current.id
)
- }
-
- private static func revisedForm(_ card: RadrootsTodayCard) -> RadrootsAddForm {
- let command = commandType(for: card.type)
- var form = RadrootsAddForm.empty(command)
- form.content = card.content
- form.title = card.title
- form.location = card.location
- form.priceAmount = card.priceAmount
- form.currency = card.priceCurrency
- form.unit = card.priceUnit
- form.quantity = card.quantity
- if let address = card.sourceAddress?.split(separator: ":").last {
- form.identifier = String(address)
- }
- if command == .createEvent {
- form.eventTiming = card.contractID == "radroots.calendar.date_event.v1" ? .allDay : .timed
- if form.eventTiming == .timed {
- form.eventStartUnixSeconds = card.eventStartUnixSeconds
- form.eventEndUnixSeconds = card.eventEndUnixSeconds
- form.eventTimezone = TimeZone.current.identifier
- } else if let start = card.eventStartUnixSeconds {
- form.eventStartDate = dateString(start)
- form.eventEndDate = card.eventEndUnixSeconds.map(dateString)
- }
- } else if command == .createFoodAvailability {
- form.summary = card.foodSummary ?? card.content
- form.foodPublishedAtUnixSeconds =
- card.foodPublishedAtUnixSeconds ?? card.effectiveAtUnixSeconds
- form.foodStatus = card.foodStatus ?? card.lifecycle.rawValue
+ try Task.checkCancellation()
+ self.accept(revision)
+ self.message = revision.honestSummary
+ return
+ }
+ if current.state.canAdvance {
+ current = try await self.runtimeClient.advanceDraft(
+ id: current.id,
+ expectedRevision: current.revision
+ )
+ }
+ self.accept(current)
+ self.message = current.honestSummary
+ }
+ }
+
+ func cancel(_ draft: RadrootsDraftStatus? = nil) async {
+ guard let draft = draft ?? activeDraft, draft.state.canCancel else { return }
+ await perform {
+ let current = try await self.runtimeClient.draftStatus(id: draft.id)
+ try Task.checkCancellation()
+ if current.isRevision {
+ let cancelled = try await self.runtimeClient.cancelRevision(
+ operationID: current.id
+ )
+ try Task.checkCancellation()
+ self.accept(cancelled)
+ self.message = cancelled.honestSummary
+ return
+ }
+ let cancelled = try await self.runtimeClient.cancelAddIntent(
+ id: current.id,
+ expectedRevision: current.revision
+ )
+ self.accept(cancelled)
+ self.message = "Local work was cancelled. Any already-published relay effect is preserved."
+ }
+ }
+
+ func retractAndRevise(_ card: RadrootsTodayCard) async {
+ await perform {
+ guard let operationID = card.localOperationID else {
+ throw RadrootsRuntimeFailure.local(
+ operation: "add.revise",
+ code: "ios.add.revision_source_unavailable",
+ safeMessage: "This post cannot be revised losslessly on this device."
+ )
+ }
+ let source = try await self.runtimeClient.draftStatus(id: operationID)
+ try Task.checkCancellation()
+ guard let sourceForm = source.form else {
+ throw RadrootsRuntimeFailure.local(
+ operation: "add.revise",
+ code: "ios.add.revision_form_unavailable",
+ safeMessage: "The original Add form is unavailable on this device."
+ )
+ }
+ self.revisionTarget = RadrootsRevisionTarget(
+ cardID: card.id,
+ sourceEventID: card.sourceEventID,
+ sourceAddress: card.sourceAddress,
+ authorPublicKey: card.authorPublicKey
+ )
+ self.revisionOperationID = nil
+ self.activeDraft = nil
+ self.form = sourceForm
+ self.message = "Review the lossless revised copy before publishing."
+ }
+ }
+
+ private func saveCurrentForm() async throws -> RadrootsDraftStatus {
+ guard isFormEditable else {
+ throw RadrootsRuntimeFailure.local(
+ operation: "add.save",
+ code: "ios.add.form_frozen",
+ safeMessage: "Submitted drafts cannot be changed. Create a revised copy instead."
+ )
+ }
+ let opened = try await openedMedia()
+ defer { opened.close() }
+ let input = RadrootsAddRuntimeInput(form: form, media: opened.handles)
+ if let target = revisionTarget {
+ let revision = try await runtimeClient.saveRevisionIntent(
+ target: target,
+ replacement: input
+ )
+ try Task.checkCancellation()
+ revisionOperationID = revision.operationID
+ self.revisionTarget = nil
+ accept(revision)
+ return revision.replacement
+ }
+ let status = try await runtimeClient.saveAddIntent(
+ input: input,
+ existingDraftID: activeDraft?.isRevision == true ? nil : activeDraft?.id,
+ expectedRevision: activeDraft?.isRevision == true ? nil : activeDraft?.revision
+ )
+ try Task.checkCancellation()
+ accept(status)
+ return status
+ }
+
+ private func uploadPendingMedia(_ initial: RadrootsDraftStatus) async throws
+ -> RadrootsDraftStatus
+ {
+ guard let media else {
+ throw RadrootsRuntimeFailure.local(
+ operation: "add.media.upload",
+ code: "ios.add.media_unavailable",
+ safeMessage: "Prepared photos are unavailable on this device."
+ )
+ }
+ var status = initial
+ guard let form = status.form else { return status }
+ let opened = try await openedMedia(form.media)
+ defer { opened.close() }
+ for mediaStatus in status.media where mediaStatus.stage != .verified {
+ guard let persisted = form.media.first(where: { $0.remoteURL == mediaStatus.url }),
+ let handle = opened.handles.first(where: {
+ $0.media.opaqueReference == persisted.opaqueReference
+ })
+ else {
+ throw RadrootsRuntimeFailure.local(
+ operation: "add.media.upload",
+ code: "ios.add.media_missing",
+ safeMessage: "A prepared photo is unavailable."
+ )
+ }
+ let intent = RadrootsBlossomUploadIntent(
+ draftID: status.id,
+ expectedRevision: status.revision,
+ media: handle
+ )
+ let job = try await runtimeClient.prepareAddMediaBackground(input: intent)
+ try Task.checkCancellation()
+ accept(job.draft)
+ let receipt = try await media.uploadInBackground(job: job, media: persisted)
+ try Task.checkCancellation()
+ do {
+ status = try await runtimeClient.completeAddMediaBackground(
+ input: RadrootsNativeUploadCompletion(
+ draftID: job.draft.id,
+ expectedRevision: job.draft.revision,
+ media: handle,
+ statusCode: receipt.statusCode,
+ responseMediaType: receipt.mediaType,
+ responseContentEncoding: receipt.contentEncoding,
+ responseBody: receipt.body
+ )
+ )
+ } catch {
+ try? await media.settleBackgroundUpload(identifier: receipt.identifier, accepted: false)
+ throw error
+ }
+ try await media.settleBackgroundUpload(identifier: receipt.identifier, accepted: true)
+ try Task.checkCancellation()
+ accept(status)
+ await refreshBlossomSnapshot()
+ }
+ return status
+ }
+
+ private func openedMedia(_ values: [RadrootsPreparedMedia]? = nil) async throws
+ -> RadrootsOpenedMedia
+ {
+ let values = values ?? form.media
+ guard !values.isEmpty else { return RadrootsOpenedMedia(handles: [], files: []) }
+ guard let media else {
+ throw RadrootsRuntimeFailure.local(
+ operation: "add.media.open",
+ code: "ios.add.media_unavailable",
+ safeMessage: "Prepared photos are unavailable on this device."
+ )
+ }
+ return try await media.open(values)
+ }
+
+ private func reloadDrafts() async {
+ do {
+ let loaded = try await runtimeClient.draftHeads(limit: 100)
+ drafts = Self.sorted(loaded)
+ if let activeDraft,
+ let current = loaded.first(where: { $0.id == activeDraft.id })
+ {
+ self.activeDraft = current
+ }
+ } catch {
+ message = Self.message(for: error)
+ }
+ }
+
+ private func loadMediaSupport() async throws -> RadrootsAddMediaSupport {
+ guard blossomConfiguration != nil, let media else { return .unavailable }
+ return try await media.support()
+ }
+
+ private func refreshBlossomSnapshot() async {
+ guard let snapshot = try? await runtimeClient.snapshot() else { return }
+ blossomConfiguration = snapshot.blossomConfiguration
+ blossomEvidence = snapshot.blossomEvidence
+ }
+
+ private func startObservation() {
+ observationGeneration &+= 1
+ let requestedGeneration = observationGeneration
+ observationTask = Task { [weak self] in
+ await self?.observe(generation: requestedGeneration)
+ }
+ }
+
+ private func observe(generation: UInt64) async {
+ var attempt: UInt32 = 0
+ while isStarted, observationGeneration == generation, !Task.isCancelled {
+ observationState = .subscribing(attempt: attempt &+ 1)
+ var failureMessage = "Runtime observation ended unexpectedly."
+ do {
+ let changes = try await runtimeClient.changes(bufferCapacity: 16)
+ observationState = .active
+ for await change in changes {
+ guard !Task.isCancelled else { break }
+ attempt = 0
+ if change.kind == .drafts || change.kind == .media {
+ await reloadDrafts()
+ }
+ if change.kind == .media || change.kind == .settings {
+ await refreshBlossomSnapshot()
+ }
}
- return form
- }
+ } catch {
+ failureMessage =
+ (error as? LocalizedError)?.errorDescription
+ ?? "Runtime observation is temporarily unavailable."
+ }
+ guard isStarted, observationGeneration == generation, !Task.isCancelled else { break }
+ attempt = attempt == .max ? .max : attempt + 1
+ observationState = .retrying(attempt: attempt, message: failureMessage)
+ do {
+ try await observationDelay(attempt)
+ } catch {
+ break
+ }
+ }
+ guard observationGeneration == generation else { return }
+ observationTask = nil
+ isStarted = false
+ if case .retrying = observationState {
+ return
+ }
+ observationState = .stopped
+ }
+
+ private func accept(_ status: RadrootsDraftStatus) {
+ guard operationGeneration == generation else { return }
+ activeDraft = status
+ if let form = status.form {
+ self.form = form
+ }
+ drafts.removeAll(where: { $0.id == status.id })
+ drafts.append(status)
+ drafts = Self.sorted(drafts)
+ }
+
+ private func accept(_ status: RadrootsRevisionStatus) {
+ guard operationGeneration == generation else { return }
+ revisionOperationID = status.operationID
+ accept(status.replacement)
+ if let retraction = status.retraction {
+ drafts.removeAll(where: { $0.id == retraction.id })
+ drafts.append(retraction)
+ drafts = Self.sorted(drafts)
+ }
+ }
+
+ private func perform(_ operation: @escaping () async throws -> Void) async {
+ guard operationTask == nil else { return }
+ generation &+= 1
+ let requestedGeneration = generation
+ operationGeneration = requestedGeneration
+ isWorking = true
+ message = nil
+ lastFailureCode = nil
+ let task = Task { @MainActor [weak self] in
+ guard let self else { return }
+ await self.execute(operation, generation: requestedGeneration)
+ }
+ operationTask = task
+ await task.value
+ }
+
+ private func execute(
+ _ operation: @escaping () async throws -> Void,
+ generation requestedGeneration: UInt64
+ ) async {
+ do {
+ try await operation()
+ } catch is CancellationError {
+ if requestedGeneration == generation {
+ message = "The operation was cancelled."
+ }
+ } catch {
+ if requestedGeneration == generation {
+ await refreshBlossomSnapshot()
+ message = Self.message(for: error)
+ lastFailureCode = Self.failure(for: error)?.code
+ }
+ }
+ if requestedGeneration == generation {
+ isWorking = false
+ operationGeneration = nil
+ operationTask = nil
+ }
+ }
+
+ private static func sorted(_ drafts: [RadrootsDraftStatus]) -> [RadrootsDraftStatus] {
+ drafts.sorted {
+ if $0.updatedAtUnixMilliseconds == $1.updatedAtUnixMilliseconds {
+ return $0.id < $1.id
+ }
+ return $0.updatedAtUnixMilliseconds > $1.updatedAtUnixMilliseconds
+ }
+ }
+
+ private static func message(for error: Error) -> String {
+ if let failure = failure(for: error) {
+ return failure.safeMessage
+ }
+ return (error as? LocalizedError)?.errorDescription
+ ?? "The Add operation could not be completed."
+ }
+
+ private static func failure(for error: Error) -> RadrootsRuntimeFailure? {
+ if case RadrootsRuntimeClientError.add(let failure) = error {
+ return failure
+ }
+ return error as? RadrootsRuntimeFailure
+ }
- private static func dateString(_ seconds: UInt64) -> String {
- let formatter = DateFormatter()
- formatter.calendar = Calendar(identifier: .gregorian)
- formatter.locale = Locale(identifier: "en_US_POSIX")
- formatter.timeZone = TimeZone(secondsFromGMT: 0)
- formatter.dateFormat = "yyyy-MM-dd"
- return formatter.string(from: Date(timeIntervalSince1970: TimeInterval(seconds)))
- }
-
- private static func commandType(for card: RadrootsTodayCardType) -> RadrootsAddCommandType {
- switch card {
- case .update: .createUpdate
- case .photoUpdate: .createPhotoUpdate
- case .ask: .createAsk
- case .event: .createEvent
- case .foodAvailability: .createFoodAvailability
- }
- }
}
diff --git a/Radroots/Views/RadrootsAddView.swift b/Radroots/Views/RadrootsAddView.swift
@@ -1,401 +1,405 @@
import SwiftUI
struct RadrootsAddView: View {
- @ObservedObject var store: RadrootsAddStore
- @State private var showsDrafts = false
- @FocusState private var isContentEditorFocused: Bool
-
- var body: some View {
- Form {
- if let message = store.message {
- Section {
- Label(message, systemImage: statusSymbol)
- .foregroundStyle(.secondary)
- .accessibilityIdentifier("radroots.add.status")
- }
- }
-
- Section("What are you sharing?") {
- Picker("Type", selection: typeBinding) {
- ForEach(availableTypes) { type in
- Text(type.label).tag(type)
- }
- }
- .pickerStyle(.navigationLink)
- .disabled(!store.isFormEditable)
- .accessibilityIdentifier("radroots.add.type")
- }
-
- composerFields
-
- if store.form.commandType.acceptsMedia {
- mediaSection
- }
-
- Section {
- Button("Save draft") { Task { await store.save() } }
- .disabled(!store.canSave)
- .accessibilityIdentifier("radroots.add.save")
-
- if let active = store.activeDraft, active.state.canCancel {
- Button("Cancel local work", role: .destructive) {
- Task { await store.cancel(active) }
- }
- .disabled(store.isWorking)
- .accessibilityIdentifier("radroots.add.cancel")
- }
- } footer: {
- Text("Submit saves an immutable local snapshot first. If signing, media, or a relay is unavailable, the saved operation remains available to retry.")
- }
+ @ObservedObject var store: RadrootsAddStore
+ @State private var showsDrafts = false
+ @FocusState private var isContentEditorFocused: Bool
+
+ var body: some View {
+ Form {
+ if let message = store.message {
+ Section {
+ Label(message, systemImage: statusSymbol)
+ .foregroundStyle(.secondary)
+ .accessibilityIdentifier("radroots.add.status")
}
- .accessibilityIdentifier("radroots.add.root")
- .safeAreaInset(edge: .bottom, spacing: 0) {
- Button(submitLabel) { Task { await store.submit() } }
- .accessibilityIdentifier("radroots.add.submit")
- .accessibilityValue(submitAccessibilityValue)
- .buttonStyle(.borderedProminent)
- .frame(maxWidth: .infinity)
- .padding(.horizontal)
- .padding(.vertical, 8)
- .padding(.bottom, 72)
- .background(.bar)
- .disabled(!store.canSubmit)
- }
- .disabled(store.isWorking)
- .overlay {
- if store.isWorking {
- ProgressView("Saving…")
- .padding()
- .background(.regularMaterial, in: RoundedRectangle(cornerRadius: 12))
- .accessibilityIdentifier("radroots.add.progress")
- }
- }
- .navigationTitle("Add")
- .toolbar {
- ToolbarItem(placement: .topBarLeading) {
- Button("Drafts") { showsDrafts = true }
- .accessibilityIdentifier("radroots.add.drafts")
- }
- ToolbarItem(placement: .topBarTrailing) {
- Button {
- store.newDraft()
- } label: {
- Label("New", systemImage: "square.and.pencil")
- }
- .accessibilityIdentifier("radroots.add.new")
- }
- ToolbarItemGroup(placement: .keyboard) {
- Spacer()
- Button("Done") { isContentEditorFocused = false }
- .accessibilityIdentifier("radroots.add.keyboard.done")
- }
- }
- .sheet(isPresented: $showsDrafts) {
- RadrootsDraftsSheet(store: store)
- }
- .task { await store.start() }
- }
+ }
- @ViewBuilder
- private var composerFields: some View {
- switch store.form.commandType {
- case .createUpdate:
- Section("Update") { contentEditor(prompt: "What’s happening locally?") }
- case .createPhotoUpdate:
- Section("Photo update") { contentEditor(prompt: "What should neighbors know?") }
- case .createAsk:
- Section("Ask") { contentEditor(prompt: "What do you need or want to know?") }
- case .createEvent:
- eventFields
- case .createFoodAvailability:
- foodFields
+ Section("What are you sharing?") {
+ Picker("Type", selection: typeBinding) {
+ ForEach(availableTypes) { type in
+ Text(type.label).tag(type)
+ }
}
- }
-
- private var eventFields: some View {
- Section("Event") {
- TextField("Title", text: optional(\.title))
- .accessibilityIdentifier("radroots.add.title")
- contentEditor(prompt: "Event details (optional)")
- TextField("Location (optional)", text: optional(\.location))
- .accessibilityIdentifier("radroots.add.location")
- Picker("When", selection: optionalTiming) {
- ForEach(RadrootsEventTiming.allCases) { timing in
- Text(timing.label).tag(Optional(timing))
- }
- }
- .accessibilityIdentifier("radroots.add.event_timing")
- if store.form.eventTiming == .allDay {
- DatePicker("Starts", selection: allDayStart, displayedComponents: .date)
- DatePicker("Ends", selection: allDayEnd, displayedComponents: .date)
- } else {
- DatePicker("Starts", selection: timedStart)
- DatePicker("Ends", selection: timedEnd)
- }
+ .pickerStyle(.navigationLink)
+ .disabled(!store.isFormEditable)
+ .accessibilityIdentifier("radroots.add.type")
+ }
+
+ composerFields
+
+ if store.acceptsMedia {
+ mediaSection
+ }
+
+ Section {
+ Button("Save draft") { Task { await store.save() } }
+ .disabled(!store.canSave)
+ .accessibilityIdentifier("radroots.add.save")
+
+ if let active = store.activeDraft, active.state.canCancel {
+ Button("Cancel local work", role: .destructive) {
+ Task { await store.cancel(active) }
+ }
+ .disabled(store.isWorking)
+ .accessibilityIdentifier("radroots.add.cancel")
}
+ } footer: {
+ Text(
+ "Submit saves an immutable local snapshot first. If signing, media, or a relay is unavailable, the saved operation remains available to retry."
+ )
+ }
}
-
- @ViewBuilder
- private var foodFields: some View {
- Section("Food availability") {
- TextField("Food", text: optional(\.title))
- .accessibilityIdentifier("radroots.add.title")
- TextField("Short summary (optional)", text: optional(\.summary))
- contentEditor(prompt: "Details (optional)")
- TextField("Location", text: optional(\.location))
- .accessibilityIdentifier("radroots.add.location")
- }
- Section("Price and quantity") {
- TextField("Price", text: optional(\.priceAmount))
- .keyboardType(.decimalPad)
- .accessibilityIdentifier("radroots.add.price")
- TextField("Currency", text: optional(\.currency))
- .textInputAutocapitalization(.characters)
- TextField("Unit", text: optional(\.unit))
- TextField("Quantity available (optional)", text: optional(\.quantity))
- .keyboardType(.decimalPad)
- }
+ .accessibilityIdentifier("radroots.add.root")
+ .safeAreaInset(edge: .bottom, spacing: 0) {
+ Button(submitLabel) { Task { await store.submit() } }
+ .accessibilityIdentifier("radroots.add.submit")
+ .accessibilityValue(submitAccessibilityValue)
+ .buttonStyle(.borderedProminent)
+ .frame(maxWidth: .infinity)
+ .padding(.horizontal)
+ .padding(.vertical, 8)
+ .padding(.bottom, 72)
+ .background(.bar)
+ .disabled(!store.canSubmit)
}
-
- private var mediaSection: some View {
- Section("Photos") {
- ForEach(store.form.media) { media in
- VStack(alignment: .leading, spacing: 8) {
- Label("Prepared image", systemImage: "checkmark.shield")
- .font(.subheadline.weight(.semibold))
- Text("\(media.width) × \(media.height) · \(ByteCountFormatter.string(fromByteCount: Int64(media.byteSize), countStyle: .file))")
- .font(.caption)
- .foregroundStyle(.secondary)
- TextField(
- "Describe this photo",
- text: Binding(
- get: { media.alt },
- set: { store.updateMediaAlt(id: media.id, alt: $0) }
- )
- )
- .accessibilityIdentifier("radroots.add.media.alt.\(media.id)")
- Button("Remove photo", role: .destructive) { store.removeMedia(id: media.id) }
- }
- .accessibilityElement(children: .contain)
- .accessibilityIdentifier("radroots.add.media.\(media.sha256)")
- .accessibilityValue(
- "sha256 \(media.sha256), \(media.byteSize) bytes, \(media.width) by \(media.height)"
- )
- }
-
- HStack {
- Button {
- Task { await store.importPhotos() }
- } label: {
- Label("Photo Library", systemImage: "photo.on.rectangle")
- }
- .disabled(!store.mediaSupport.library || !store.isFormEditable)
- .accessibilityIdentifier("radroots.add.media.library")
-
- Spacer()
-
- Button {
- Task { await store.capturePhoto() }
- } label: {
- Label("Camera", systemImage: "camera")
- }
- .disabled(!store.mediaSupport.camera || !store.isFormEditable)
- .accessibilityIdentifier("radroots.add.media.camera")
- }
- }
+ .disabled(store.isWorking)
+ .overlay {
+ if store.isWorking {
+ ProgressView("Saving…")
+ .padding()
+ .background(.regularMaterial, in: RoundedRectangle(cornerRadius: 12))
+ .accessibilityIdentifier("radroots.add.progress")
+ }
}
-
- private func contentEditor(prompt: String) -> some View {
- ZStack(alignment: .topLeading) {
- TextEditor(text: required(\.content))
- .frame(minHeight: 110)
- .focused($isContentEditorFocused)
- .accessibilityIdentifier("radroots.add.content")
- if store.form.content.isEmpty {
- Text(prompt)
- .foregroundStyle(.tertiary)
- .padding(.horizontal, 5)
- .padding(.vertical, 8)
- .allowsHitTesting(false)
- }
+ .navigationTitle("Add")
+ .toolbar {
+ ToolbarItem(placement: .topBarLeading) {
+ Button("Drafts") { showsDrafts = true }
+ .accessibilityIdentifier("radroots.add.drafts")
+ }
+ ToolbarItem(placement: .topBarTrailing) {
+ Button {
+ store.newDraft()
+ } label: {
+ Label("New", systemImage: "square.and.pencil")
}
+ .accessibilityIdentifier("radroots.add.new")
+ }
+ ToolbarItemGroup(placement: .keyboard) {
+ Spacer()
+ Button("Done") { isContentEditorFocused = false }
+ .accessibilityIdentifier("radroots.add.keyboard.done")
+ }
}
-
- private var availableTypes: [RadrootsAddCommandType] {
- let types = store.schemas.map(\.commandType)
- return types.isEmpty ? RadrootsAddCommandType.allCases : types
+ .sheet(isPresented: $showsDrafts) {
+ RadrootsDraftsSheet(store: store)
}
-
- private var submitAccessibilityValue: String {
- if store.isWorking {
- return "Working"
- }
- if let message = store.message {
- if let code = store.lastFailureCode {
- return "\(message) Error code \(code)"
- }
- return message
- }
- if let activeDraft = store.activeDraft {
- return activeDraft.honestSummary
+ .task { await store.start() }
+ }
+
+ @ViewBuilder
+ private var composerFields: some View {
+ switch store.form.commandType {
+ case .createUpdate:
+ Section("Update") { contentEditor(prompt: "What’s happening locally?") }
+ case .createPhotoUpdate:
+ Section("Photo update") { contentEditor(prompt: "What should neighbors know?") }
+ case .createAsk:
+ Section("Ask") { contentEditor(prompt: "What do you need or want to know?") }
+ case .createEvent:
+ eventFields
+ case .createFoodAvailability:
+ foodFields
+ }
+ }
+
+ private var eventFields: some View {
+ Section("Event") {
+ TextField("Title", text: optional(\.title))
+ .accessibilityIdentifier("radroots.add.title")
+ contentEditor(prompt: "Event details (optional)")
+ TextField("Location (optional)", text: optional(\.location))
+ .accessibilityIdentifier("radroots.add.location")
+ Picker("When", selection: optionalTiming) {
+ ForEach(RadrootsEventTiming.allCases) { timing in
+ Text(timing.label).tag(Optional(timing))
}
- return store.canSubmit ? "Ready" : "Unavailable"
+ }
+ .accessibilityIdentifier("radroots.add.event_timing")
+ if store.form.eventTiming == .allDay {
+ DatePicker("Starts", selection: allDayStart, displayedComponents: .date)
+ DatePicker("Ends", selection: allDayEnd, displayedComponents: .date)
+ } else {
+ DatePicker("Starts", selection: timedStart)
+ DatePicker("Ends", selection: timedEnd)
+ }
}
-
- private var typeBinding: Binding<RadrootsAddCommandType> {
- Binding(get: { store.form.commandType }, set: { store.selectType($0) })
+ }
+
+ @ViewBuilder
+ private var foodFields: some View {
+ Section("Food availability") {
+ TextField("Food", text: optional(\.title))
+ .accessibilityIdentifier("radroots.add.title")
+ TextField("Short summary (optional)", text: optional(\.summary))
+ contentEditor(prompt: "Details (optional)")
+ TextField("Location", text: optional(\.location))
+ .accessibilityIdentifier("radroots.add.location")
}
-
- private var optionalTiming: Binding<RadrootsEventTiming?> {
- Binding(get: { store.form.eventTiming }, set: { store.updateForm(\.eventTiming, $0) })
+ Section("Price and quantity") {
+ TextField("Price", text: optional(\.priceAmount))
+ .keyboardType(.decimalPad)
+ .accessibilityIdentifier("radroots.add.price")
+ TextField("Currency", text: optional(\.currency))
+ .textInputAutocapitalization(.characters)
+ TextField("Unit", text: optional(\.unit))
+ TextField("Quantity available (optional)", text: optional(\.quantity))
+ .keyboardType(.decimalPad)
}
-
- private func optional(_ keyPath: WritableKeyPath<RadrootsAddForm, String?>) -> Binding<String> {
- Binding(
- get: { store.form[keyPath: keyPath] ?? "" },
- set: { store.updateForm(keyPath, $0.isEmpty ? nil : $0) }
+ }
+
+ private var mediaSection: some View {
+ Section("Photos") {
+ ForEach(store.form.media) { media in
+ VStack(alignment: .leading, spacing: 8) {
+ Label("Prepared image", systemImage: "checkmark.shield")
+ .font(.subheadline.weight(.semibold))
+ Text(
+ "\(media.width) × \(media.height) · \(ByteCountFormatter.string(fromByteCount: Int64(media.byteSize), countStyle: .file))"
+ )
+ .font(.caption)
+ .foregroundStyle(.secondary)
+ TextField(
+ "Describe this photo",
+ text: Binding(
+ get: { media.alt },
+ set: { store.updateMediaAlt(id: media.id, alt: $0) }
+ )
+ )
+ .accessibilityIdentifier("radroots.add.media.alt.\(media.id)")
+ Button("Remove photo", role: .destructive) { store.removeMedia(id: media.id) }
+ }
+ .accessibilityElement(children: .contain)
+ .accessibilityIdentifier("radroots.add.media.\(media.sha256)")
+ .accessibilityValue(
+ "sha256 \(media.sha256), \(media.byteSize) bytes, \(media.width) by \(media.height)"
)
- }
+ }
- private func required(_ keyPath: WritableKeyPath<RadrootsAddForm, String>) -> Binding<String> {
- Binding(
- get: { store.form[keyPath: keyPath] },
- set: { store.updateForm(keyPath, $0) }
- )
- }
+ HStack {
+ Button {
+ Task { await store.importPhotos() }
+ } label: {
+ Label("Photo Library", systemImage: "photo.on.rectangle")
+ }
+ .disabled(!store.mediaSupport.library || !store.canAddMedia)
+ .accessibilityIdentifier("radroots.add.media.library")
- private var timedStart: Binding<Date> {
- secondsBinding(\.eventStartUnixSeconds, defaultOffset: 3600)
- }
+ Spacer()
- private var timedEnd: Binding<Date> {
- secondsBinding(\.eventEndUnixSeconds, defaultOffset: 7200)
+ Button {
+ Task { await store.capturePhoto() }
+ } label: {
+ Label("Camera", systemImage: "camera")
+ }
+ .disabled(!store.mediaSupport.camera || !store.canAddMedia)
+ .accessibilityIdentifier("radroots.add.media.camera")
+ }
}
-
- private func secondsBinding(
- _ keyPath: WritableKeyPath<RadrootsAddForm, UInt64?>,
- defaultOffset: TimeInterval
- ) -> Binding<Date> {
- Binding(
- get: {
- store.form[keyPath: keyPath]
- .map { Date(timeIntervalSince1970: TimeInterval($0)) }
- ?? Date().addingTimeInterval(defaultOffset)
- },
- set: { store.updateForm(keyPath, UInt64(max(1, $0.timeIntervalSince1970))) }
- )
+ }
+
+ private func contentEditor(prompt: String) -> some View {
+ ZStack(alignment: .topLeading) {
+ TextEditor(text: required(\.content))
+ .frame(minHeight: 110)
+ .focused($isContentEditorFocused)
+ .accessibilityIdentifier("radroots.add.content")
+ if store.form.content.isEmpty {
+ Text(prompt)
+ .foregroundStyle(.tertiary)
+ .padding(.horizontal, 5)
+ .padding(.vertical, 8)
+ .allowsHitTesting(false)
+ }
}
+ }
- private var allDayStart: Binding<Date> {
- dateBinding(\.eventStartDate, defaultOffset: 86400)
- }
+ private var availableTypes: [RadrootsAddCommandType] {
+ let types = store.schemas.map(\.commandType)
+ return types.isEmpty ? RadrootsAddCommandType.allCases : types
+ }
- private var allDayEnd: Binding<Date> {
- dateBinding(\.eventEndDate, defaultOffset: 172_800)
+ private var submitAccessibilityValue: String {
+ if store.isWorking {
+ return "Working"
}
-
- private func dateBinding(
- _ keyPath: WritableKeyPath<RadrootsAddForm, String?>,
- defaultOffset: TimeInterval
- ) -> Binding<Date> {
- Binding(
- get: {
- store.form[keyPath: keyPath].flatMap(Self.dateFormatter.date(from:))
- ?? Calendar.current.startOfDay(for: Date().addingTimeInterval(defaultOffset))
- },
- set: { store.updateForm(keyPath, Self.dateFormatter.string(from: $0)) }
- )
+ if let message = store.message {
+ if let code = store.lastFailureCode {
+ return "\(message) Error code \(code)"
+ }
+ return message
}
-
- private var submitLabel: String {
- if let state = store.activeDraft?.state, state.canAdvance {
- return "Retry delivery"
- }
- return "Submit"
+ if let activeDraft = store.activeDraft {
+ return activeDraft.honestSummary
}
-
- private var statusSymbol: String {
- switch store.activeDraft?.state {
- case .complete: "checkmark.circle.fill"
- case .partiallyDelivered, .retryable: "exclamationmark.arrow.triangle.2.circlepath"
- case .terminal: "xmark.octagon"
- case .cancelled: "slash.circle"
- default: "info.circle"
- }
+ return store.canSubmit ? "Ready" : "Unavailable"
+ }
+
+ private var typeBinding: Binding<RadrootsAddCommandType> {
+ Binding(get: { store.form.commandType }, set: { store.selectType($0) })
+ }
+
+ private var optionalTiming: Binding<RadrootsEventTiming?> {
+ Binding(get: { store.form.eventTiming }, set: { store.updateForm(\.eventTiming, $0) })
+ }
+
+ private func optional(_ keyPath: WritableKeyPath<RadrootsAddForm, String?>) -> Binding<String> {
+ Binding(
+ get: { store.form[keyPath: keyPath] ?? "" },
+ set: { store.updateForm(keyPath, $0.isEmpty ? nil : $0) }
+ )
+ }
+
+ private func required(_ keyPath: WritableKeyPath<RadrootsAddForm, String>) -> Binding<String> {
+ Binding(
+ get: { store.form[keyPath: keyPath] },
+ set: { store.updateForm(keyPath, $0) }
+ )
+ }
+
+ private var timedStart: Binding<Date> {
+ secondsBinding(\.eventStartUnixSeconds, defaultOffset: 3600)
+ }
+
+ private var timedEnd: Binding<Date> {
+ secondsBinding(\.eventEndUnixSeconds, defaultOffset: 7200)
+ }
+
+ private func secondsBinding(
+ _ keyPath: WritableKeyPath<RadrootsAddForm, UInt64?>,
+ defaultOffset: TimeInterval
+ ) -> Binding<Date> {
+ Binding(
+ get: {
+ store.form[keyPath: keyPath]
+ .map { Date(timeIntervalSince1970: TimeInterval($0)) }
+ ?? Date().addingTimeInterval(defaultOffset)
+ },
+ set: { store.updateForm(keyPath, UInt64(max(1, $0.timeIntervalSince1970))) }
+ )
+ }
+
+ private var allDayStart: Binding<Date> {
+ dateBinding(\.eventStartDate, defaultOffset: 86400)
+ }
+
+ private var allDayEnd: Binding<Date> {
+ dateBinding(\.eventEndDate, defaultOffset: 172_800)
+ }
+
+ private func dateBinding(
+ _ keyPath: WritableKeyPath<RadrootsAddForm, String?>,
+ defaultOffset: TimeInterval
+ ) -> Binding<Date> {
+ Binding(
+ get: {
+ store.form[keyPath: keyPath].flatMap(Self.dateFormatter.date(from:))
+ ?? Calendar.current.startOfDay(for: Date().addingTimeInterval(defaultOffset))
+ },
+ set: { store.updateForm(keyPath, Self.dateFormatter.string(from: $0)) }
+ )
+ }
+
+ private var submitLabel: String {
+ if let state = store.activeDraft?.state, state.canAdvance {
+ return "Retry delivery"
}
-
- private static let dateFormatter: DateFormatter = {
- let formatter = DateFormatter()
- formatter.calendar = Calendar(identifier: .gregorian)
- formatter.locale = Locale(identifier: "en_US_POSIX")
- formatter.timeZone = TimeZone(secondsFromGMT: 0)
- formatter.dateFormat = "yyyy-MM-dd"
- return formatter
- }()
+ return "Submit"
+ }
+
+ private var statusSymbol: String {
+ switch store.activeDraft?.state {
+ case .complete: "checkmark.circle.fill"
+ case .partiallyDelivered, .retryable: "exclamationmark.arrow.triangle.2.circlepath"
+ case .terminal: "xmark.octagon"
+ case .cancelled: "slash.circle"
+ default: "info.circle"
+ }
+ }
+
+ private static let dateFormatter: DateFormatter = {
+ let formatter = DateFormatter()
+ formatter.calendar = Calendar(identifier: .gregorian)
+ formatter.locale = Locale(identifier: "en_US_POSIX")
+ formatter.timeZone = TimeZone(secondsFromGMT: 0)
+ formatter.dateFormat = "yyyy-MM-dd"
+ return formatter
+ }()
}
struct RadrootsDraftsSheet: View {
- @ObservedObject var store: RadrootsAddStore
- @Environment(\.dismiss) private var dismiss
-
- var body: some View {
- NavigationStack {
- List {
- if store.drafts.isEmpty {
- ContentUnavailableView("No saved drafts", systemImage: "tray")
- }
- ForEach(store.drafts) { draft in
- VStack(alignment: .leading, spacing: 8) {
- HStack {
- Text(draft.commandType.label).font(.headline)
- Spacer()
- Text(draft.state.label).font(.caption).foregroundStyle(.secondary)
- }
- Text(draft.honestSummary).font(.subheadline)
- if !draft.media.isEmpty {
- Text(mediaSummary(draft.media))
- .font(.caption)
- .foregroundStyle(.secondary)
- .accessibilityIdentifier(
- "radroots.add.draft.media_status.\(draft.id)"
- )
- }
- HStack {
- if draft.form != nil {
- Button(draft.state.isEditable ? "Reopen" : "View") {
- store.reopen(draft)
- dismiss()
- }
- }
- if draft.state.canAdvance {
- Button("Retry") { Task { await store.retry(draft) } }
- }
- if draft.state.canCancel {
- Button("Cancel", role: .destructive) { Task { await store.cancel(draft) } }
- }
- }
- .buttonStyle(.borderless)
- }
- .accessibilityElement(children: .contain)
- .accessibilityIdentifier("radroots.add.draft.\(draft.id)")
- }
+ @ObservedObject var store: RadrootsAddStore
+ @Environment(\.dismiss) private var dismiss
+
+ var body: some View {
+ NavigationStack {
+ List {
+ if store.drafts.isEmpty {
+ ContentUnavailableView("No saved drafts", systemImage: "tray")
+ }
+ ForEach(store.drafts) { draft in
+ VStack(alignment: .leading, spacing: 8) {
+ HStack {
+ Text(draft.commandType.label).font(.headline)
+ Spacer()
+ Text(draft.state.label).font(.caption).foregroundStyle(.secondary)
+ }
+ Text(draft.honestSummary).font(.subheadline)
+ if !draft.media.isEmpty {
+ Text(mediaSummary(draft.media))
+ .font(.caption)
+ .foregroundStyle(.secondary)
+ .accessibilityIdentifier(
+ "radroots.add.draft.media_status.\(draft.id)"
+ )
}
- .navigationTitle("Drafts & outbox")
- .toolbar {
- ToolbarItem(placement: .confirmationAction) {
- Button("Done") { dismiss() }
+ HStack {
+ if draft.form != nil {
+ Button(draft.state.isEditable ? "Reopen" : "View") {
+ store.reopen(draft)
+ dismiss()
}
+ }
+ if draft.state.canAdvance {
+ Button("Retry") { Task { await store.retry(draft) } }
+ }
+ if draft.state.canCancel {
+ Button("Cancel", role: .destructive) { Task { await store.cancel(draft) } }
+ }
}
+ .buttonStyle(.borderless)
+ }
+ .accessibilityElement(children: .contain)
+ .accessibilityIdentifier("radroots.add.draft.\(draft.id)")
}
- .accessibilityIdentifier("radroots.add.drafts.sheet")
- }
-
- private func mediaSummary(_ values: [RadrootsDraftMediaStatus]) -> String {
- let verified = values.count(where: { $0.stage == .verified })
- let orphaned = values.count(where: { $0.possibleOrphan })
- if orphaned > 0 {
- return "\(verified) of \(values.count) photos verified; \(orphaned) possible orphan"
+ }
+ .navigationTitle("Drafts & outbox")
+ .toolbar {
+ ToolbarItem(placement: .confirmationAction) {
+ Button("Done") { dismiss() }
}
- return "\(verified) of \(values.count) photos verified"
+ }
+ }
+ .accessibilityIdentifier("radroots.add.drafts.sheet")
+ }
+
+ private func mediaSummary(_ values: [RadrootsDraftMediaStatus]) -> String {
+ let verified = values.count(where: { $0.stage == .verified })
+ let orphaned = values.count(where: { $0.possibleOrphan })
+ if orphaned > 0 {
+ return "\(verified) of \(values.count) photos verified; \(orphaned) possible orphan"
}
+ return "\(verified) of \(values.count) photos verified"
+ }
}
diff --git a/Radroots/Views/RadrootsSupportingViews.swift b/Radroots/Views/RadrootsSupportingViews.swift
@@ -2,430 +2,440 @@ import RadrootsKit
import SwiftUI
struct RadrootsSearchSheet: View {
- let snapshot: RadrootsRuntimeSnapshot
- let context: RadrootsLocalNetwork?
- @ObservedObject var store: RadrootsSearchStore
- let revise: (RadrootsTodayCard) -> Void
- @Environment(\.dismiss) private var dismiss
+ let snapshot: RadrootsRuntimeSnapshot
+ let context: RadrootsLocalNetwork?
+ @ObservedObject var store: RadrootsSearchStore
+ let revise: (RadrootsTodayCard) -> Void
+ @Environment(\.dismiss) private var dismiss
- var body: some View {
- NavigationStack {
- Group {
- switch store.state {
- case .idle:
- ContentUnavailableView(
- "Search your local network",
- systemImage: "magnifyingglass",
- description: Text("Find current posts and adopted Nostr profiles.")
- )
- case .loading:
- ProgressView("Searching…")
- case .empty:
- ContentUnavailableView.search(text: store.query)
- case let .failed(message):
- ContentUnavailableView {
- Label("Search unavailable", systemImage: "exclamationmark.triangle")
- } description: {
- Text(message)
- } actions: {
- Button("Try again") { Task { await store.search() } }
- }
- case .loaded:
- resultList
- }
- }
- .navigationTitle("Search")
- .searchable(text: query, prompt: "Posts and profiles")
- .onSubmit(of: .search) { Task { await store.search() } }
- .toolbar {
- ToolbarItem(placement: .confirmationAction) {
- Button("Done") { dismiss() }
- }
- }
+ var body: some View {
+ NavigationStack {
+ Group {
+ switch store.state {
+ case .idle:
+ ContentUnavailableView(
+ "Search your local network",
+ systemImage: "magnifyingglass",
+ description: Text("Find current posts and adopted Nostr profiles.")
+ )
+ case .loading:
+ ProgressView("Searching…")
+ case .empty:
+ ContentUnavailableView.search(text: store.query)
+ case .failed(let message):
+ ContentUnavailableView {
+ Label("Search unavailable", systemImage: "exclamationmark.triangle")
+ } description: {
+ Text(message)
+ } actions: {
+ Button("Try again") { Task { await store.search() } }
+ }
+ case .loaded:
+ resultList
}
- .task { store.configure(context: context) }
- .accessibilityIdentifier("radroots.support.search.sheet")
+ }
+ .navigationTitle("Search")
+ .searchable(text: query, prompt: "Posts and profiles")
+ .onSubmit(of: .search) { Task { await store.search() } }
+ .toolbar {
+ ToolbarItem(placement: .confirmationAction) {
+ Button("Done") { dismiss() }
+ }
+ }
}
+ .task { store.configure(context: context) }
+ .accessibilityIdentifier("radroots.support.search.sheet")
+ }
- private var resultList: some View {
- List(store.results) { result in
- switch (result.card, result.profile) {
- case let (card?, _):
- NavigationLink {
- RadrootsTodayDetailView(
- card: card,
- canRevise: card.authorPublicKey == snapshot.identity.publicKeyHex,
- revise: revise
- )
- } label: {
- RadrootsTodayCardView(card: card)
- }
- .accessibilityIdentifier("radroots.search.card.\(result.id)")
- case let (_, profile?):
- NavigationLink {
- RadrootsProfileView(profile: profile)
- } label: {
- RadrootsProfileRow(profile: profile)
- }
- .accessibilityIdentifier("radroots.search.profile.\(result.id)")
- default:
- EmptyView()
- }
+ private var resultList: some View {
+ List(store.results) { result in
+ switch (result.card, result.profile) {
+ case (let card?, _):
+ NavigationLink {
+ RadrootsTodayDetailView(
+ card: card,
+ canRevise: card.authorPublicKey == snapshot.identity.publicKeyHex
+ && card.localOperationID != nil,
+ revise: revise
+ )
+ } label: {
+ RadrootsTodayCardView(card: card)
+ }
+ .accessibilityIdentifier("radroots.search.card.\(result.id)")
+ case (_, let profile?):
+ NavigationLink {
+ RadrootsProfileView(profile: profile)
+ } label: {
+ RadrootsProfileRow(profile: profile)
}
- .listStyle(.plain)
- .accessibilityIdentifier("radroots.search.results")
+ .accessibilityIdentifier("radroots.search.profile.\(result.id)")
+ default:
+ EmptyView()
+ }
}
+ .listStyle(.plain)
+ .accessibilityIdentifier("radroots.search.results")
+ }
- private var query: Binding<String> {
- Binding(
- get: { store.query },
- set: { value in store.updateQuery(value) }
- )
- }
+ private var query: Binding<String> {
+ Binding(
+ get: { store.query },
+ set: { value in store.updateQuery(value) }
+ )
+ }
}
struct RadrootsMeSheet: View {
- let runtimeSnapshot: RadrootsRuntimeSnapshot
- let context: RadrootsLocalNetwork?
- @ObservedObject var store: RadrootsMeStore
- @ObservedObject var todayStore: RadrootsTodayStore
- @ObservedObject var addStore: RadrootsAddStore
- let revise: (RadrootsTodayCard) -> Void
- @Environment(\.dismiss) private var dismiss
- @State private var showsDrafts = false
+ let runtimeSnapshot: RadrootsRuntimeSnapshot
+ let context: RadrootsLocalNetwork?
+ @ObservedObject var store: RadrootsMeStore
+ @ObservedObject var todayStore: RadrootsTodayStore
+ @ObservedObject var addStore: RadrootsAddStore
+ let revise: (RadrootsTodayCard) -> Void
+ @Environment(\.dismiss) private var dismiss
+ @State private var showsDrafts = false
- var body: some View {
- NavigationStack {
- Group {
- switch store.state {
- case .idle, .loading:
- ProgressView("Loading your profile…")
- case let .failed(message) where store.snapshot == nil:
- ContentUnavailableView {
- Label("Profile unavailable", systemImage: "person.crop.circle.badge.exclamationmark")
- } description: {
- Text(message)
- } actions: {
- Button("Try again") { Task { await store.reload() } }
- }
- default:
- content
- }
- }
- .navigationTitle("Me")
- .toolbar {
- ToolbarItem(placement: .confirmationAction) {
- Button("Done") { dismiss() }
- }
- }
+ var body: some View {
+ NavigationStack {
+ Group {
+ switch store.state {
+ case .idle, .loading:
+ ProgressView("Loading your profile…")
+ case .failed(let message) where store.snapshot == nil:
+ ContentUnavailableView {
+ Label("Profile unavailable", systemImage: "person.crop.circle.badge.exclamationmark")
+ } description: {
+ Text(message)
+ } actions: {
+ Button("Try again") { Task { await store.reload() } }
+ }
+ default:
+ content
}
- .sheet(isPresented: $showsDrafts) {
- RadrootsDraftsSheet(store: addStore)
+ }
+ .navigationTitle("Me")
+ .toolbar {
+ ToolbarItem(placement: .confirmationAction) {
+ Button("Done") { dismiss() }
}
- .task {
- store.configure(context: context)
- await store.start()
- }
- .presentationDetents([.medium, .large])
- .accessibilityIdentifier("radroots.support.me.sheet")
+ }
+ }
+ .sheet(isPresented: $showsDrafts) {
+ RadrootsDraftsSheet(store: addStore)
}
+ .task {
+ store.configure(context: context)
+ await store.start()
+ }
+ .presentationDetents([.medium, .large])
+ .accessibilityIdentifier("radroots.support.me.sheet")
+ }
- private var content: some View {
- List {
- Section {
- if let profile = store.snapshot?.profile {
- NavigationLink {
- RadrootsProfileView(profile: profile)
- } label: {
- RadrootsProfileRow(profile: profile)
- }
- } else {
- RadrootsProfileRow(
- profile: RadrootsProfileSummary(
- authorPublicKey: store.snapshot?.publicKey ?? runtimeSnapshot.identity.publicKeyHex,
- name: nil,
- displayName: nil,
- about: nil,
- picture: nil,
- banner: nil,
- nip05: nil,
- website: nil,
- lightningAddress: nil
- )
- )
- }
- }
+ private var content: some View {
+ List {
+ Section {
+ if let profile = store.snapshot?.profile {
+ NavigationLink {
+ RadrootsProfileView(profile: profile)
+ } label: {
+ RadrootsProfileRow(profile: profile)
+ }
+ } else {
+ RadrootsProfileRow(
+ profile: RadrootsProfileSummary(
+ authorPublicKey: store.snapshot?.publicKey ?? runtimeSnapshot.identity.publicKeyHex,
+ name: nil,
+ displayName: nil,
+ about: nil,
+ picture: nil,
+ banner: nil,
+ nip05: nil,
+ website: nil,
+ lightningAddress: nil
+ )
+ )
+ }
+ }
- Section("Local work") {
- Button {
- showsDrafts = true
- } label: {
- LabeledContent("Drafts & outbox", value: "\(addStore.drafts.count)")
- }
- .foregroundStyle(.primary)
- .accessibilityIdentifier("radroots.support.outbox")
- }
+ Section("Local work") {
+ Button {
+ showsDrafts = true
+ } label: {
+ LabeledContent("Drafts & outbox", value: "\(addStore.drafts.count)")
+ }
+ .foregroundStyle(.primary)
+ .accessibilityIdentifier("radroots.support.outbox")
+ }
- Section("My posts") {
- if store.snapshot?.cards.isEmpty != false {
- Text("No current posts in this local network.")
- .foregroundStyle(.secondary)
- }
- ForEach(store.snapshot?.cards ?? []) { card in
- NavigationLink {
- RadrootsTodayDetailView(card: card, canRevise: true, revise: revise)
- } label: {
- RadrootsTodayCardView(card: card)
- }
- }
- }
+ Section("My posts") {
+ if store.snapshot?.cards.isEmpty != false {
+ Text("No current posts in this local network.")
+ .foregroundStyle(.secondary)
+ }
+ ForEach(store.snapshot?.cards ?? []) { card in
+ NavigationLink {
+ RadrootsTodayDetailView(
+ card: card,
+ canRevise: card.localOperationID != nil,
+ revise: revise
+ )
+ } label: {
+ RadrootsTodayCardView(card: card)
+ }
+ }
+ }
- Section {
- NavigationLink("Settings") {
- RadrootsSettingsView(
- snapshot: runtimeSnapshot,
- todayStore: todayStore,
- addStore: addStore
- )
- }
- .accessibilityIdentifier("radroots.support.settings")
- }
+ Section {
+ NavigationLink("Settings") {
+ RadrootsSettingsView(
+ snapshot: runtimeSnapshot,
+ todayStore: todayStore,
+ addStore: addStore
+ )
}
- .refreshable { await store.reload() }
+ .accessibilityIdentifier("radroots.support.settings")
+ }
}
+ .refreshable { await store.reload() }
+ }
}
struct RadrootsProfileRow: View {
- let profile: RadrootsProfileSummary
+ let profile: RadrootsProfileSummary
- var body: some View {
- HStack(spacing: 12) {
- RadrootsStableAvatarView(profile: profile, size: 48)
- VStack(alignment: .leading, spacing: 3) {
- Text(profile.preferredName)
- .font(.headline)
- if let nip05 = profile.nip05 {
- Text(nip05)
- .font(.caption)
- .foregroundStyle(.secondary)
- } else {
- Text(Self.abbreviate(profile.authorPublicKey))
- .font(.caption.monospaced())
- .foregroundStyle(.secondary)
- }
- }
+ var body: some View {
+ HStack(spacing: 12) {
+ RadrootsStableAvatarView(profile: profile, size: 48)
+ VStack(alignment: .leading, spacing: 3) {
+ Text(profile.preferredName)
+ .font(.headline)
+ if let nip05 = profile.nip05 {
+ Text(nip05)
+ .font(.caption)
+ .foregroundStyle(.secondary)
+ } else {
+ Text(Self.abbreviate(profile.authorPublicKey))
+ .font(.caption.monospaced())
+ .foregroundStyle(.secondary)
}
- .accessibilityElement(children: .combine)
- .accessibilityLabel("\(profile.preferredName), \(Self.abbreviate(profile.authorPublicKey))")
+ }
}
+ .accessibilityElement(children: .combine)
+ .accessibilityLabel("\(profile.preferredName), \(Self.abbreviate(profile.authorPublicKey))")
+ }
- private static func abbreviate(_ key: String) -> String {
- guard key.count > 16 else { return key }
- return "\(key.prefix(8))…\(key.suffix(8))"
- }
+ private static func abbreviate(_ key: String) -> String {
+ guard key.count > 16 else { return key }
+ return "\(key.prefix(8))…\(key.suffix(8))"
+ }
}
struct RadrootsProfileView: View {
- let profile: RadrootsProfileSummary
+ let profile: RadrootsProfileSummary
- var body: some View {
- List {
- Section {
- VStack(spacing: 12) {
- RadrootsStableAvatarView(profile: profile, size: 88)
- Text(profile.preferredName)
- .font(.title2.weight(.semibold))
- Text(abbreviatedPublicKey)
- .font(.caption.monospaced())
- .foregroundStyle(.secondary)
- }
- .frame(maxWidth: .infinity)
- .accessibilityElement(children: .combine)
- }
- if let about = profile.about, !about.isEmpty {
- Section("About") { Text(about) }
- }
- Section("Nostr profile") {
- if let nip05 = profile.nip05 {
- LabeledContent("NIP-05", value: nip05)
- }
- if let website = safeHTTPS(profile.website) {
- Link(destination: website) {
- LabeledContent("Website", value: website.host ?? website.absoluteString)
- }
- }
- if let address = profile.lightningAddress {
- LabeledContent("Lightning", value: address)
- }
- }
+ var body: some View {
+ List {
+ Section {
+ VStack(spacing: 12) {
+ RadrootsStableAvatarView(profile: profile, size: 88)
+ Text(profile.preferredName)
+ .font(.title2.weight(.semibold))
+ Text(abbreviatedPublicKey)
+ .font(.caption.monospaced())
+ .foregroundStyle(.secondary)
+ }
+ .frame(maxWidth: .infinity)
+ .accessibilityElement(children: .combine)
+ }
+ if let about = profile.about, !about.isEmpty {
+ Section("About") { Text(about) }
+ }
+ Section("Nostr profile") {
+ if let nip05 = profile.nip05 {
+ LabeledContent("NIP-05", value: nip05)
}
- .navigationTitle("Profile")
- .navigationBarTitleDisplayMode(.inline)
- .accessibilityIdentifier("radroots.profile.\(profile.authorPublicKey)")
+ if let website = safeHTTPS(profile.website) {
+ Link(destination: website) {
+ LabeledContent("Website", value: website.host ?? website.absoluteString)
+ }
+ }
+ if let address = profile.lightningAddress {
+ LabeledContent("Lightning", value: address)
+ }
+ }
}
+ .navigationTitle("Profile")
+ .navigationBarTitleDisplayMode(.inline)
+ .accessibilityIdentifier("radroots.profile.\(profile.authorPublicKey)")
+ }
- private var abbreviatedPublicKey: String {
- guard profile.authorPublicKey.count > 16 else { return profile.authorPublicKey }
- return "\(profile.authorPublicKey.prefix(8))…\(profile.authorPublicKey.suffix(8))"
- }
+ private var abbreviatedPublicKey: String {
+ guard profile.authorPublicKey.count > 16 else { return profile.authorPublicKey }
+ return "\(profile.authorPublicKey.prefix(8))…\(profile.authorPublicKey.suffix(8))"
+ }
- private func safeHTTPS(_ value: String?) -> URL? {
- guard let value,
- let url = URL(string: value),
- url.scheme?.lowercased() == "https",
- url.host != nil,
- url.user == nil,
- url.password == nil
- else {
- return nil
- }
- return url
+ private func safeHTTPS(_ value: String?) -> URL? {
+ guard let value,
+ let url = URL(string: value),
+ url.scheme?.lowercased() == "https",
+ url.host != nil,
+ url.user == nil,
+ url.password == nil
+ else {
+ return nil
}
+ return url
+ }
}
struct RadrootsStableAvatarView: View {
- let profile: RadrootsProfileSummary
- let size: CGFloat
+ let profile: RadrootsProfileSummary
+ let size: CGFloat
- var body: some View {
- let identity = RadrootsStableVisualIdentity(publicKeyHex: profile.authorPublicKey)
- ZStack {
- Circle().fill(Self.palette[identity.paletteIndex])
- Text(String(profile.preferredName.prefix(1)).uppercased())
- .font(.system(size: size * 0.4, weight: .semibold, design: .rounded))
- .foregroundStyle(.white)
- }
- .frame(width: size, height: size)
- .accessibilityHidden(true)
+ var body: some View {
+ let identity = RadrootsStableVisualIdentity(publicKeyHex: profile.authorPublicKey)
+ ZStack {
+ Circle().fill(Self.palette[identity.paletteIndex])
+ Text(String(profile.preferredName.prefix(1)).uppercased())
+ .font(.system(size: size * 0.4, weight: .semibold, design: .rounded))
+ .foregroundStyle(.white)
}
+ .frame(width: size, height: size)
+ .accessibilityHidden(true)
+ }
- private static let palette: [Color] = [
- .indigo, .mint, .orange, .purple, .teal, .pink,
- .blue, .green, .red, .cyan, .brown, .yellow,
- ]
+ private static let palette: [Color] = [
+ .indigo, .mint, .orange, .purple, .teal, .pink,
+ .blue, .green, .red, .cyan, .brown, .yellow,
+ ]
}
struct RadrootsSettingsView: View {
- let snapshot: RadrootsRuntimeSnapshot
- @ObservedObject var todayStore: RadrootsTodayStore
- @ObservedObject var addStore: RadrootsAddStore
- @EnvironmentObject private var diagnosticsStore: RadrootsDiagnosticsStore
+ let snapshot: RadrootsRuntimeSnapshot
+ @ObservedObject var todayStore: RadrootsTodayStore
+ @ObservedObject var addStore: RadrootsAddStore
+ @EnvironmentObject private var diagnosticsStore: RadrootsDiagnosticsStore
- var body: some View {
- List {
- Section("Identity") {
- LabeledContent("Local signer", value: snapshot.identity.hostSignerConfigured ? "Ready" : "Needs attention")
- LabeledContent("Public key", value: abbreviatedPublicKey)
- .accessibilityIdentifier("radroots.settings.identity.public_key")
- .accessibilityValue(snapshot.identity.publicKeyHex)
- }
- Section("Nostr relays") {
- if snapshot.relay?.relays.isEmpty != false {
- Text("No relay is configured for this profile.")
- .foregroundStyle(.secondary)
- }
- ForEach(snapshot.relay?.relays ?? [], id: \.url) { relay in
- VStack(alignment: .leading, spacing: 4) {
- Text(relay.url).font(.caption.monospaced())
- Text("\(relay.access.replacingOccurrences(of: "_", with: " ")) · read \(relay.readState) · write \(relay.writeState)")
- .font(.caption2)
- .foregroundStyle(.secondary)
- }
- }
- Button("Retry local network") { Task { await todayStore.reload() } }
- .accessibilityIdentifier("radroots.settings.retry.network")
- }
- Section("Blossom photos") {
- if let configuration = addStore.blossomConfiguration {
- LabeledContent("Origin", value: configuration.primaryOrigin)
- .accessibilityIdentifier("radroots.settings.blossom.origin")
- LabeledContent("Configuration", value: abbreviated(configuration.configFingerprint))
- .accessibilityIdentifier("radroots.settings.blossom.fingerprint")
- } else {
- Text("No photo service is configured for this network profile.")
- .foregroundStyle(.secondary)
- }
- if let evidence = addStore.blossomEvidence {
- LabeledContent("Service state", value: display(evidence.state))
- .accessibilityIdentifier("radroots.settings.blossom.state")
- LabeledContent("Connection", value: display(evidence.transportSecurity))
- if evidence.lastSuccessfulState != "none" {
- LabeledContent("Last success", value: display(evidence.lastSuccessfulState))
- }
- if let status = evidence.httpStatus {
- LabeledContent("HTTP status", value: String(status))
- .accessibilityIdentifier("radroots.settings.blossom.http_status")
- }
- if let errorCode = evidence.errorCode {
- LabeledContent("Last error", value: display(errorCode))
- .accessibilityIdentifier("radroots.settings.blossom.error_code")
- }
- if let serverErrorCode = evidence.serverErrorCode {
- LabeledContent("Server error", value: display(serverErrorCode))
- .accessibilityIdentifier("radroots.settings.blossom.server_error_code")
- }
- if evidence.attempts > 0 {
- LabeledContent("Attempts", value: String(evidence.attempts))
- }
- if evidence.possibleOrphan {
- Text("The server may contain an upload whose verification did not complete.")
- .foregroundStyle(.orange)
- }
- }
- LabeledContent("Photo library", value: addStore.mediaSupport.library ? "Ready" : "Unavailable")
- LabeledContent("Camera", value: addStore.mediaSupport.camera ? "Ready" : "Unavailable")
- Button {
- Task { await addStore.checkPhotoService() }
- } label: {
- if addStore.isCheckingBlossom {
- ProgressView()
- } else {
- Text("Check photo service")
- }
- }
- .disabled(addStore.isCheckingBlossom || addStore.blossomConfiguration == nil)
- .accessibilityIdentifier("radroots.settings.retry.blossom")
- }
- Section("Runtime") {
- LabeledContent("Crate", value: snapshot.crateName)
- LabeledContent("Version", value: snapshot.crateVersion)
- LabeledContent("State", value: snapshot.isClosed ? "Closed" : "Running")
- }
- Section {
- if let message = diagnosticsStore.message {
- Text(message)
- .foregroundStyle(.secondary)
- }
- Button("Prepare diagnostics export") {
- Task { await diagnosticsStore.prepare(snapshot: snapshot) }
- }
- .disabled(diagnosticsStore.isPreparing)
- .accessibilityIdentifier("radroots.settings.diagnostics")
- } header: {
- Text("Privacy-safe diagnostics")
- } footer: {
- Text("Exports contain bounded lifecycle codes and runtime status only. Posts, keys, credentials, endpoint URLs, and local paths are excluded.")
- }
+ var body: some View {
+ List {
+ Section("Identity") {
+ LabeledContent(
+ "Local signer",
+ value: snapshot.identity.hostSignerConfigured ? "Ready" : "Needs attention")
+ LabeledContent("Public key", value: abbreviatedPublicKey)
+ .accessibilityIdentifier("radroots.settings.identity.public_key")
+ .accessibilityValue(snapshot.identity.publicKeyHex)
+ }
+ Section("Nostr relays") {
+ if snapshot.relay?.relays.isEmpty != false {
+ Text("No relay is configured for this profile.")
+ .foregroundStyle(.secondary)
+ }
+ ForEach(snapshot.relay?.relays ?? [], id: \.url) { relay in
+ VStack(alignment: .leading, spacing: 4) {
+ Text(relay.url).font(.caption.monospaced())
+ Text("\(relay.access.label) · read \(relay.readState) · write \(relay.writeState)")
+ .font(.caption2)
+ .foregroundStyle(.secondary)
+ }
+ }
+ Button("Retry local network") { Task { await todayStore.reload() } }
+ .accessibilityIdentifier("radroots.settings.retry.network")
+ }
+ Section("Blossom photos") {
+ if let configuration = addStore.blossomConfiguration {
+ LabeledContent("Origin", value: configuration.primaryOrigin)
+ .accessibilityIdentifier("radroots.settings.blossom.origin")
+ LabeledContent("Configuration", value: abbreviated(configuration.configFingerprint))
+ .accessibilityIdentifier("radroots.settings.blossom.fingerprint")
+ } else {
+ Text("No photo service is configured for this network profile.")
+ .foregroundStyle(.secondary)
+ }
+ if let evidence = addStore.blossomEvidence {
+ LabeledContent("Service state", value: display(evidence.state))
+ .accessibilityIdentifier("radroots.settings.blossom.state")
+ LabeledContent("Connection", value: display(evidence.transportSecurity))
+ if evidence.lastSuccessfulState != "none" {
+ LabeledContent("Last success", value: display(evidence.lastSuccessfulState))
+ }
+ if let status = evidence.httpStatus {
+ LabeledContent("HTTP status", value: String(status))
+ .accessibilityIdentifier("radroots.settings.blossom.http_status")
+ }
+ if let errorCode = evidence.errorCode {
+ LabeledContent("Last error", value: display(errorCode))
+ .accessibilityIdentifier("radroots.settings.blossom.error_code")
+ }
+ if let serverErrorCode = evidence.serverErrorCode {
+ LabeledContent("Server error", value: display(serverErrorCode))
+ .accessibilityIdentifier("radroots.settings.blossom.server_error_code")
+ }
+ if evidence.attempts > 0 {
+ LabeledContent("Attempts", value: String(evidence.attempts))
+ }
+ if evidence.possibleOrphan {
+ Text("The server may contain an upload whose verification did not complete.")
+ .foregroundStyle(.orange)
+ }
}
- .navigationTitle("Settings")
- .radrootsDocumentExporter(preparedExport: $diagnosticsStore.preparedExport) { result in
- diagnosticsStore.completeExport(result)
+ LabeledContent(
+ "Photo library", value: addStore.mediaSupport.library ? "Ready" : "Unavailable")
+ LabeledContent("Camera", value: addStore.mediaSupport.camera ? "Ready" : "Unavailable")
+ Button {
+ Task { await addStore.checkPhotoService() }
+ } label: {
+ if addStore.isCheckingBlossom {
+ ProgressView()
+ } else {
+ Text("Check photo service")
+ }
}
- .accessibilityIdentifier("radroots.support.settings.view")
+ .disabled(addStore.isCheckingBlossom || addStore.blossomConfiguration == nil)
+ .accessibilityIdentifier("radroots.settings.retry.blossom")
+ }
+ Section("Runtime") {
+ LabeledContent("Crate", value: snapshot.crateName)
+ LabeledContent("Version", value: snapshot.crateVersion)
+ LabeledContent("State", value: snapshot.isClosed ? "Closed" : "Running")
+ }
+ Section {
+ if let message = diagnosticsStore.message {
+ Text(message)
+ .foregroundStyle(.secondary)
+ }
+ Button("Prepare diagnostics export") {
+ Task { await diagnosticsStore.prepare(snapshot: snapshot) }
+ }
+ .disabled(diagnosticsStore.isPreparing)
+ .accessibilityIdentifier("radroots.settings.diagnostics")
+ } header: {
+ Text("Privacy-safe diagnostics")
+ } footer: {
+ Text(
+ "Exports contain bounded lifecycle codes and runtime status only. Posts, keys, credentials, endpoint URLs, and local paths are excluded."
+ )
+ }
}
-
- private var abbreviatedPublicKey: String {
- let key = snapshot.identity.publicKeyHex
- guard key.count > 16 else { return key }
- return "\(key.prefix(8))…\(key.suffix(8))"
+ .navigationTitle("Settings")
+ .radrootsDocumentExporter(preparedExport: $diagnosticsStore.preparedExport) { result in
+ diagnosticsStore.completeExport(result)
}
+ .accessibilityIdentifier("radroots.support.settings.view")
+ }
- private func abbreviated(_ value: String) -> String {
- guard value.count > 16 else { return value }
- return "\(value.prefix(8))…\(value.suffix(8))"
- }
+ private var abbreviatedPublicKey: String {
+ let key = snapshot.identity.publicKeyHex
+ guard key.count > 16 else { return key }
+ return "\(key.prefix(8))…\(key.suffix(8))"
+ }
- private func display(_ value: String) -> String {
- value.replacingOccurrences(of: "_", with: " ")
- }
+ private func abbreviated(_ value: String) -> String {
+ guard value.count > 16 else { return value }
+ return "\(value.prefix(8))…\(value.suffix(8))"
+ }
+
+ private func display(_ value: String) -> String {
+ value.replacingOccurrences(of: "_", with: " ")
+ }
}
diff --git a/Radroots/Views/RadrootsTodayView.swift b/Radroots/Views/RadrootsTodayView.swift
@@ -1,376 +1,381 @@
import SwiftUI
struct RadrootsTodayView: View {
- let snapshot: RadrootsRuntimeSnapshot
- @ObservedObject var store: RadrootsTodayStore
- @ObservedObject var searchStore: RadrootsSearchStore
- @ObservedObject var meStore: RadrootsMeStore
- @ObservedObject var addStore: RadrootsAddStore
- let revise: (RadrootsTodayCard) -> Void
- @State private var showsAccount = false
- @State private var showsContextPicker = false
- @State private var showsSearch = false
+ let snapshot: RadrootsRuntimeSnapshot
+ @ObservedObject var store: RadrootsTodayStore
+ @ObservedObject var searchStore: RadrootsSearchStore
+ @ObservedObject var meStore: RadrootsMeStore
+ @ObservedObject var addStore: RadrootsAddStore
+ let revise: (RadrootsTodayCard) -> Void
+ @State private var showsAccount = false
+ @State private var showsContextPicker = false
+ @State private var showsSearch = false
- var body: some View {
- Group {
- switch store.state {
- case .idle where store.cards.isEmpty,
- .loading where store.cards.isEmpty:
- ProgressView("Loading Today…")
- .accessibilityIdentifier("radroots.today.loading")
- case .empty:
- ContentUnavailableView {
- Label("Nothing here yet", systemImage: "leaf")
- } description: {
- Text("Pull to refresh or add the first update to this local network.")
- } actions: {
- Button("Refresh") { Task { await store.reload() } }
- }
- .accessibilityIdentifier("radroots.today.empty")
- case let .failed(message) where store.cards.isEmpty:
- unavailableView(
- title: "Today is unavailable",
- message: message,
- systemImage: "exclamationmark.triangle"
- )
- .accessibilityIdentifier("radroots.today.error")
- case let .offline(message) where store.cards.isEmpty:
- unavailableView(
- title: "You’re offline",
- message: message,
- systemImage: "wifi.slash"
- )
- .accessibilityIdentifier("radroots.today.offline")
- default:
- feed
- }
- }
- .navigationTitle("Today")
- .toolbar { toolbarContent }
- .sheet(isPresented: $showsContextPicker) {
- RadrootsContextPicker(store: store)
- }
- .sheet(isPresented: $showsAccount, onDismiss: { meStore.stop() }) {
- RadrootsMeSheet(
- runtimeSnapshot: snapshot,
- context: store.selectedContext,
- store: meStore,
- todayStore: store,
- addStore: addStore,
- revise: revise
- )
- }
- .sheet(isPresented: $showsSearch, onDismiss: { searchStore.stop() }) {
- RadrootsSearchSheet(
- snapshot: snapshot,
- context: store.selectedContext,
- store: searchStore,
- revise: revise
- )
+ var body: some View {
+ Group {
+ switch store.state {
+ case .idle where store.cards.isEmpty,
+ .loading where store.cards.isEmpty:
+ ProgressView("Loading Today…")
+ .accessibilityIdentifier("radroots.today.loading")
+ case .empty:
+ ContentUnavailableView {
+ Label("Nothing here yet", systemImage: "leaf")
+ } description: {
+ Text("Pull to refresh or add the first update to this local network.")
+ } actions: {
+ Button("Refresh") { Task { await store.reload() } }
}
- .task { await store.start() }
- .accessibilityIdentifier("radroots.today.root")
+ .accessibilityIdentifier("radroots.today.empty")
+ case .failed(let message) where store.cards.isEmpty:
+ unavailableView(
+ title: "Today is unavailable",
+ message: message,
+ systemImage: "exclamationmark.triangle"
+ )
+ .accessibilityIdentifier("radroots.today.error")
+ case .offline(let message) where store.cards.isEmpty:
+ unavailableView(
+ title: "You’re offline",
+ message: message,
+ systemImage: "wifi.slash"
+ )
+ .accessibilityIdentifier("radroots.today.offline")
+ default:
+ feed
+ }
}
+ .navigationTitle("Today")
+ .toolbar { toolbarContent }
+ .sheet(isPresented: $showsContextPicker) {
+ RadrootsContextPicker(store: store)
+ }
+ .sheet(isPresented: $showsAccount, onDismiss: { meStore.stop() }) {
+ RadrootsMeSheet(
+ runtimeSnapshot: snapshot,
+ context: store.selectedContext,
+ store: meStore,
+ todayStore: store,
+ addStore: addStore,
+ revise: revise
+ )
+ }
+ .sheet(isPresented: $showsSearch, onDismiss: { searchStore.stop() }) {
+ RadrootsSearchSheet(
+ snapshot: snapshot,
+ context: store.selectedContext,
+ store: searchStore,
+ revise: revise
+ )
+ }
+ .task { await store.start() }
+ .accessibilityIdentifier("radroots.today.root")
+ }
- private var feed: some View {
- List {
- if case let .offline(message) = store.state {
- statusBanner(message: message, systemImage: "wifi.slash")
- } else if case let .failed(message) = store.state {
- statusBanner(message: message, systemImage: "exclamationmark.triangle")
- }
-
- ForEach(store.cards) { card in
- NavigationLink(value: card) {
- RadrootsTodayCardView(card: card)
- }
- .accessibilityIdentifier("radroots.today.card.\(card.id)")
- .onAppear {
- guard card.id == store.cards.last?.id, store.canLoadNextPage else { return }
- Task { await store.loadNextPage() }
- }
- }
+ private var feed: some View {
+ List {
+ if case .offline(let message) = store.state {
+ statusBanner(message: message, systemImage: "wifi.slash")
+ } else if case .failed(let message) = store.state {
+ statusBanner(message: message, systemImage: "exclamationmark.triangle")
+ }
- if store.isLoadingNextPage {
- HStack {
- Spacer()
- ProgressView("Loading more…")
- Spacer()
- }
- .accessibilityIdentifier("radroots.today.loading_more")
- }
+ ForEach(store.cards) { card in
+ NavigationLink(value: card) {
+ RadrootsTodayCardView(card: card)
}
- .listStyle(.plain)
- .refreshable { await store.reload() }
- .navigationDestination(for: RadrootsTodayCard.self) { card in
- RadrootsTodayDetailView(
- card: card,
- canRevise: card.authorPublicKey == snapshot.identity.publicKeyHex,
- revise: revise
- )
+ .accessibilityIdentifier("radroots.today.card.\(card.id)")
+ .onAppear {
+ guard card.id == store.cards.last?.id, store.canLoadNextPage else { return }
+ Task { await store.loadNextPage() }
}
- .accessibilityIdentifier("radroots.today.feed")
- }
+ }
- @ToolbarContentBuilder
- private var toolbarContent: some ToolbarContent {
- ToolbarItem(placement: .topBarLeading) {
- Button {
- showsContextPicker = true
- } label: {
- Label(store.selectedContext?.label ?? "Local network", systemImage: "location.circle")
- }
- .accessibilityLabel("Choose local network")
- .accessibilityValue(store.selectedContext?.label ?? "None")
- .accessibilityIdentifier("radroots.support.context")
- }
- ToolbarItem(placement: .topBarTrailing) {
- Button {
- showsSearch = true
- } label: {
- Label("Search", systemImage: "magnifyingglass")
- }
- .accessibilityIdentifier("radroots.support.search")
- }
- ToolbarItem(placement: .topBarTrailing) {
- Button {
- showsAccount = true
- } label: {
- Label("Account", systemImage: "person.crop.circle")
- }
- .accessibilityIdentifier("radroots.support.account")
+ if store.isLoadingNextPage {
+ HStack {
+ Spacer()
+ ProgressView("Loading more…")
+ Spacer()
}
+ .accessibilityIdentifier("radroots.today.loading_more")
+ }
+ }
+ .listStyle(.plain)
+ .refreshable { await store.reload() }
+ .navigationDestination(for: RadrootsTodayCard.self) { card in
+ RadrootsTodayDetailView(
+ card: card,
+ canRevise: card.authorPublicKey == snapshot.identity.publicKeyHex
+ && card.localOperationID != nil,
+ revise: revise
+ )
}
+ .accessibilityIdentifier("radroots.today.feed")
+ }
- private func unavailableView(
- title: String,
- message: String,
- systemImage: String
- ) -> some View {
- ContentUnavailableView {
- Label(title, systemImage: systemImage)
- } description: {
- Text(message)
- } actions: {
- Button("Try again") { Task { await store.reload() } }
- }
+ @ToolbarContentBuilder
+ private var toolbarContent: some ToolbarContent {
+ ToolbarItem(placement: .topBarLeading) {
+ Button {
+ showsContextPicker = true
+ } label: {
+ Label(store.selectedContext?.label ?? "Local network", systemImage: "location.circle")
+ }
+ .accessibilityLabel("Choose local network")
+ .accessibilityValue(store.selectedContext?.label ?? "None")
+ .accessibilityIdentifier("radroots.support.context")
}
+ ToolbarItem(placement: .topBarTrailing) {
+ Button {
+ showsSearch = true
+ } label: {
+ Label("Search", systemImage: "magnifyingglass")
+ }
+ .accessibilityIdentifier("radroots.support.search")
+ }
+ ToolbarItem(placement: .topBarTrailing) {
+ Button {
+ showsAccount = true
+ } label: {
+ Label("Account", systemImage: "person.crop.circle")
+ }
+ .accessibilityIdentifier("radroots.support.account")
+ }
+ }
- private func statusBanner(message: String, systemImage: String) -> some View {
- Label(message, systemImage: systemImage)
- .font(.footnote)
- .foregroundStyle(.secondary)
- .accessibilityIdentifier("radroots.today.status")
+ private func unavailableView(
+ title: String,
+ message: String,
+ systemImage: String
+ ) -> some View {
+ ContentUnavailableView {
+ Label(title, systemImage: systemImage)
+ } description: {
+ Text(message)
+ } actions: {
+ Button("Try again") { Task { await store.reload() } }
}
+ }
+
+ private func statusBanner(message: String, systemImage: String) -> some View {
+ Label(message, systemImage: systemImage)
+ .font(.footnote)
+ .foregroundStyle(.secondary)
+ .accessibilityIdentifier("radroots.today.status")
+ }
}
private struct RadrootsContextPicker: View {
- @ObservedObject var store: RadrootsTodayStore
- @Environment(\.dismiss) private var dismiss
+ @ObservedObject var store: RadrootsTodayStore
+ @Environment(\.dismiss) private var dismiss
- var body: some View {
- NavigationStack {
- List(store.contexts) { context in
- Button {
- store.selectContext(id: context.id)
- dismiss()
- } label: {
- HStack {
- VStack(alignment: .leading, spacing: 4) {
- Text(context.label)
- .foregroundStyle(.primary)
- if let locality = context.locality {
- Text(locality)
- .font(.caption)
- .foregroundStyle(.secondary)
- }
- }
- Spacer()
- if context.id == store.selectedContextID {
- Image(systemName: "checkmark")
- .accessibilityHidden(true)
- }
- }
- }
- .accessibilityLabel(context.label)
- .accessibilityValue(context.id == store.selectedContextID ? "Selected" : "")
- .accessibilityIdentifier("radroots.context.\(context.id)")
+ var body: some View {
+ NavigationStack {
+ List(store.contexts) { context in
+ Button {
+ store.selectContext(id: context.id)
+ dismiss()
+ } label: {
+ HStack {
+ VStack(alignment: .leading, spacing: 4) {
+ Text(context.label)
+ .foregroundStyle(.primary)
+ if let locality = context.locality {
+ Text(locality)
+ .font(.caption)
+ .foregroundStyle(.secondary)
+ }
}
- .navigationTitle("Local network")
- .toolbar {
- ToolbarItem(placement: .confirmationAction) {
- Button("Done") { dismiss() }
- }
+ Spacer()
+ if context.id == store.selectedContextID {
+ Image(systemName: "checkmark")
+ .accessibilityHidden(true)
}
+ }
+ }
+ .accessibilityLabel(context.label)
+ .accessibilityValue(context.id == store.selectedContextID ? "Selected" : "")
+ .accessibilityIdentifier("radroots.context.\(context.id)")
+ }
+ .navigationTitle("Local network")
+ .toolbar {
+ ToolbarItem(placement: .confirmationAction) {
+ Button("Done") { dismiss() }
}
- .presentationDetents([.medium, .large])
- .accessibilityIdentifier("radroots.context.picker")
+ }
}
+ .presentationDetents([.medium, .large])
+ .accessibilityIdentifier("radroots.context.picker")
+ }
}
struct RadrootsTodayCardView: View {
- let card: RadrootsTodayCard
+ let card: RadrootsTodayCard
- var body: some View {
- VStack(alignment: .leading, spacing: 12) {
- HStack(alignment: .firstTextBaseline) {
- Text(card.authorName)
- .font(.subheadline.weight(.semibold))
- Spacer()
- Text(card.type.label)
- .font(.caption.weight(.semibold))
- .padding(.horizontal, 8)
- .padding(.vertical, 4)
- .background(.tint.opacity(0.12), in: Capsule())
- }
+ var body: some View {
+ VStack(alignment: .leading, spacing: 12) {
+ HStack(alignment: .firstTextBaseline) {
+ Text(card.authorName)
+ .font(.subheadline.weight(.semibold))
+ Spacer()
+ Text(card.type.label)
+ .font(.caption.weight(.semibold))
+ .padding(.horizontal, 8)
+ .padding(.vertical, 4)
+ .background(.tint.opacity(0.12), in: Capsule())
+ }
- if let title = card.title {
- Text(title)
- .font(.headline)
- }
- if !card.content.isEmpty {
- Text(card.content)
- .font(card.type == .ask ? .headline : .body)
- }
+ if let title = card.title {
+ Text(title)
+ .font(.headline)
+ }
+ if !card.content.isEmpty {
+ Text(card.content)
+ .font(card.type == .ask ? .headline : .body)
+ }
- if card.type == .event {
- eventMetadata
- }
- if card.type == .foodAvailability {
- foodMetadata
- }
+ if card.type == .event {
+ eventMetadata
+ }
+ if card.type == .foodAvailability {
+ foodMetadata
+ }
- ForEach(card.media) { media in
- RadrootsTrustedMediaView(media: media)
- }
+ ForEach(card.media) { media in
+ RadrootsTrustedMediaView(media: media)
+ }
- HStack(spacing: 12) {
- Text(Date(timeIntervalSince1970: TimeInterval(card.authoredAtUnixSeconds)), style: .relative)
- if card.lifecycle != .active {
- Label(card.lifecycle.rawValue.capitalized, systemImage: "clock")
- }
- if let operationState = card.localOperationState {
- Label(operationState.replacingOccurrences(of: "_", with: " ").capitalized, systemImage: "arrow.triangle.2.circlepath")
- }
- }
- .font(.caption)
- .foregroundStyle(.secondary)
+ HStack(spacing: 12) {
+ Text(
+ Date(timeIntervalSince1970: TimeInterval(card.authoredAtUnixSeconds)), style: .relative)
+ if card.lifecycle != .active {
+ Label(card.lifecycle.rawValue.capitalized, systemImage: "clock")
+ }
+ if let operationState = card.localOperationState {
+ Label(
+ operationState.replacingOccurrences(of: "_", with: " ").capitalized,
+ systemImage: "arrow.triangle.2.circlepath")
}
- .padding(.vertical, 8)
- .accessibilityElement(children: .combine)
- .accessibilityLabel(card.accessibilitySummary)
+ }
+ .font(.caption)
+ .foregroundStyle(.secondary)
}
+ .padding(.vertical, 8)
+ .accessibilityElement(children: .combine)
+ .accessibilityLabel(card.accessibilitySummary)
+ }
- private var eventMetadata: some View {
- VStack(alignment: .leading, spacing: 4) {
- if let start = card.eventStartUnixSeconds {
- Label(
- Date(timeIntervalSince1970: TimeInterval(start)).formatted(date: .abbreviated, time: .shortened),
- systemImage: "calendar"
- )
- }
- if let location = card.location {
- Label(location, systemImage: "mappin.and.ellipse")
- }
- }
- .font(.subheadline)
+ private var eventMetadata: some View {
+ VStack(alignment: .leading, spacing: 4) {
+ if let start = card.eventStartUnixSeconds {
+ Label(
+ Date(timeIntervalSince1970: TimeInterval(start)).formatted(
+ date: .abbreviated, time: .shortened),
+ systemImage: "calendar"
+ )
+ }
+ if let location = card.location {
+ Label(location, systemImage: "mappin.and.ellipse")
+ }
}
+ .font(.subheadline)
+ }
- private var foodMetadata: some View {
- HStack(spacing: 12) {
- if let price = card.priceSummary {
- Label(price, systemImage: "tag")
- }
- if let quantity = card.quantity, let unit = card.priceUnit {
- Label("\(quantity) \(unit) available", systemImage: "basket")
- }
- if let location = card.location {
- Label(location, systemImage: "mappin.and.ellipse")
- }
- }
- .font(.subheadline)
+ private var foodMetadata: some View {
+ HStack(spacing: 12) {
+ if let price = card.priceSummary {
+ Label(price, systemImage: "tag")
+ }
+ if let quantity = card.quantity, let unit = card.priceUnit {
+ Label("\(quantity) \(unit) available", systemImage: "basket")
+ }
+ if let location = card.location {
+ Label(location, systemImage: "mappin.and.ellipse")
+ }
}
+ .font(.subheadline)
+ }
}
struct RadrootsTrustedMediaView: View {
- let media: RadrootsMediaReference
+ let media: RadrootsMediaReference
- var body: some View {
- Group {
- if let url = media.trustedURL {
- AsyncImage(url: url) { phase in
- switch phase {
- case let .success(image):
- image.resizable().scaledToFill()
- case .failure:
- mediaState("Media could not be loaded", systemImage: "photo.badge.exclamationmark")
- case .empty:
- ProgressView()
- @unknown default:
- mediaState("Media unavailable", systemImage: "photo")
- }
- }
- } else {
- switch media.verification {
- case .pending:
- mediaState("Verifying media", systemImage: "hourglass")
- case .failed:
- mediaState("Media failed verification", systemImage: "shield.slash")
- case .unavailable:
- mediaState("Media not verified", systemImage: "shield.lefthalf.filled")
- case .verified:
- mediaState("Media URL is not trusted", systemImage: "lock.trianglebadge.exclamationmark")
- }
- }
+ var body: some View {
+ Group {
+ if let url = media.trustedURL {
+ AsyncImage(url: url) { phase in
+ switch phase {
+ case .success(let image):
+ image.resizable().scaledToFill()
+ case .failure:
+ mediaState("Media could not be loaded", systemImage: "photo.badge.exclamationmark")
+ case .empty:
+ ProgressView()
+ @unknown default:
+ mediaState("Media unavailable", systemImage: "photo")
+ }
}
- .frame(maxWidth: .infinity, minHeight: 120, maxHeight: 260)
- .background(.quaternary, in: RoundedRectangle(cornerRadius: 12))
- .clipShape(RoundedRectangle(cornerRadius: 12))
- .accessibilityLabel(media.alt ?? media.verification.rawValue.capitalized)
+ } else {
+ switch media.verification {
+ case .pending:
+ mediaState("Verifying media", systemImage: "hourglass")
+ case .failed:
+ mediaState("Media failed verification", systemImage: "shield.slash")
+ case .unavailable:
+ mediaState("Media not verified", systemImage: "shield.lefthalf.filled")
+ case .verified:
+ mediaState("Media URL is not trusted", systemImage: "lock.trianglebadge.exclamationmark")
+ }
+ }
}
+ .frame(maxWidth: .infinity, minHeight: 120, maxHeight: 260)
+ .background(.quaternary, in: RoundedRectangle(cornerRadius: 12))
+ .clipShape(RoundedRectangle(cornerRadius: 12))
+ .accessibilityLabel(media.alt ?? media.verification.rawValue.capitalized)
+ }
- private func mediaState(_ message: String, systemImage: String) -> some View {
- ContentUnavailableView(message, systemImage: systemImage)
- .font(.caption)
- }
+ private func mediaState(_ message: String, systemImage: String) -> some View {
+ ContentUnavailableView(message, systemImage: systemImage)
+ .font(.caption)
+ }
}
struct RadrootsTodayDetailView: View {
- let card: RadrootsTodayCard
- let canRevise: Bool
- let revise: (RadrootsTodayCard) -> Void
+ let card: RadrootsTodayCard
+ let canRevise: Bool
+ let revise: (RadrootsTodayCard) -> Void
- var body: some View {
- List {
- Section {
- RadrootsTodayCardView(card: card)
- }
- if !card.thread.isEmpty {
- Section("Conversation") {
- ForEach(card.thread) { entry in
- VStack(alignment: .leading, spacing: 4) {
- Text(entry.authorProfile?.preferredName ?? entry.authorPublicKey)
- .font(.subheadline.weight(.semibold))
- Text(entry.content)
- Text(entry.type.rawValue.capitalized)
- .font(.caption)
- .foregroundStyle(.secondary)
- }
- .accessibilityElement(children: .combine)
- }
- }
+ var body: some View {
+ List {
+ Section {
+ RadrootsTodayCardView(card: card)
+ }
+ if !card.thread.isEmpty {
+ Section("Conversation") {
+ ForEach(card.thread) { entry in
+ VStack(alignment: .leading, spacing: 4) {
+ Text(entry.authorProfile?.preferredName ?? entry.authorPublicKey)
+ .font(.subheadline.weight(.semibold))
+ Text(entry.content)
+ Text(entry.type.rawValue.capitalized)
+ .font(.caption)
+ .foregroundStyle(.secondary)
}
+ .accessibilityElement(children: .combine)
+ }
}
- .navigationTitle(card.type.label)
- .navigationBarTitleDisplayMode(.inline)
- .toolbar {
- if canRevise {
- ToolbarItem(placement: .topBarTrailing) {
- Button("Revise") { revise(card) }
- .accessibilityIdentifier("radroots.today.revise")
- }
- }
+ }
+ }
+ .navigationTitle(card.type.label)
+ .navigationBarTitleDisplayMode(.inline)
+ .toolbar {
+ if canRevise {
+ ToolbarItem(placement: .topBarTrailing) {
+ Button("Revise") { revise(card) }
+ .accessibilityIdentifier("radroots.today.revise")
}
- .accessibilityIdentifier("radroots.today.detail.\(card.id)")
+ }
}
+ .accessibilityIdentifier("radroots.today.detail.\(card.id)")
+ }
}
diff --git a/RadrootsFFI/api/RadrootsKitBindings.symbols.json b/RadrootsFFI/api/RadrootsKitBindings.symbols.json
@@ -1 +1 @@
-{"generator":"Apple Swift version 6.3.3 (swiftlang-6.3.3.1.3 clang-2100.1.1.101)","module":{"name":"RadrootsKitBindings","platform":{"architecture":"arm64","environment":"simulator","operatingSystem":{"minimumVersion":{"major":18,"minor":0},"name":"ios"},"vendor":"apple"}},"relationships":[{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A10HostSignerP","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A10HostSignerP","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A11ErrorRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A11ErrorRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A11ErrorRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A11ErrorRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A11ErrorRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A11ErrorRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A15RuntimeObserverP","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A15RuntimeObserverP","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A7RuntimeC","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A7RuntimeC","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A7RuntimeC","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:10Foundation14LocalizedErrorP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s5ErrorP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s5ErrorP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings11FfiMeRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings11FfiMeRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings11FfiMeRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings11FfiMeRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings11FfiMeRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings11FfiMeRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings12FfiDraftKindO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings12FfiDraftKindO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings12FfiDraftKindO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings12FfiDraftKindO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings12FfiDraftKindO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings12FfiDraftKindO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings13FfiMediaStageO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings13FfiMediaStageO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings13FfiMediaStageO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings13FfiMediaStageO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings13FfiMediaStageO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings13FfiMediaStageO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings14FfiOutboxStateO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings14FfiOutboxStateO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings14FfiOutboxStateO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings14FfiOutboxStateO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings14FfiOutboxStateO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings14FfiOutboxStateO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings15FfiAddFieldKindO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings15FfiAddFieldKindO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings15FfiAddFieldKindO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings15FfiAddFieldKindO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings15FfiAddFieldKindO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings15FfiAddFieldKindO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAddDraftInputV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAddDraftInputV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAddDraftInputV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAddDraftInputV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAddDraftInputV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAddDraftInputV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiProfileRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiProfileRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiProfileRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiProfileRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiProfileRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiProfileRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiThreadProfileO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiThreadProfileO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiThreadProfileO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiThreadProfileO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiThreadProfileO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiThreadProfileO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiMediaOperationC","target":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiMediaOperationC","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiMediaOperationC","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiRevisionPolicyO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiRevisionPolicyO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiRevisionPolicyO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiRevisionPolicyO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiRevisionPolicyO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiRevisionPolicyO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiShutdownRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiShutdownRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiShutdownRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiShutdownRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiShutdownRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiShutdownRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17HostSigningResultV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17HostSigningResultV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17HostSigningResultV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17HostSigningResultV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17HostSigningResultV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17HostSigningResultV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBlossomHostKindO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBlossomHostKindO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBlossomHostKindO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBlossomHostKindO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBlossomHostKindO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBlossomHostKindO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiEventTimingKindO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiEventTimingKindO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiEventTimingKindO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiEventTimingKindO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiEventTimingKindO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiEventTimingKindO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningOutcomeO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningOutcomeO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningOutcomeO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningOutcomeO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningOutcomeO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningOutcomeO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningPurposeO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningPurposeO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningPurposeO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningPurposeO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningPurposeO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningPurposeO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningRequestV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningRequestV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningRequestV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningRequestV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningRequestV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningRequestV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18SignerStatusRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18SignerStatusRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18SignerStatusRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18SignerStatusRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18SignerStatusRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18SignerStatusRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiSearchResultTypeO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiSearchResultTypeO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiSearchResultTypeO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiSearchResultTypeO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiSearchResultTypeO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiSearchResultTypeO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiIdentityLockStateO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiIdentityLockStateO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiIdentityLockStateO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiIdentityLockStateO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiIdentityLockStateO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiIdentityLockStateO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCancellationPolicyO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCancellationPolicyO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCancellationPolicyO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCancellationPolicyO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCancellationPolicyO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCancellationPolicyO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCardLifecycleStateO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCardLifecycleStateO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCardLifecycleStateO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCardLifecycleStateO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCardLifecycleStateO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCardLifecycleStateO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiSubscriptionHandleC","target":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiSubscriptionHandleC","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiSubscriptionHandleC","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","target":"s:s9EscapableP"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV11operationIdSSSgvp","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV11safeMessageSSvp","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV12capabilityIdSSSgvp","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV13schemaVersion4code8category9retryable15recoveryActions11operationId010capabilityN011safeMessageACs6UInt16V_S2SSbSaySSGSSSgAOSStcfc","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV15recoveryActionsSaySSGvp","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV4codeSSvp","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV8categorySSvp","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV9retryableSbvp","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC12phase1Search7context5query5limit9asOfUnixSSayAA03FfiF12ResultRecordVGAA0m12LocalNetworkO0V_SSs6UInt16Vs6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC12probeBlossomAA03FfiF14EvidenceRecordVyYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC12uptimeMilliss5Int64VyF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC14identityStatusAA011FfiIdentityF6RecordVyKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC14phase1SettingsAA09FfiMobileF6RecordVyYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC14sdkRelayStatusAA03FfifG12ReportRecordVSgyKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC14withHostSigner27applicationSupportDirectory12publicKeyHex016sourceGenerationM00nO15CreatedAtUnixMs13protectedData04hostG0ACSS_S2Ss6UInt64VAA09ProtectedU12AvailabilityOAA0afG0_ptYaKFZ","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC15phase1SaveDraft7draftId5input15authoredAtUnixS16expectedRevision09persistedlM2MsAA03FfiG12StatusRecordVSS_AA0r3AddG5InputVs6UInt64VAOSgAOtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC15phase1SyncToday7context8nowUnixS6updateAA03FfigF6RecordVAA0l12LocalNetworkM0V_s6UInt64VAA0lG16ProjectionUpdateOtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC15phase1TodayPage7context5limit9asOfUnixS6cursorAA03FfifG6RecordVAA0n12LocalNetworkO0V_s6UInt16Vs6UInt64VSgSSSgtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC15sdkCapabilitiesSayAA19FfiCapabilityRecordVGyF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC16configureBlossom8hostKind17endpointAuthority13primaryOrigin15fallbackOriginsyAA03Ffif4HostH0O_AA0of8EndpointJ0OSSSaySSGtKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC16phase1AddSchemasSayAA03FfiF12SchemaRecordVGyF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC16phase1DraftHeads5limitSayAA03FfiF12StatusRecordVGs6UInt16V_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC16phase1QueueDraft7draftId16expectedRevision6policy14queuedAtUnixMsAA03FfiG12StatusRecordVSS_s6UInt64VAA0qf6PolicyS0VALtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC16sdkStorageStatusAA03FfifG6RecordVyYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC16subscribeChanges8observerAA21FfiSubscriptionHandleCAA0aD8Observer_p_tKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC17phase1CancelDraft7draftId16expectedRevision17cancelledAtUnixMsAA03FfiG12StatusRecordVSS_s6UInt64VAKtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC17phase1DraftStatus7draftIdAA03FfifG6RecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC18phase1AdvanceDraft7draftId16expectedRevisionAA03FfiG12StatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC18phase1LocalNetwork7contextAA03FfifG6RecordVAG_tKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC18phase1RefreshToday7context8nowUnixS6updateAA03FfigF6RecordVAA0l12LocalNetworkM0V_s6UInt64VAA0lG16ProjectionUpdateOtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC18sdkBlossomEvidenceAA03FfifG6RecordVSgyKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC18setAppInfoPlatform8platform8bundleId7version11buildNumber0M3ShaySSSg_A4JtF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC19phase1CancelProfile11operationId16expectedRevisionAA03FfiG12StatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC19phase1CardAddParitySayAA03FfifgH6RecordVGyF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC19phase1ProfileStatus11operationIdAA03FfifG6RecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC19phase1RetrieveMedia7context20referenceFingerprint9operationAA011FfiVerifiedG14ArtifactRecordVAA0l12LocalNetworkO0V_SSAA0lG9OperationCtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC19phase1SaveAddIntent5input15existingDraftId16expectedRevisionAA03FfiK12StatusRecordVAA0ogK5InputV_SSSgs6UInt64VSgtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC20phase1AdvanceProfile11operationIdAA03FfiG12StatusRecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC20phase1CancelRevision11operationIdAA03FfiG12StatusRecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC20phase1QueueAddIntent7draftId16expectedRevisionAA20FfiDraftStatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC20phase1RevisionStatus11operationIdAA03FfifG6RecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC21configureDeviceRelays08writableG0ySaySSG_tKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC21configurePublicRelays08writableG0ySaySSG_tKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC21phase1AdvanceRevision11operationIdAA03FfiG12StatusRecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC21phase1CancelAddIntent7draftId16expectedRevisionAA20FfiDraftStatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC21phase1ReplaceSettings5inputAA03FfiG16TransitionRecordVAA0ifgK0V_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC21phase1SignQueuedDraft7draftId16expectedRevisionAA03FfiH12StatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC22phase1MediaCacheStatus7contextAA03FfifgH6RecordVAA0j12LocalNetworkK0V_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC22phase1RecoverAddIntent7draftIdAA20FfiDraftStatusRecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC22phase1UploadDraftMedia5inputAA03FfiG12StatusRecordVAA0j7BlossomF5InputV_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC22phase1ValidateAddDraft5input15authoredAtUnixSyAA03FfigH5InputV_s6UInt64VtKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC23phase1RecoverDraftQueue7draftId17recoveredAtUnixMsAA03FfiG12StatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC23sdkBlossomConfigurationAA03FfifG6RecordVSgyKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC24configureSimulatorRelays08loopbackG0ySaySSG_tKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC24phase1SaveRevisionIntent5inputAA03FfiG12StatusRecordVAA0jg5InputL0V_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC25phase1SaveProfileMetadata5inputAA03FfiG12StatusRecordVAA0jgh5InputL0V_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC25phase1SaveRetractionDraft7draftId5input15authoredAtUnixS09persistedmN2MsAA03FfiH12StatusRecordVSS_AA0qgH5InputVs6UInt64VANtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC26phase1ApplyIdentityCommand16expectedRevision7commandAA27FfiSettingsTransitionRecordVs6UInt64V_AA0lghO0VtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC26phase1UploadAddMediaIntent5inputAA20FfiDraftStatusRecordVAA0k7BlossomfI0V_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC27applicationSupportDirectory12publicKeyHex016sourceGenerationJ00kL15CreatedAtUnixMs13protectedDataACSS_S2Ss6UInt64VAA09ProtectedR12AvailabilityOtYaKcfc","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC27phase1VerifiedMediaArtifact7context10artifactIdAA03FfifgH6RecordVSgAA0l12LocalNetworkM0V_SStYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC29phase1InvalidateMediaArtifact7context10artifactIdSbAA21FfiLocalNetworkRecordV_SStYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC34phase1InvalidateMediaConfiguration7context24configurationFingerprintSaySSGAA21FfiLocalNetworkRecordV_SStYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC4infoAA03FfiD10InfoRecordVyF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC8infoJsonSSyF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC8phase1Me7context9asOfUnixSAA03FfiF6RecordVAA0k12LocalNetworkL0V_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC8shutdownAA17FfiShutdownRecordVyYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A8AppErrorO16errorDescriptionSSSgvp","target":"s:19RadrootsKitBindings0A8AppErrorO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A8AppErrorO7FailureyAcA0aE6RecordV_tcACmF","target":"s:19RadrootsKitBindings0A8AppErrorO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings11FfiMeRecordV13schemaVersion9publicKey7profile5cardsACs6UInt16V_SSAA0d7ProfileF0VSgSayAA0d9TodayCardF0VGtcfc","target":"s:19RadrootsKitBindings11FfiMeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings11FfiMeRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings11FfiMeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings11FfiMeRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings11FfiMeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings11FfiMeRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings11FfiMeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings11FfiMeRecordV5cardsSayAA0d9TodayCardF0VGvp","target":"s:19RadrootsKitBindings11FfiMeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings11FfiMeRecordV7profileAA0d7ProfileF0VSgvp","target":"s:19RadrootsKitBindings11FfiMeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings11FfiMeRecordV9publicKeySSvp","target":"s:19RadrootsKitBindings11FfiMeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings12FfiDraftKindO10retractionyA2CmF","target":"s:19RadrootsKitBindings12FfiDraftKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings12FfiDraftKindO3addyA2CmF","target":"s:19RadrootsKitBindings12FfiDraftKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings13FfiMediaStageO6failedyA2CmF","target":"s:19RadrootsKitBindings13FfiMediaStageO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings13FfiMediaStageO7pendingyA2CmF","target":"s:19RadrootsKitBindings13FfiMediaStageO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings13FfiMediaStageO8orphanedyA2CmF","target":"s:19RadrootsKitBindings13FfiMediaStageO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings13FfiMediaStageO8verifiedyA2CmF","target":"s:19RadrootsKitBindings13FfiMediaStageO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings13FfiMediaStageO9preparingyA2CmF","target":"s:19RadrootsKitBindings13FfiMediaStageO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings13FfiMediaStageO9uploadingyA2CmF","target":"s:19RadrootsKitBindings13FfiMediaStageO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO10deliveringyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO11readyToSignyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO14mediaPreparingyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO14mediaUploadingyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO18partiallyDeliveredyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO5draftyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO6queuedyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO6signedyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO7signingyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO8completeyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO8terminalyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO9cancelledyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO9retryableyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings15FfiAddFieldKindO13multilineTextyA2CmF","target":"s:19RadrootsKitBindings15FfiAddFieldKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings15FfiAddFieldKindO4dateyA2CmF","target":"s:19RadrootsKitBindings15FfiAddFieldKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings15FfiAddFieldKindO4textyA2CmF","target":"s:19RadrootsKitBindings15FfiAddFieldKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings15FfiAddFieldKindO5mediayA2CmF","target":"s:19RadrootsKitBindings15FfiAddFieldKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings15FfiAddFieldKindO6choiceyA2CmF","target":"s:19RadrootsKitBindings15FfiAddFieldKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings15FfiAddFieldKindO7decimalyA2CmF","target":"s:19RadrootsKitBindings15FfiAddFieldKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings15FfiAddFieldKindO8dateTimeyA2CmF","target":"s:19RadrootsKitBindings15FfiAddFieldKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings15FfiAddFieldKindO8locationyA2CmF","target":"s:19RadrootsKitBindings15FfiAddFieldKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV10foodStatusSSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV10identifierSSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV11commandTypeAA0de7CommandI0Ovp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV11eventTimingAA0d5EventI4KindOSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV11priceAmountSSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV12eventEndDateSSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV13eventEndUnixSs6UInt64VSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV13eventTimezoneSSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV13schemaVersion11commandType7content10identifier5title7summary8location11eventTiming0Q9StartDate0q3EndT00qS5UnixS0quV1S0Q8Timezone11priceAmount8currency4unit8quantity015foodPublishedAtV1S10foodStatus5mediaACs6UInt16V_AA0de7CommandK0OS2SSgA0_A0_A0_AA0d5EventR4KindOSgA0_A0_s6UInt64VSgA6_A0_A0_A0_A0_A0_A6_A0_SayAA0d13PreparedMediaG0VGtcfc","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV14eventStartDateSSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV15eventStartUnixSs6UInt64VSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV20foodPublishedAtUnixSs6UInt64VSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV4unitSSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV5mediaSayAA0d13PreparedMediaG0VGvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV5titleSSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV7contentSSvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV7summarySSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV8currencySSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV8locationSSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV8quantitySSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV12shuttingDownSbvp","target":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV12uptimeMilliss5Int64Vvp","target":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV13schemaVersion5build13startedUnixMs12uptimeMillis12shuttingDown8platformACs6UInt16V_AA0d5BuildfG0Vs5Int64VAOSbAA0de8PlatformG0VSgtcfc","target":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV13startedUnixMss5Int64Vvp","target":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV5buildAA0d5BuildfG0Vvp","target":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV8platformAA0de8PlatformG0VSgvp","target":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV11displayNameSSSgvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV13schemaVersion15authorPublicKey4name11displayName5about7picture6banner5nip057website16lightningAddressACs6UInt16V_S2SSgA2pA0d14MediaReferenceF0VSgAs3Ptcfc","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV15authorPublicKeySSvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV16lightningAddressSSSgvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV4nameSSSgvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV5aboutSSSgvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV5nip05SSSgvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV6bannerAA0d14MediaReferenceF0VSgvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV7pictureAA0d14MediaReferenceF0VSgvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV7websiteSSSgvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO13partialEffectyA2CmF","target":"s:19RadrootsKitBindings16FfiRevisionPhaseO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO17replacementFailedyA2CmF","target":"s:19RadrootsKitBindings16FfiRevisionPhaseO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO17retractionPendingyA2CmF","target":"s:19RadrootsKitBindings16FfiRevisionPhaseO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO18replacementPendingyA2CmF","target":"s:19RadrootsKitBindings16FfiRevisionPhaseO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO8completeyA2CmF","target":"s:19RadrootsKitBindings16FfiRevisionPhaseO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO9cancelledyA2CmF","target":"s:19RadrootsKitBindings16FfiRevisionPhaseO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiThreadProfileO5replyyA2CmF","target":"s:19RadrootsKitBindings16FfiThreadProfileO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiThreadProfileO7commentyA2CmF","target":"s:19RadrootsKitBindings16FfiThreadProfileO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiThreadProfileO7profileyA2CmF","target":"s:19RadrootsKitBindings16FfiThreadProfileO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiThreadProfileO8deletionyA2CmF","target":"s:19RadrootsKitBindings16FfiThreadProfileO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO11photoUpdateyA2CmF","target":"s:19RadrootsKitBindings16FfiTodayCardTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO16foodAvailabilityyA2CmF","target":"s:19RadrootsKitBindings16FfiTodayCardTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO3askyA2CmF","target":"s:19RadrootsKitBindings16FfiTodayCardTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO5eventyA2CmF","target":"s:19RadrootsKitBindings16FfiTodayCardTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO6updateyA2CmF","target":"s:19RadrootsKitBindings16FfiTodayCardTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO11createEventyA2CmF","target":"s:19RadrootsKitBindings17FfiAddCommandTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO12createUpdateyA2CmF","target":"s:19RadrootsKitBindings17FfiAddCommandTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO17createPhotoUpdateyA2CmF","target":"s:19RadrootsKitBindings17FfiAddCommandTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO22createFoodAvailabilityyA2CmF","target":"s:19RadrootsKitBindings17FfiAddCommandTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO9createAskyA2CmF","target":"s:19RadrootsKitBindings17FfiAddCommandTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV13schemaVersion2id5label4kind8required7choices8maxBytesACs6UInt16V_S2SAA0deF4KindOSbSaySSGs6UInt64VSgtcfc","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV2idSSvp","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV4kindAA0deF4KindOvp","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV5labelSSvp","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV7choicesSaySSGvp","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV8maxBytess6UInt64VSgvp","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV8requiredSbvp","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiMediaOperationC11isCancelledSbyF","target":"s:19RadrootsKitBindings17FfiMediaOperationC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiMediaOperationC11operationIdSSyF","target":"s:19RadrootsKitBindings17FfiMediaOperationC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiMediaOperationC6cancelyyF","target":"s:19RadrootsKitBindings17FfiMediaOperationC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiMediaOperationCACyKcfc","target":"s:19RadrootsKitBindings17FfiMediaOperationC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiRevisionPolicyO18replaceThenRetractyA2CmF","target":"s:19RadrootsKitBindings17FfiRevisionPolicyO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiRevisionPolicyO22addressableReplacementyA2CmF","target":"s:19RadrootsKitBindings17FfiRevisionPolicyO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiShutdownRecordV13alreadyClosedSbvp","target":"s:19RadrootsKitBindings17FfiShutdownRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiShutdownRecordV13schemaVersion5state13alreadyClosedACs6UInt16V_SSSbtcfc","target":"s:19RadrootsKitBindings17FfiShutdownRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiShutdownRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings17FfiShutdownRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiShutdownRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings17FfiShutdownRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiShutdownRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings17FfiShutdownRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiShutdownRecordV5stateSSvp","target":"s:19RadrootsKitBindings17FfiShutdownRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV11operationIdSSvp","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV12signatureHexSSSgvp","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV13schemaVersion7outcome11operationId013signerRequestK09publicKey7purpose12signatureHex17completedAtUnixMsACs6UInt16V_AA0dE7OutcomeOS3SAA0dE7PurposeOSSSgs6UInt64Vtcfc","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV15signerRequestIdSSvp","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV17completedAtUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV7outcomeAA0dE7OutcomeOvp","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV7purposeAA0dE7PurposeOvp","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV9publicKeySSvp","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV11commandTypeAA0de7CommandI0Ovp","target":"s:19RadrootsKitBindings18FfiAddSchemaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV13schemaVersion11commandType5label6fieldsACs6UInt16V_AA0de7CommandK0OSSSayAA0de5FieldG0VGtcfc","target":"s:19RadrootsKitBindings18FfiAddSchemaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings18FfiAddSchemaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings18FfiAddSchemaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings18FfiAddSchemaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV5labelSSvp","target":"s:19RadrootsKitBindings18FfiAddSchemaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV6fieldsSayAA0de5FieldG0VGvp","target":"s:19RadrootsKitBindings18FfiAddSchemaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBlossomHostKindO14physicalDeviceyA2CmF","target":"s:19RadrootsKitBindings18FfiBlossomHostKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBlossomHostKindO6nativeyA2CmF","target":"s:19RadrootsKitBindings18FfiBlossomHostKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBlossomHostKindO9simulatoryA2CmF","target":"s:19RadrootsKitBindings18FfiBlossomHostKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV11libRevisionSSSgvp","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV12crateVersionSSvp","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV13buildTimeUnixs6UInt64VSgvp","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV13schemaVersion9crateName0jI05rustc7profile11libRevision08consumerO013buildTimeUnixACs6UInt16V_S3SSgA3Ns6UInt64VSgtcfc","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV16consumerRevisionSSSgvp","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV5rustcSSSgvp","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV7profileSSSgvp","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV9crateNameSSvp","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV10foodStatusSSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV10identifierSSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV11commandTypeAA0d10AddCommandI0Ovp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV11eventTimingAA0d5EventI4KindOSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV11priceAmountSSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV12eventEndDateSSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV13eventEndUnixSs6UInt64VSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV13eventTimezoneSSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV13schemaVersion11commandType7content10identifier5title7summary8location11eventTiming0Q9StartDate0q3EndT00qS5UnixS0quV1S0Q8Timezone11priceAmount8currency4unit8quantity015foodPublishedAtV1S10foodStatus5mediaACs6UInt16V_AA0d10AddCommandK0OS2SSgA0_A0_A0_AA0d5EventR4KindOSgA0_A0_s6UInt64VSgA6_A0_A0_A0_A0_A0_A6_A0_SayAA0def5MediaG0VGtcfc","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV14eventStartDateSSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV15eventStartUnixSs6UInt64VSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV20foodPublishedAtUnixSs6UInt64VSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV4unitSSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV5mediaSayAA0def5MediaG0VGvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV5titleSSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV7contentSSvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV7summarySSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV8currencySSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV8locationSSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV8quantitySSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiEventTimingKindO5timedyA2CmF","target":"s:19RadrootsKitBindings18FfiEventTimingKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiEventTimingKindO6allDayyA2CmF","target":"s:19RadrootsKitBindings18FfiEventTimingKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV10contractIdSSvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV10foodStatusSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV10rankDigestSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV11contextRanks5UInt8Vvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV11foodSummarySSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV11priceAmountSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV13authorProfileAA0diG0VSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV13eventEndUnixSs6UInt64VSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV13priceCurrencySSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV13schemaVersion6cardId0J4Type011sourceEventK00M7Address15authorPublicKey08contractK05title7content15authoredAtUnixS09effectivewX1S010eventStartX1S0z3EndX1S8location11priceAmount13priceCurrency9priceUnit8quantity11foodSummary013foodPublishedwX1S10foodStatus11contextRank15inclusionReason5media9lifecycle10rankDigest0P7Profile6thread014localOperationK019localOperationStateACs6UInt16V_SSAA0defL0OS2SSgS2SA10_SSs6UInt64VA12_A12_SgA13_A10_A10_A10_A10_A10_A10_A13_A10_s5UInt8VSSSayAA0d14MediaReferenceG0VGAA0dF14LifecycleStateOA10_AA0d7ProfileG0VSgSayAA0d11ThreadEntryG0VGA10_A10_tcfc","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV13sourceAddressSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV13sourceEventIdSSvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV15authorPublicKeySSvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV15authoredAtUnixSs6UInt64Vvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV15eventStartUnixSs6UInt64VSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV15inclusionReasonSSvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV16effectiveAtUnixSs6UInt64Vvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV16localOperationIdSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV19localOperationStateSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV20foodPublishedAtUnixSs6UInt64VSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV5mediaSayAA0d14MediaReferenceG0VGvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV5titleSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV6cardIdSSvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV6threadSayAA0d11ThreadEntryG0VGvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV7contentSSvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV8cardTypeAA0defI0Ovp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV8locationSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV8quantitySSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV9lifecycleAA0dF14LifecycleStateOvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV9priceUnitSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV10nextCursorSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayPageRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV13schemaVersion9asOfUnixS5items10nextCursorACs6UInt16V_s6UInt64VSayAA0de4CardG0VGSSSgtcfc","target":"s:19RadrootsKitBindings18FfiTodayPageRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings18FfiTodayPageRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings18FfiTodayPageRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings18FfiTodayPageRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV5itemsSayAA0de4CardG0VGvp","target":"s:19RadrootsKitBindings18FfiTodayPageRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV9asOfUnixSs6UInt64Vvp","target":"s:19RadrootsKitBindings18FfiTodayPageRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV10projectionAA0de7RefreshG0Vvp","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV10relayStateAA0de5RelayfI0Ovp","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV12pagesFetcheds6UInt16Vvp","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV13schemaVersion10relayState12pagesFetched14eventsObserved0N8Admitted0N8Rejected10projectionACs6UInt16V_AA0de5RelayfK0OALs6UInt64VA2pA0de7RefreshG0Vtcfc","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV14eventsAdmitteds6UInt64Vvp","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV14eventsObserveds6UInt64Vvp","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV14eventsRejecteds6UInt64Vvp","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningOutcomeO11invalidatedyA2CmF","target":"s:19RadrootsKitBindings18HostSigningOutcomeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningOutcomeO11unavailableyA2CmF","target":"s:19RadrootsKitBindings18HostSigningOutcomeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningOutcomeO6failedyA2CmF","target":"s:19RadrootsKitBindings18HostSigningOutcomeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningOutcomeO6lockedyA2CmF","target":"s:19RadrootsKitBindings18HostSigningOutcomeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningOutcomeO6signedyA2CmF","target":"s:19RadrootsKitBindings18HostSigningOutcomeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningOutcomeO8rejectedyA2CmF","target":"s:19RadrootsKitBindings18HostSigningOutcomeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningOutcomeO8timedOutyA2CmF","target":"s:19RadrootsKitBindings18HostSigningOutcomeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningOutcomeO9cancelledyA2CmF","target":"s:19RadrootsKitBindings18HostSigningOutcomeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningPurposeO10nostrEventyA2CmF","target":"s:19RadrootsKitBindings18HostSigningPurposeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningPurposeO13blossomUploadyA2CmF","target":"s:19RadrootsKitBindings18HostSigningPurposeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV06signerF2IdSSvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV10artifactIdSSvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV11operationIdSSvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV13eventIdDigest10Foundation4DataVvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV13operationKindSSvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV13schemaVersion13operationKind0I2Id08artifactK006signerfK09publicKey7purpose14deadlineUnixMs05eventK6Digest013expectedEventK009createdAtR1S4kind4tags7contentACs6UInt16V_S5SAA0dE7PurposeOs6UInt64V10Foundation4DataVSSAWs6UInt32VSaySaySSGGSStcfc","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV14createdAtUnixSs6UInt64Vvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV14deadlineUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV15expectedEventIdSSvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV4kinds6UInt32Vvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV4tagsSaySaySSGGvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV7contentSSvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV7purposeAA0dE7PurposeOvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV9publicKeySSvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18SignerStatusRecordV12availabilityAA0d12AvailabilityF0Ovp","target":"s:19RadrootsKitBindings18SignerStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18SignerStatusRecordV13schemaVersion12availabilityACs6UInt16V_AA0d12AvailabilityF0Otcfc","target":"s:19RadrootsKitBindings18SignerStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18SignerStatusRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings18SignerStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18SignerStatusRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings18SignerStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18SignerStatusRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings18SignerStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV10configuredSbvp","target":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV12availabilitySSvp","target":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV13schemaVersion2id8compiled10configured12availability8maturityACs6UInt16V_SSS2bS2Stcfc","target":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV2idSSvp","target":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV8compiledSbvp","target":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV8maturitySSvp","target":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV13schemaVersion3url5stage14uploadAttempts16verifiedAtUnixMs14possibleOrphan16orphanReasonCode0t8RecordedopQ0ACs6UInt16V_SSAA0dF5StageOs5UInt8Vs6UInt64VSgSbSSSgATtcfc","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV14possibleOrphanSbvp","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV14uploadAttemptss5UInt8Vvp","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV16orphanReasonCodeSSSgvp","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV16verifiedAtUnixMss6UInt64VSgvp","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV22orphanRecordedAtUnixMss6UInt64VSgvp","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV3urlSSvp","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV5stageAA0dF5StageOvp","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiSearchResultTypeO4cardyA2CmF","target":"s:19RadrootsKitBindings19FfiSearchResultTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiSearchResultTypeO7profileyA2CmF","target":"s:19RadrootsKitBindings19FfiSearchResultTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV11buildNumberSSSgvp","target":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV13schemaVersion8platform8bundleId7version11buildNumber0N3ShaACs6UInt16V_SSSgA4Ltcfc","target":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV7versionSSSgvp","target":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV8buildShaSSSgvp","target":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV8bundleIdSSSgvp","target":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV8platformSSSgvp","target":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV10settlementAA0d19OperationSettlementG0VSgvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV11commandTypeAA0d10AddCommandI0Ovp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV11operationIdSSSgvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV13schemaVersion7draftId8revision15authorPublicKey4kind11commandType4form5state04cardK009operationK015createdAtUnixMs07updatedxyZ05media10settlementACs6UInt16V_SSs6UInt64VSSAA0dE4KindOAA0d10AddCommandR0OAA0de4FormG0VSgAA0D11OutboxStateOS2SSgA2USayAA0de5MediaG0VGAA0d19OperationSettlementG0VSgtcfc","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV15authorPublicKeySSvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV15createdAtUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV15updatedAtUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV4formAA0de4FormG0VSgvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV4kindAA0dE4KindOvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV5mediaSayAA0de5MediaG0VGvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV5stateAA0D11OutboxStateOvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV6cardIdSSvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV7draftIdSSvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV8revisions6UInt64Vvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiIdentityLockStateO6lockedyA2CmF","target":"s:19RadrootsKitBindings20FfiIdentityLockStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiIdentityLockStateO8unlockedyA2CmF","target":"s:19RadrootsKitBindings20FfiIdentityLockStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV12cancellationAA0d12CancellationF0Ovp","target":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV12satisfactionAA0D17RelaySatisfactionOvp","target":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV13schemaVersion9relayUrls12satisfaction22deliveryDeadlineUnixMs12cancellationACs6UInt16V_SaySSGAA0D17RelaySatisfactionOs6UInt64VAA0d12CancellationF0Otcfc","target":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV22deliveryDeadlineUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV9relayUrlsSaySSGvp","target":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO11allAcceptedyA2CmF","target":"s:19RadrootsKitBindings20FfiRelaySatisfactionO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO11anyAcceptedyA2CmF","target":"s:19RadrootsKitBindings20FfiRelaySatisfactionO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO12allDeliveredyA2CmF","target":"s:19RadrootsKitBindings20FfiRelaySatisfactionO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO12anyDeliveredyA2CmF","target":"s:19RadrootsKitBindings20FfiRelaySatisfactionO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV10writeStateSSvp","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV13schemaVersion8relayUrl6access9readState05writeN00M17LastAttemptUnixMs0opqrS00m4NextqrS00otqrS0ACs6UInt16V_S4Ss6UInt64VSgA3Qtcfc","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV21readLastAttemptUnixMss6UInt64VSgvp","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV21readNextAttemptUnixMss6UInt64VSgvp","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV22writeLastAttemptUnixMss6UInt64VSgvp","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV22writeNextAttemptUnixMss6UInt64VSgvp","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV6accessSSvp","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV8relayUrlSSvp","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV9readStateSSvp","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO5mediayA2CmF","target":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO5relayyA2CmF","target":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO5todayyA2CmF","target":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO6draftsyA2CmF","target":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO7initialyA2CmF","target":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO7profileyA2CmF","target":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO8identityyA2CmF","target":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO8settingsyA2CmF","target":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO9lifecycleyA2CmF","target":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV13schemaVersion3app3sdk0K6ClosedACs6UInt16V_AA0d3AppfG0VAA0d5BuildfG0VSbtcfc","target":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV3appAA0d3AppfG0Vvp","target":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV3sdkAA0d5BuildfG0Vvp","target":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV9sdkClosedSbvp","target":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV13authorProfileAA0diG0VSgvp","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV13parentEventIdSSvp","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV13schemaVersion7eventId15authorPublicKey7content15authoredAtUnixS7profile4root011parentEventK00L7ProfileACs6UInt16V_S3Ss6UInt64VAA0deW0OS2SAA0dwG0VSgtcfc","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV15authorPublicKeySSvp","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV15authoredAtUnixSs6UInt64Vvp","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV4rootSSvp","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV7contentSSvp","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV7eventIdSSvp","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV7profileAA0dE7ProfileOvp","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV10artifactIdSSvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV11operationIdSSvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV13schemaVersion7draftId16expectedRevision5media20authorizationContent0O14CreatedAtUnixS0O15LifetimeSeconds09operationK008artifactK0015signingDeadlineS2Ms0X12Cancellation08verifiedrsZ007updatedrsZ0ACs6UInt16V_SSs6UInt64VAA0d13PreparedMediaG0VSSA2TS2SAtA0D18CancellationPolicyOA2Ttcfc","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV15updatedAtUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV16expectedRevisions6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV16verifiedAtUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV19signingCancellationAA0dI6PolicyOvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV20authorizationContentSSvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV21signingDeadlineUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV27authorizationCreatedAtUnixSs6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV28authorizationLifetimeSecondss6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV5mediaAA0d13PreparedMediaG0Vvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV7draftIdSSvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiCancellationPolicyO16localCooperativeyA2CmF","target":"s:19RadrootsKitBindings21FfiCancellationPolicyO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiCancellationPolicyO24preservePublishedRequestyA2CmF","target":"s:19RadrootsKitBindings21FfiCancellationPolicyO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiCardLifecycleStateO4pastyA2CmF","target":"s:19RadrootsKitBindings21FfiCardLifecycleStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiCardLifecycleStateO4soldyA2CmF","target":"s:19RadrootsKitBindings21FfiCardLifecycleStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiCardLifecycleStateO6activeyA2CmF","target":"s:19RadrootsKitBindings21FfiCardLifecycleStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV10generations6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV13schemaVersion2id5label9relayUrls8locality15followedAuthors10generationACs6UInt16V_S2SSaySSGSSSgAMs6UInt64Vtcfc","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV15followedAuthorsSaySSGvp","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV2idSSvp","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV5labelSSvp","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV8localitySSSgvp","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV9relayUrlsSaySSGvp","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV13schemaVersion15opaqueReference14fileDescriptor6sha2569mediaType8byteSize5width6height3alt15preparedAtUnixSACs6UInt16V_SSs6UInt64VS2SAQs6UInt32VASSSAQtcfc","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV14fileDescriptors6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV15opaqueReferenceSSvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV15preparedAtUnixSs6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV3altSSvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV5widths6UInt32Vvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV6heights6UInt32Vvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV6sha256SSvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV8byteSizes6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV9mediaTypeSSvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV10resultTypeAA0defI0Ovp","target":"s:19RadrootsKitBindings21FfiSearchResultRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV13schemaVersion10resultType8stableId4card7profileACs6UInt16V_AA0defK0OSSAA0d9TodayCardG0VSgAA0d7ProfileG0VSgtcfc","target":"s:19RadrootsKitBindings21FfiSearchResultRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings21FfiSearchResultRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings21FfiSearchResultRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV4cardAA0d9TodayCardG0VSgvp","target":"s:19RadrootsKitBindings21FfiSearchResultRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings21FfiSearchResultRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV7profileAA0d7ProfileG0VSgvp","target":"s:19RadrootsKitBindings21FfiSearchResultRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV8stableIdSSvp","target":"s:19RadrootsKitBindings21FfiSearchResultRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSubscriptionHandleC11unsubscribeyyF","target":"s:19RadrootsKitBindings21FfiSubscriptionHandleC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSubscriptionHandleC8isActiveSbyF","target":"s:19RadrootsKitBindings21FfiSubscriptionHandleC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV12sourceEventss6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV12visibleCardss6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV13schemaVersion6update12sourceEvents12visibleCards8profiles13threadEntries17contentGeneration7changedACs6UInt16V_AA0dE16ProjectionUpdateOs6UInt64VA4QSbtcfc","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV13threadEntriess6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV17contentGenerations6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV6updateAA0dE16ProjectionUpdateOvp","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV7changedSbvp","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV8profiless6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV13schemaVersion7draftId16expectedRevision5mediaACs6UInt16V_SSs6UInt64VAA0D18PreparedMediaInputVtcfc","target":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV16expectedRevisions6UInt64Vvp","target":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV5mediaAA0D18PreparedMediaInputVvp","target":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV7draftIdSSvp","target":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV11commandTypeAA0df7CommandJ0Ovp","target":"s:19RadrootsKitBindings22FfiCardAddParityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV13schemaVersion8cardType07commandL0ACs6UInt16V_AA0d5TodayeL0OAA0df7CommandL0Otcfc","target":"s:19RadrootsKitBindings22FfiCardAddParityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings22FfiCardAddParityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings22FfiCardAddParityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings22FfiCardAddParityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV8cardTypeAA0d5TodayeJ0Ovp","target":"s:19RadrootsKitBindings22FfiCardAddParityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO11beginImportyA2CmF","target":"s:19RadrootsKitBindings22FfiIdentityCommandKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO12cancelImportyA2CmF","target":"s:19RadrootsKitBindings22FfiIdentityCommandKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO14completeImportyA2CmF","target":"s:19RadrootsKitBindings22FfiIdentityCommandKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO4lockyA2CmF","target":"s:19RadrootsKitBindings22FfiIdentityCommandKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO6selectyA2CmF","target":"s:19RadrootsKitBindings22FfiIdentityCommandKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO6unlockyA2CmF","target":"s:19RadrootsKitBindings22FfiIdentityCommandKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO7recoveryA2CmF","target":"s:19RadrootsKitBindings22FfiIdentityCommandKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV04lockF0AA0de4LockF0Ovp","target":"s:19RadrootsKitBindings22FfiIdentityStateRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV06activeE2IdSSSgvp","target":"s:19RadrootsKitBindings22FfiIdentityStateRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV10identitiesSayAA0d8SettingseG0VGvp","target":"s:19RadrootsKitBindings22FfiIdentityStateRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV13schemaVersion10identities06activeE2Id04lockF0022pendingImportOperationL0ACs6UInt16V_SayAA0d8SettingseG0VGSSSgAA0de4LockF0OANtcfc","target":"s:19RadrootsKitBindings22FfiIdentityStateRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings22FfiIdentityStateRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV24pendingImportOperationIdSSSgvp","target":"s:19RadrootsKitBindings22FfiIdentityStateRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings22FfiIdentityStateRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings22FfiIdentityStateRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV10deliveryIdSSSgvp","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV10settlementAA0d19OperationSettlementG0VSgvp","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV11operationIdSSvp","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV13schemaVersion11operationId8revision15authorPublicKey5state08deliveryK015createdAtUnixMs07updatedstU010settlementACs6UInt16V_SSs6UInt64VSSAA0D11OutboxStateOSSSgA2pA0d19OperationSettlementG0VSgtcfc","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV15authorPublicKeySSvp","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV15createdAtUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV15updatedAtUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV5stateAA0D11OutboxStateOvp","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV8revisions6UInt64Vvp","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV10sourceKinds6UInt32Vvp","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV11commandTypeAA0d10AddCommandI0Ovp","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV11replacementAA0d8AddDraftF0Vvp","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV13schemaVersion11commandType6cardId011sourceEventM00N4Kind0N7Address15authorPublicKey11replacementACs6UInt16V_AA0d10AddCommandK0OS2Ss6UInt32VSSSgSSAA0dw5DraftF0Vtcfc","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV13sourceAddressSSSgvp","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV13sourceEventIdSSvp","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV15authorPublicKeySSvp","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV6cardIdSSvp","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV10generations6UInt64Vvp","target":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV13schemaVersion10generation4kind8entityIdACs6UInt16V_s6UInt64VAA0deF4KindOSSSgtcfc","target":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV4kindAA0deF4KindOvp","target":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV8entityIdSSSgvp","target":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV13schemaVersion7backend8openMode8shutdown9integrityACs6UInt16V_S4Stcfc","target":"s:19RadrootsKitBindings22FfiStorageStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings22FfiStorageStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings22FfiStorageStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings22FfiStorageStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV7backendSSvp","target":"s:19RadrootsKitBindings22FfiStorageStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV8openModeSSvp","target":"s:19RadrootsKitBindings22FfiStorageStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV8shutdownSSvp","target":"s:19RadrootsKitBindings22FfiStorageStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV9integritySSvp","target":"s:19RadrootsKitBindings22FfiStorageStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO7offlineyA2CmF","target":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO7partialyA2CmF","target":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO8completeyA2CmF","target":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV13schemaVersion15opaqueReference3url6sha2569mediaType8byteSize5width6height3alt15preparedAtUnixSACs6UInt16V_S4Ss6UInt64Vs6UInt32VASSSAQtcfc","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV15opaqueReferenceSSvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV15preparedAtUnixSs6UInt64Vvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV3altSSvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV3urlSSvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV5widths6UInt32Vvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV6heights6UInt32Vvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV6sha256SSvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV8byteSizes6UInt64Vvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV9mediaTypeSSvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV13schemaVersion9publicKey20hostSignerConfiguredACs6UInt16V_SSSbtcfc","target":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV20hostSignerConfiguredSbvp","target":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV9publicKeySSvp","target":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV12verificationAA0dE17VerificationStateOvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV13schemaVersion20referenceFingerprint3url6sha2569mediaType5width6height8byteSize3alt12verificationACs6UInt16V_S3SSgAPs6UInt32VSgASs6UInt64VSgApA0dE17VerificationStateOtcfc","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV20referenceFingerprintSSvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV3altSSSgvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV3urlSSvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV5widths6UInt32VSgvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV6heights6UInt32VSgvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV6sha256SSSgvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV8byteSizes6UInt64VSgvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV9mediaTypeSSSgvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV12localStorageAA0d5Locali6PolicyG0Vvp","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV12mediaNetworkAA0d5Mediai6PolicyG0Vvp","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV13schemaVersion8revision8identity6relays7blossom12mediaNetwork12localStorageACs6UInt16V_s6UInt64VAA0d13IdentityStateG0VAA0d16RelayPreferencesG0VAA0d7BlossomwG0VAA0d5Mediao6PolicyG0VAA0d5LocalqzG0Vtcfc","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV6relaysAA0d16RelayPreferencesG0Vvp","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV7blossomAA0d18BlossomPreferencesG0Vvp","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV8identityAA0d13IdentityStateG0Vvp","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV8revisions6UInt64Vvp","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV10targetKinds6UInt32Vvp","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV11commandTypeAA0d10AddCommandI0Ovp","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV12targetCardIdSSvp","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV13schemaVersion11commandType12targetCardId0l5EventN00L4Kind0L7Address6reasonACs6UInt16V_AA0d10AddCommandK0OS2Ss6UInt32VSSSgSStcfc","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV13targetAddressSSSgvp","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV13targetEventIdSSvp","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV6reasonSSvp","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV10retractionAA0d5DraftfG0VSgvp","target":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV11operationIdSSvp","target":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV11replacementAA0d5DraftfG0Vvp","target":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV13schemaVersion11operationId11replacement10retraction6policy5phaseACs6UInt16V_SSAA0d5DraftfG0VAMSgAA0dE6PolicyOAA0dE5PhaseOtcfc","target":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV5phaseAA0dE5PhaseOvp","target":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV6policyAA0dE6PolicyOvp","target":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV10errorPhaseSSSgvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV10httpStatuss6UInt16VSgvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV13schemaVersion6origin17configFingerprint5state19lastSuccessfulState17transportSecurity16observedAtUnixMs10httpStatus9errorCode011serverErrorZ00Y5Phase9retryable14possibleOrphan8attemptsACs6UInt16V_S5Ss6UInt64VSgASSgSSSgA2XS2bs5UInt8Vtcfc","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV14possibleOrphanSbvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV15serverErrorCodeSSSgvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV16observedAtUnixMss6UInt64VSgvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV17configFingerprintSSvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV17transportSecuritySSvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV19lastSuccessfulStateSSvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV5stateSSvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV6originSSvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV8attemptss5UInt8Vvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV9errorCodeSSSgvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV9retryableSbvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV10identityIdSSSgvp","target":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV11operationIdSSSgvp","target":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV13schemaVersion4kind11operationId08identityL09publicKeyACs6UInt16V_AA0deF4KindOSSSgA2Mtcfc","target":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV4kindAA0deF4KindOvp","target":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV9publicKeySSSgvp","target":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO8readOnlyyA2CmF","target":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO9readWriteyA2CmF","target":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV13schemaVersion3url6accessACs6UInt16V_SSAA0de6AccessF0Otcfc","target":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV3urlSSvp","target":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV6accessAA0de6AccessF0Ovp","target":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV12localStorageAA0d5Locali6PolicyG0Vvp","target":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV12mediaNetworkAA0d5Mediai6PolicyG0Vvp","target":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV13schemaVersion16expectedRevision6relays7blossom12mediaNetwork12localStorageACs6UInt16V_s6UInt64VAA0d16RelayPreferencesG0VAA0d7BlossomuG0VAA0d5Mediao6PolicyG0VAA0d5LocalqxG0Vtcfc","target":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV16expectedRevisions6UInt64Vvp","target":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV6relaysAA0d16RelayPreferencesG0Vvp","target":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV7blossomAA0d18BlossomPreferencesG0Vvp","target":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO11incrementalyA2CmF","target":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO7rebuildyA2CmF","target":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO11unavailableyA2CmF","target":"s:19RadrootsKitBindings24SignerAvailabilityRecordO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO4busyyA2CmF","target":"s:19RadrootsKitBindings24SignerAvailabilityRecordO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO5readyyA2CmF","target":"s:19RadrootsKitBindings24SignerAvailabilityRecordO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO6lockedyA2CmF","target":"s:19RadrootsKitBindings24SignerAvailabilityRecordO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV10totalBytess6UInt64Vvp","target":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV13artifactCounts6UInt32Vvp","target":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV13schemaVersion13artifactCount10totalBytes24configurationFingerprintACs6UInt16V_s6UInt32Vs6UInt64VSSSgtcfc","target":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV24configurationFingerprintSSSgvp","target":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO11unavailableyA2CmF","target":"s:19RadrootsKitBindings25FfiMediaVerificationStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO6failedyA2CmF","target":"s:19RadrootsKitBindings25FfiMediaVerificationStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO7pendingyA2CmF","target":"s:19RadrootsKitBindings25FfiMediaVerificationStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO8verifiedyA2CmF","target":"s:19RadrootsKitBindings25FfiMediaVerificationStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV11environmentAA0D24MobileNetworkEnvironmentOvp","target":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV13schemaVersion11environment9endpointsACs6UInt16V_AA0D24MobileNetworkEnvironmentOSayAA0de10PreferenceG0VGtcfc","target":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV9endpointsSayAA0de10PreferenceG0VGvp","target":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV13schemaVersion2id9publicKeyACs6UInt16V_S2Stcfc","target":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV2idSSvp","target":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV9publicKeySSvp","target":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO11unavailableyA2CmF","target":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO9availableyA2CmF","target":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV13schemaVersion7profile5state16readAvailability05writeN06relaysACs6UInt16V_S4SSayAA0defH0VGtcfc","target":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV16readAvailabilitySSvp","target":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV17writeAvailabilitySSvp","target":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV5stateSSvp","target":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV6relaysSayAA0defH0VGvp","target":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV7profileSSvp","target":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO12publicWebPkiyA2CmF","target":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO19loopbackDevelopmentyA2CmF","target":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO25privateNetworkDevelopmentyA2CmF","target":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV11environmentAA0D24MobileNetworkEnvironmentOvp","target":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV13primaryOriginSSvp","target":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV13schemaVersion11environment9authority13primaryOrigin15fallbackOriginsACs6UInt16V_AA0D24MobileNetworkEnvironmentOAA0dE19AuthorityPreferenceOSSSaySSGtcfc","target":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV15fallbackOriginsSaySSGvp","target":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV9authorityAA0dE19AuthorityPreferenceOvp","target":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV13schemaVersion15mediaCacheBytes0kL9ArtifactsACs6UInt16V_s6UInt64Vs6UInt32Vtcfc","target":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV15mediaCacheBytess6UInt64Vvp","target":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV19mediaCacheArtifactss6UInt32Vvp","target":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV13schemaVersion22allowCellularDownloads0kL7Uploads0K19BackgroundTransfersACs6UInt16V_S3btcfc","target":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV20allowCellularUploadsSbvp","target":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV22allowCellularDownloadsSbvp","target":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV24allowBackgroundTransfersSbvp","target":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO14physicalDeviceyA2CmF","target":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO6publicyA2CmF","target":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO9simulatoryA2CmF","target":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV13schemaVersion8settings22runtimeRestartRequired013outboxRequeueM0022mediaCacheInvalidationM0ACs6UInt16V_AA0d6MobileeG0VS3btcfc","target":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV21outboxRequeueRequiredSbvp","target":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV22runtimeRestartRequiredSbvp","target":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV30mediaCacheInvalidationRequiredSbvp","target":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV8settingsAA0d6MobileeG0Vvp","target":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV13deliveryPlanss6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV13indeterminates6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV13schemaVersion9artifacts6signed8admitted7pending9retryable13indeterminate14failedTerminal9cancelled13deliveryPlans0S9Satisfied0S7Pending0S9Retryable0S9Exhausted0s6FailedQ00S9CancelledACs6UInt16V_A15Utcfc","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV14failedTerminals6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV15deliveryPendings6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV17deliveryCancelleds6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV17deliveryExhausteds6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV17deliveryRetryables6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV17deliverySatisfieds6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV22deliveryFailedTerminals6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV6signeds6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV7pendings6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV8admitteds6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV9artifactss6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV9cancelleds6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV9retryables6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO12publicWebPkiyA2CmF","target":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO19loopbackDevelopmentyA2CmF","target":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO25privateNetworkDevelopmentyA2CmF","target":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV13primaryOriginSSvp","target":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV13schemaVersion8hostKind17endpointAuthority13primaryOrigin15fallbackOrigins17configFingerprintACs6UInt16V_S3SSaySSGSStcfc","target":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV15fallbackOriginsSaySSGvp","target":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV17configFingerprintSSvp","target":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV17endpointAuthoritySSvp","target":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV8hostKindSSvp","target":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV11displayNameSSSgvp","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV13schemaVersion4name11displayName5about7picture6banner5nip053botACs6UInt16V_S2SSgAnA0d13PreparedMediaG0VSgAqNSbSgtcfc","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV3botSbSgvp","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV4nameSSvp","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV5aboutSSSgvp","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV5nip05SSSgvp","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV6bannerAA0d13PreparedMediaG0VSgvp","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV7pictureAA0d13PreparedMediaG0VSgvp","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV10artifactIdSSvp","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV11operationIdSSSgvp","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV13schemaVersion11operationId08artifactL08byteSize9mediaType5width6heightACs6UInt16V_SSSgSSs6UInt64VSSs6UInt32VAQtcfc","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV5widths6UInt32Vvp","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV6heights6UInt32Vvp","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV8byteSizes6UInt64Vvp","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV9mediaTypeSSvp","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A10HostSignerP12signerStatusAA0eG6RecordVyYaF","target":"s:19RadrootsKitBindings0A10HostSignerP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A10HostSignerP4sign7requestAA0D13SigningResultVAA0dH7RequestV_tYaF","target":"s:19RadrootsKitBindings0A10HostSignerP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeObserverP8onChange6changeyAA03FfidG6RecordV_tF","target":"s:19RadrootsKitBindings0A15RuntimeObserverP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP12phase1Search7context5query5limit9asOfUnixSSayAA03FfiG12ResultRecordVGAA0n12LocalNetworkP0V_SSs6UInt16Vs6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP12probeBlossomAA03FfiG14EvidenceRecordVyYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP12uptimeMilliss5Int64VyF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP14identityStatusAA011FfiIdentityG6RecordVyKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP14phase1SettingsAA09FfiMobileG6RecordVyYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP14sdkRelayStatusAA03FfigH12ReportRecordVSgyKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP15phase1SaveDraft7draftId5input15authoredAtUnixS16expectedRevision09persistedmN2MsAA03FfiH12StatusRecordVSS_AA0s3AddH5InputVs6UInt64VAOSgAOtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP15phase1SyncToday7context8nowUnixS6updateAA03FfihG6RecordVAA0m12LocalNetworkN0V_s6UInt64VAA0mH16ProjectionUpdateOtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP15phase1TodayPage7context5limit9asOfUnixS6cursorAA03FfigH6RecordVAA0o12LocalNetworkP0V_s6UInt16Vs6UInt64VSgSSSgtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP15sdkCapabilitiesSayAA19FfiCapabilityRecordVGyF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP16configureBlossom8hostKind17endpointAuthority13primaryOrigin15fallbackOriginsyAA03Ffig4HostI0O_AA0pg8EndpointK0OSSSaySSGtKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP16phase1AddSchemasSayAA03FfiG12SchemaRecordVGyF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP16phase1DraftHeads5limitSayAA03FfiG12StatusRecordVGs6UInt16V_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP16phase1QueueDraft7draftId16expectedRevision6policy14queuedAtUnixMsAA03FfiH12StatusRecordVSS_s6UInt64VAA0rg6PolicyT0VALtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP16sdkStorageStatusAA03FfigH6RecordVyYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP16subscribeChanges8observerAA21FfiSubscriptionHandleCAA0aD8Observer_p_tKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP17phase1CancelDraft7draftId16expectedRevision17cancelledAtUnixMsAA03FfiH12StatusRecordVSS_s6UInt64VAKtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP17phase1DraftStatus7draftIdAA03FfigH6RecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP18phase1AdvanceDraft7draftId16expectedRevisionAA03FfiH12StatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP18phase1LocalNetwork7contextAA03FfigH6RecordVAG_tKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP18phase1RefreshToday7context8nowUnixS6updateAA03FfihG6RecordVAA0m12LocalNetworkN0V_s6UInt64VAA0mH16ProjectionUpdateOtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP18sdkBlossomEvidenceAA03FfigH6RecordVSgyKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP18setAppInfoPlatform8platform8bundleId7version11buildNumber0N3ShaySSSg_A4JtF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1CancelProfile11operationId16expectedRevisionAA03FfiH12StatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1CardAddParitySayAA03FfighI6RecordVGyF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1ProfileStatus11operationIdAA03FfigH6RecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1RetrieveMedia7context20referenceFingerprint9operationAA011FfiVerifiedH14ArtifactRecordVAA0m12LocalNetworkP0V_SSAA0mH9OperationCtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1SaveAddIntent5input15existingDraftId16expectedRevisionAA03FfiL12StatusRecordVAA0phL5InputV_SSSgs6UInt64VSgtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP20phase1AdvanceProfile11operationIdAA03FfiH12StatusRecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP20phase1CancelRevision11operationIdAA03FfiH12StatusRecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP20phase1QueueAddIntent7draftId16expectedRevisionAA20FfiDraftStatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP20phase1RevisionStatus11operationIdAA03FfigH6RecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP21configureDeviceRelays08writableH0ySaySSG_tKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP21configurePublicRelays08writableH0ySaySSG_tKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP21phase1AdvanceRevision11operationIdAA03FfiH12StatusRecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP21phase1CancelAddIntent7draftId16expectedRevisionAA20FfiDraftStatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP21phase1ReplaceSettings5inputAA03FfiH16TransitionRecordVAA0jghL0V_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP21phase1SignQueuedDraft7draftId16expectedRevisionAA03FfiI12StatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP22phase1MediaCacheStatus7contextAA03FfighI6RecordVAA0k12LocalNetworkL0V_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP22phase1RecoverAddIntent7draftIdAA20FfiDraftStatusRecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP22phase1UploadDraftMedia5inputAA03FfiH12StatusRecordVAA0k7BlossomG5InputV_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP22phase1ValidateAddDraft5input15authoredAtUnixSyAA03FfihI5InputV_s6UInt64VtKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP23phase1RecoverDraftQueue7draftId17recoveredAtUnixMsAA03FfiH12StatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP23sdkBlossomConfigurationAA03FfigH6RecordVSgyKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP24configureSimulatorRelays08loopbackH0ySaySSG_tKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP24phase1SaveRevisionIntent5inputAA03FfiH12StatusRecordVAA0kh5InputM0V_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP25phase1SaveProfileMetadata5inputAA03FfiH12StatusRecordVAA0khi5InputM0V_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP25phase1SaveRetractionDraft7draftId5input15authoredAtUnixS09persistednO2MsAA03FfiI12StatusRecordVSS_AA0rhI5InputVs6UInt64VANtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP26phase1ApplyIdentityCommand16expectedRevision7commandAA27FfiSettingsTransitionRecordVs6UInt64V_AA0mhiP0VtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP26phase1UploadAddMediaIntent5inputAA20FfiDraftStatusRecordVAA0l7BlossomgJ0V_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP27phase1VerifiedMediaArtifact7context10artifactIdAA03FfighI6RecordVSgAA0m12LocalNetworkN0V_SStYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP29phase1InvalidateMediaArtifact7context10artifactIdSbAA21FfiLocalNetworkRecordV_SStYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP34phase1InvalidateMediaConfiguration7context24configurationFingerprintSaySSGAA21FfiLocalNetworkRecordV_SStYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP4infoAA03FfiD10InfoRecordVyF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP8infoJsonSSyF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP8phase1Me7context9asOfUnixSAA03FfiG6RecordVAA0l12LocalNetworkM0V_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP8shutdownAA17FfiShutdownRecordVyYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP11isCancelledSbyF","target":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP11operationIdSSyF","target":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP6cancelyyF","target":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP11unsubscribeyyF","target":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP8isActiveSbyF","target":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP"}],"schema":"radroots.swift-api-snapshot.v1","symbols":[{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"uniffiEnsureRadrootsMobileFfiInitialized"},{"kind":"text","spelling":"()"}],"kind":"swift.func","path":["uniffiEnsureRadrootsMobileFfiInitialized()"],"precise":"s:19RadrootsKitBindings012uniffiEnsureA20MobileFfiInitializedyyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"uniffiForeignFutureHandleCountRadrootsMobileCore"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Si","spelling":"Int"}],"kind":"swift.func","path":["uniffiForeignFutureHandleCountRadrootsMobileCore()"],"precise":"s:19RadrootsKitBindings030uniffiForeignFutureHandleCountA10MobileCoreSiyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"RadrootsHostSigner"},{"kind":"text","spelling":" : AnyObject, "},{"kind":"typeIdentifier","preciseIdentifier":"s:s8SendableP","spelling":"Sendable"}],"kind":"swift.protocol","path":["RadrootsHostSigner"],"precise":"s:19RadrootsKitBindings0A10HostSignerP"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signerStatus"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18SignerStatusRecordV","spelling":"SignerStatusRecord"}],"kind":"swift.method","path":["RadrootsHostSigner","signerStatus()"],"precise":"s:19RadrootsKitBindings0A10HostSignerP12signerStatusAA0eG6RecordVyYaF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sign"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"request"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18HostSigningRequestV","spelling":"HostSigningRequest"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17HostSigningResultV","spelling":"HostSigningResult"}],"kind":"swift.method","path":["RadrootsHostSigner","sign(request:)"],"precise":"s:19RadrootsKitBindings0A10HostSignerP4sign7requestAA0D13SigningResultVAA0dH7RequestV_tYaF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"RadrootsErrorRecord"}],"kind":"swift.struct","path":["RadrootsErrorRecord"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["RadrootsErrorRecord","operationId"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV11operationIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"safeMessage"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["RadrootsErrorRecord","safeMessage"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV11safeMessageSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"capabilityId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["RadrootsErrorRecord","capabilityId"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV12capabilityIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"code"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"category"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"retryable"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"recoveryActions"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"capabilityId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"safeMessage"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["RadrootsErrorRecord","init(schemaVersion:code:category:retryable:recoveryActions:operationId:capabilityId:safeMessage:)"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV13schemaVersion4code8category9retryable15recoveryActions11operationId010capabilityN011safeMessageACs6UInt16V_S2SSbSaySSGSSSgAOSStcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["RadrootsErrorRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"recoveryActions"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["RadrootsErrorRecord","recoveryActions"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV15recoveryActionsSaySSGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings0A11ErrorRecordV","spelling":"RadrootsErrorRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings0A11ErrorRecordV","spelling":"RadrootsErrorRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["RadrootsErrorRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"code"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["RadrootsErrorRecord","code"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV4codeSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["RadrootsErrorRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"category"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["RadrootsErrorRecord","category"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV8categorySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"retryable"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["RadrootsErrorRecord","retryable"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV9retryableSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"RadrootsRuntimeObserver"},{"kind":"text","spelling":" : AnyObject, "},{"kind":"typeIdentifier","preciseIdentifier":"s:s8SendableP","spelling":"Sendable"}],"kind":"swift.protocol","path":["RadrootsRuntimeObserver"],"precise":"s:19RadrootsKitBindings0A15RuntimeObserverP"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"onChange"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"change"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV","spelling":"FfiRuntimeChangeRecord"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["RadrootsRuntimeObserver","onChange(change:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeObserverP8onChange6changeyAA03FfidG6RecordV_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"RadrootsRuntimeProtocol"},{"kind":"text","spelling":" : AnyObject, "},{"kind":"typeIdentifier","preciseIdentifier":"s:s8SendableP","spelling":"Sendable"}],"kind":"swift.protocol","path":["RadrootsRuntimeProtocol"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1Search"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"query"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"asOfUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiSearchResultRecordV","spelling":"FfiSearchResultRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1Search(context:query:limit:asOfUnixS:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP12phase1Search7context5query5limit9asOfUnixSSayAA03FfiG12ResultRecordVGAA0n12LocalNetworkP0V_SSs6UInt16Vs6UInt64VtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"probeBlossom"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","spelling":"FfiBlossomEvidenceRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","probeBlossom()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP12probeBlossomAA03FfiG14EvidenceRecordVyYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"uptimeMillis"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5Int64V","spelling":"Int64"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","uptimeMillis()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP12uptimeMilliss5Int64VyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"identityStatus"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","spelling":"FfiIdentityStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","identityStatus()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP14identityStatusAA011FfiIdentityG6RecordVyKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1Settings"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","spelling":"FfiMobileSettingsRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1Settings()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP14phase1SettingsAA09FfiMobileG6RecordVyYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkRelayStatus"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","spelling":"FfiRelayStatusReportRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","sdkRelayStatus()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP14sdkRelayStatusAA03FfigH12ReportRecordVSgyKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"persistedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1SaveDraft(draftId:input:authoredAtUnixS:expectedRevision:persistedAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP15phase1SaveDraft7draftId5input15authoredAtUnixS16expectedRevision09persistedmN2MsAA03FfiH12StatusRecordVSS_AA0s3AddH5InputVs6UInt64VAOSgAOtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SyncToday"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"nowUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"update"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","spelling":"FfiTodayProjectionUpdate"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","spelling":"FfiTodaySyncRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1SyncToday(context:nowUnixS:update:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP15phase1SyncToday7context8nowUnixS6updateAA03FfihG6RecordVAA0m12LocalNetworkN0V_s6UInt64VAA0mH16ProjectionUpdateOtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1TodayPage"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"asOfUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"cursor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?) "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayPageRecordV","spelling":"FfiTodayPageRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1TodayPage(context:limit:asOfUnixS:cursor:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP15phase1TodayPage7context5limit9asOfUnixS6cursorAA03FfigH6RecordVAA0o12LocalNetworkP0V_s6UInt16Vs6UInt64VSgSSSgtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkCapabilities"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiCapabilityRecordV","spelling":"FfiCapabilityRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","sdkCapabilities()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP15sdkCapabilitiesSayAA19FfiCapabilityRecordVGyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configureBlossom"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"hostKind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiBlossomHostKindO","spelling":"FfiBlossomHostKind"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"endpointAuthority"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO","spelling":"FfiBlossomEndpointAuthority"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"primaryOrigin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"fallbackOrigins"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","configureBlossom(hostKind:endpointAuthority:primaryOrigin:fallbackOrigins:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP16configureBlossom8hostKind17endpointAuthority13primaryOrigin15fallbackOriginsyAA03Ffig4HostI0O_AA0pg8EndpointK0OSSSaySSGtKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1AddSchemas"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","spelling":"FfiAddSchemaRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1AddSchemas()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP16phase1AddSchemasSayAA03FfiG12SchemaRecordVGyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1DraftHeads"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1DraftHeads(limit:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP16phase1DraftHeads5limitSayAA03FfiG12StatusRecordVGs6UInt16V_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1QueueDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"policy"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","spelling":"FfiQueuePolicyRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"queuedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1QueueDraft(draftId:expectedRevision:policy:queuedAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP16phase1QueueDraft7draftId16expectedRevision6policy14queuedAtUnixMsAA03FfiH12StatusRecordVSS_s6UInt64VAA0rg6PolicyT0VALtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkStorageStatus"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","spelling":"FfiStorageStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","sdkStorageStatus()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP16sdkStorageStatusAA03FfigH6RecordVyYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribeChanges"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"observer"},{"kind":"text","spelling":": any "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings0A15RuntimeObserverP","spelling":"RadrootsRuntimeObserver"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiSubscriptionHandleC","spelling":"FfiSubscriptionHandle"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","subscribeChanges(observer:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP16subscribeChanges8observerAA21FfiSubscriptionHandleCAA0aD8Observer_p_tKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CancelDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"cancelledAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1CancelDraft(draftId:expectedRevision:cancelledAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP17phase1CancelDraft7draftId16expectedRevision17cancelledAtUnixMsAA03FfiH12StatusRecordVSS_s6UInt64VAKtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1DraftStatus"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1DraftStatus(draftId:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP17phase1DraftStatus7draftIdAA03FfigH6RecordVSS_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1AdvanceDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1AdvanceDraft(draftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP18phase1AdvanceDraft7draftId16expectedRevisionAA03FfiH12StatusRecordVSS_s6UInt64VtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1LocalNetwork"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1LocalNetwork(context:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP18phase1LocalNetwork7contextAA03FfigH6RecordVAG_tKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RefreshToday"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"nowUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"update"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","spelling":"FfiTodayProjectionUpdate"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","spelling":"FfiTodayRefreshRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1RefreshToday(context:nowUnixS:update:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP18phase1RefreshToday7context8nowUnixS6updateAA03FfihG6RecordVAA0m12LocalNetworkN0V_s6UInt64VAA0mH16ProjectionUpdateOtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkBlossomEvidence"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","spelling":"FfiBlossomEvidenceRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","sdkBlossomEvidence()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP18sdkBlossomEvidenceAA03FfigH6RecordVSgyKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"setAppInfoPlatform"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"platform"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"bundleId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"buildNumber"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"buildSha"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","setAppInfoPlatform(platform:bundleId:version:buildNumber:buildSha:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP18setAppInfoPlatform8platform8bundleId7version11buildNumber0N3ShaySSSg_A4JtF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CancelProfile"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1CancelProfile(operationId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1CancelProfile11operationId16expectedRevisionAA03FfiH12StatusRecordVSS_s6UInt64VtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CardAddParity"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","spelling":"FfiCardAddParityRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1CardAddParity()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1CardAddParitySayAA03FfighI6RecordVGyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1ProfileStatus"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1ProfileStatus(operationId:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1ProfileStatus11operationIdAA03FfigH6RecordVSS_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RetrieveMedia"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"referenceFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiMediaOperationC","spelling":"FfiMediaOperation"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","spelling":"FfiVerifiedMediaArtifactRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1RetrieveMedia(context:referenceFingerprint:operation:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1RetrieveMedia7context20referenceFingerprint9operationAA011FfiVerifiedH14ArtifactRecordVAA0m12LocalNetworkP0V_SSAA0mH9OperationCtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveAddIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"existingDraftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?) "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1SaveAddIntent(input:existingDraftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1SaveAddIntent5input15existingDraftId16expectedRevisionAA03FfiL12StatusRecordVAA0phL5InputV_SSSgs6UInt64VSgtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1AdvanceProfile"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1AdvanceProfile(operationId:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP20phase1AdvanceProfile11operationIdAA03FfiH12StatusRecordVSS_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CancelRevision"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1CancelRevision(operationId:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP20phase1CancelRevision11operationIdAA03FfiH12StatusRecordVSS_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1QueueAddIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1QueueAddIntent(draftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP20phase1QueueAddIntent7draftId16expectedRevisionAA20FfiDraftStatusRecordVSS_s6UInt64VtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RevisionStatus"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1RevisionStatus(operationId:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP20phase1RevisionStatus11operationIdAA03FfigH6RecordVSS_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configureDeviceRelays"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"writableRelays"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","configureDeviceRelays(writableRelays:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP21configureDeviceRelays08writableH0ySaySSG_tKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configurePublicRelays"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"writableRelays"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","configurePublicRelays(writableRelays:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP21configurePublicRelays08writableH0ySaySSG_tKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1AdvanceRevision"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1AdvanceRevision(operationId:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP21phase1AdvanceRevision11operationIdAA03FfiH12StatusRecordVSS_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CancelAddIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1CancelAddIntent(draftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP21phase1CancelAddIntent7draftId16expectedRevisionAA20FfiDraftStatusRecordVSS_s6UInt64VtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1ReplaceSettings"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","spelling":"FfiReplaceSettingsRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","spelling":"FfiSettingsTransitionRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1ReplaceSettings(input:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP21phase1ReplaceSettings5inputAA03FfiH16TransitionRecordVAA0jghL0V_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SignQueuedDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1SignQueuedDraft(draftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP21phase1SignQueuedDraft7draftId16expectedRevisionAA03FfiI12StatusRecordVSS_s6UInt64VtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1MediaCacheStatus"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","spelling":"FfiMediaCacheStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1MediaCacheStatus(context:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP22phase1MediaCacheStatus7contextAA03FfighI6RecordVAA0k12LocalNetworkL0V_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RecoverAddIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1RecoverAddIntent(draftId:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP22phase1RecoverAddIntent7draftIdAA20FfiDraftStatusRecordVSS_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1UploadDraftMedia"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","spelling":"FfiBlossomUploadInput"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1UploadDraftMedia(input:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP22phase1UploadDraftMedia5inputAA03FfiH12StatusRecordVAA0k7BlossomG5InputV_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1ValidateAddDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1ValidateAddDraft(input:authoredAtUnixS:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP22phase1ValidateAddDraft5input15authoredAtUnixSyAA03FfihI5InputV_s6UInt64VtKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RecoverDraftQueue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"recoveredAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1RecoverDraftQueue(draftId:recoveredAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP23phase1RecoverDraftQueue7draftId17recoveredAtUnixMsAA03FfiH12StatusRecordVSS_s6UInt64VtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkBlossomConfiguration"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","spelling":"FfiBlossomConfigurationRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","sdkBlossomConfiguration()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP23sdkBlossomConfigurationAA03FfigH6RecordVSgyKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configureSimulatorRelays"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"loopbackRelays"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","configureSimulatorRelays(loopbackRelays:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP24configureSimulatorRelays08loopbackH0ySaySSG_tKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveRevisionIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","spelling":"FfiRevisionInputRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1SaveRevisionIntent(input:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP24phase1SaveRevisionIntent5inputAA03FfiH12StatusRecordVAA0kh5InputM0V_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveProfileMetadata"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","spelling":"FfiProfileMetadataInputRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1SaveProfileMetadata(input:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP25phase1SaveProfileMetadata5inputAA03FfiH12StatusRecordVAA0khi5InputM0V_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveRetractionDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","spelling":"FfiRetractionDraftInput"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"persistedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1SaveRetractionDraft(draftId:input:authoredAtUnixS:persistedAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP25phase1SaveRetractionDraft7draftId5input15authoredAtUnixS09persistednO2MsAA03FfiI12StatusRecordVSS_AA0rhI5InputVs6UInt64VANtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1ApplyIdentityCommand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"command"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","spelling":"FfiIdentityCommandRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","spelling":"FfiSettingsTransitionRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1ApplyIdentityCommand(expectedRevision:command:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP26phase1ApplyIdentityCommand16expectedRevision7commandAA27FfiSettingsTransitionRecordVs6UInt64V_AA0mhiP0VtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1UploadAddMediaIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","spelling":"FfiBlossomUploadIntent"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1UploadAddMediaIntent(input:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP26phase1UploadAddMediaIntent5inputAA20FfiDraftStatusRecordVAA0l7BlossomgJ0V_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1VerifiedMediaArtifact"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","spelling":"FfiVerifiedMediaArtifactRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1VerifiedMediaArtifact(context:artifactId:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP27phase1VerifiedMediaArtifact7context10artifactIdAA03FfighI6RecordVSgAA0m12LocalNetworkN0V_SStYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1InvalidateMediaArtifact"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1InvalidateMediaArtifact(context:artifactId:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP29phase1InvalidateMediaArtifact7context10artifactIdSbAA21FfiLocalNetworkRecordV_SStYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1InvalidateMediaConfiguration"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"configurationFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1InvalidateMediaConfiguration(context:configurationFingerprint:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP34phase1InvalidateMediaConfiguration7context24configurationFingerprintSaySSGAA21FfiLocalNetworkRecordV_SStYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"info"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","spelling":"FfiRuntimeInfoRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","info()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP4infoAA03FfiD10InfoRecordVyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"infoJson"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","infoJson()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP8infoJsonSSyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1Me"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"asOfUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings11FfiMeRecordV","spelling":"FfiMeRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1Me(context:asOfUnixS:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP8phase1Me7context9asOfUnixSAA03FfiG6RecordVAA0l12LocalNetworkM0V_s6UInt64VtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shutdown"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiShutdownRecordV","spelling":"FfiShutdownRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","shutdown()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP8shutdownAA17FfiShutdownRecordVyYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"RadrootsRuntime"}],"kind":"swift.class","path":["RadrootsRuntime"],"precise":"s:19RadrootsKitBindings0A7RuntimeC"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1Search"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"query"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"asOfUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiSearchResultRecordV","spelling":"FfiSearchResultRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntime","phase1Search(context:query:limit:asOfUnixS:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC12phase1Search7context5query5limit9asOfUnixSSayAA03FfiF12ResultRecordVGAA0m12LocalNetworkO0V_SSs6UInt16Vs6UInt64VtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"probeBlossom"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","spelling":"FfiBlossomEvidenceRecord"}],"kind":"swift.method","path":["RadrootsRuntime","probeBlossom()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC12probeBlossomAA03FfiF14EvidenceRecordVyYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"uptimeMillis"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5Int64V","spelling":"Int64"}],"kind":"swift.method","path":["RadrootsRuntime","uptimeMillis()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC12uptimeMilliss5Int64VyF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"identityStatus"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","spelling":"FfiIdentityStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","identityStatus()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC14identityStatusAA011FfiIdentityF6RecordVyKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1Settings"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","spelling":"FfiMobileSettingsRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1Settings()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC14phase1SettingsAA09FfiMobileF6RecordVyYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkRelayStatus"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","spelling":"FfiRelayStatusReportRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.method","path":["RadrootsRuntime","sdkRelayStatus()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC14sdkRelayStatusAA03FfifG12ReportRecordVSgyKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withHostSigner"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"applicationSupportDirectory"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"publicKeyHex"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sourceGenerationHex"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sourceGenerationCreatedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"protectedData"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO","spelling":"ProtectedDataAvailability"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"hostSigner"},{"kind":"text","spelling":": any "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings0A10HostSignerP","spelling":"RadrootsHostSigner"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings0A7RuntimeC","spelling":"RadrootsRuntime"}],"kind":"swift.type.method","path":["RadrootsRuntime","withHostSigner(applicationSupportDirectory:publicKeyHex:sourceGenerationHex:sourceGenerationCreatedAtUnixMs:protectedData:hostSigner:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC14withHostSigner27applicationSupportDirectory12publicKeyHex016sourceGenerationM00nO15CreatedAtUnixMs13protectedData04hostG0ACSS_S2Ss6UInt64VAA09ProtectedU12AvailabilityOAA0afG0_ptYaKFZ"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"persistedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1SaveDraft(draftId:input:authoredAtUnixS:expectedRevision:persistedAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC15phase1SaveDraft7draftId5input15authoredAtUnixS16expectedRevision09persistedlM2MsAA03FfiG12StatusRecordVSS_AA0r3AddG5InputVs6UInt64VAOSgAOtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SyncToday"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"nowUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"update"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","spelling":"FfiTodayProjectionUpdate"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","spelling":"FfiTodaySyncRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1SyncToday(context:nowUnixS:update:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC15phase1SyncToday7context8nowUnixS6updateAA03FfigF6RecordVAA0l12LocalNetworkM0V_s6UInt64VAA0lG16ProjectionUpdateOtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1TodayPage"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"asOfUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"cursor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?) "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayPageRecordV","spelling":"FfiTodayPageRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1TodayPage(context:limit:asOfUnixS:cursor:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC15phase1TodayPage7context5limit9asOfUnixS6cursorAA03FfifG6RecordVAA0n12LocalNetworkO0V_s6UInt16Vs6UInt64VSgSSSgtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkCapabilities"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiCapabilityRecordV","spelling":"FfiCapabilityRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntime","sdkCapabilities()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC15sdkCapabilitiesSayAA19FfiCapabilityRecordVGyF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configureBlossom"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"hostKind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiBlossomHostKindO","spelling":"FfiBlossomHostKind"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"endpointAuthority"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO","spelling":"FfiBlossomEndpointAuthority"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"primaryOrigin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"fallbackOrigins"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntime","configureBlossom(hostKind:endpointAuthority:primaryOrigin:fallbackOrigins:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC16configureBlossom8hostKind17endpointAuthority13primaryOrigin15fallbackOriginsyAA03Ffif4HostH0O_AA0of8EndpointJ0OSSSaySSGtKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1AddSchemas"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","spelling":"FfiAddSchemaRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntime","phase1AddSchemas()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC16phase1AddSchemasSayAA03FfiF12SchemaRecordVGyF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1DraftHeads"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntime","phase1DraftHeads(limit:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC16phase1DraftHeads5limitSayAA03FfiF12StatusRecordVGs6UInt16V_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1QueueDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"policy"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","spelling":"FfiQueuePolicyRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"queuedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1QueueDraft(draftId:expectedRevision:policy:queuedAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC16phase1QueueDraft7draftId16expectedRevision6policy14queuedAtUnixMsAA03FfiG12StatusRecordVSS_s6UInt64VAA0qf6PolicyS0VALtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkStorageStatus"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","spelling":"FfiStorageStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","sdkStorageStatus()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC16sdkStorageStatusAA03FfifG6RecordVyYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribeChanges"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"observer"},{"kind":"text","spelling":": any "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings0A15RuntimeObserverP","spelling":"RadrootsRuntimeObserver"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiSubscriptionHandleC","spelling":"FfiSubscriptionHandle"}],"kind":"swift.method","path":["RadrootsRuntime","subscribeChanges(observer:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC16subscribeChanges8observerAA21FfiSubscriptionHandleCAA0aD8Observer_p_tKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CancelDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"cancelledAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1CancelDraft(draftId:expectedRevision:cancelledAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC17phase1CancelDraft7draftId16expectedRevision17cancelledAtUnixMsAA03FfiG12StatusRecordVSS_s6UInt64VAKtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1DraftStatus"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1DraftStatus(draftId:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC17phase1DraftStatus7draftIdAA03FfifG6RecordVSS_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1AdvanceDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1AdvanceDraft(draftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC18phase1AdvanceDraft7draftId16expectedRevisionAA03FfiG12StatusRecordVSS_s6UInt64VtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1LocalNetwork"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1LocalNetwork(context:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC18phase1LocalNetwork7contextAA03FfifG6RecordVAG_tKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RefreshToday"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"nowUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"update"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","spelling":"FfiTodayProjectionUpdate"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","spelling":"FfiTodayRefreshRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1RefreshToday(context:nowUnixS:update:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC18phase1RefreshToday7context8nowUnixS6updateAA03FfigF6RecordVAA0l12LocalNetworkM0V_s6UInt64VAA0lG16ProjectionUpdateOtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkBlossomEvidence"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","spelling":"FfiBlossomEvidenceRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.method","path":["RadrootsRuntime","sdkBlossomEvidence()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC18sdkBlossomEvidenceAA03FfifG6RecordVSgyKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"setAppInfoPlatform"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"platform"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"bundleId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"buildNumber"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"buildSha"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.method","path":["RadrootsRuntime","setAppInfoPlatform(platform:bundleId:version:buildNumber:buildSha:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC18setAppInfoPlatform8platform8bundleId7version11buildNumber0M3ShaySSSg_A4JtF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CancelProfile"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1CancelProfile(operationId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC19phase1CancelProfile11operationId16expectedRevisionAA03FfiG12StatusRecordVSS_s6UInt64VtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CardAddParity"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","spelling":"FfiCardAddParityRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntime","phase1CardAddParity()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC19phase1CardAddParitySayAA03FfifgH6RecordVGyF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1ProfileStatus"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1ProfileStatus(operationId:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC19phase1ProfileStatus11operationIdAA03FfifG6RecordVSS_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RetrieveMedia"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"referenceFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiMediaOperationC","spelling":"FfiMediaOperation"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","spelling":"FfiVerifiedMediaArtifactRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1RetrieveMedia(context:referenceFingerprint:operation:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC19phase1RetrieveMedia7context20referenceFingerprint9operationAA011FfiVerifiedG14ArtifactRecordVAA0l12LocalNetworkO0V_SSAA0lG9OperationCtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveAddIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"existingDraftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?) "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1SaveAddIntent(input:existingDraftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC19phase1SaveAddIntent5input15existingDraftId16expectedRevisionAA03FfiK12StatusRecordVAA0ogK5InputV_SSSgs6UInt64VSgtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1AdvanceProfile"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1AdvanceProfile(operationId:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC20phase1AdvanceProfile11operationIdAA03FfiG12StatusRecordVSS_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CancelRevision"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1CancelRevision(operationId:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC20phase1CancelRevision11operationIdAA03FfiG12StatusRecordVSS_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1QueueAddIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1QueueAddIntent(draftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC20phase1QueueAddIntent7draftId16expectedRevisionAA20FfiDraftStatusRecordVSS_s6UInt64VtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RevisionStatus"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1RevisionStatus(operationId:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC20phase1RevisionStatus11operationIdAA03FfifG6RecordVSS_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configureDeviceRelays"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"writableRelays"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntime","configureDeviceRelays(writableRelays:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC21configureDeviceRelays08writableG0ySaySSG_tKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configurePublicRelays"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"writableRelays"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntime","configurePublicRelays(writableRelays:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC21configurePublicRelays08writableG0ySaySSG_tKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1AdvanceRevision"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1AdvanceRevision(operationId:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC21phase1AdvanceRevision11operationIdAA03FfiG12StatusRecordVSS_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CancelAddIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1CancelAddIntent(draftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC21phase1CancelAddIntent7draftId16expectedRevisionAA20FfiDraftStatusRecordVSS_s6UInt64VtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1ReplaceSettings"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","spelling":"FfiReplaceSettingsRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","spelling":"FfiSettingsTransitionRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1ReplaceSettings(input:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC21phase1ReplaceSettings5inputAA03FfiG16TransitionRecordVAA0ifgK0V_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SignQueuedDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1SignQueuedDraft(draftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC21phase1SignQueuedDraft7draftId16expectedRevisionAA03FfiH12StatusRecordVSS_s6UInt64VtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1MediaCacheStatus"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","spelling":"FfiMediaCacheStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1MediaCacheStatus(context:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC22phase1MediaCacheStatus7contextAA03FfifgH6RecordVAA0j12LocalNetworkK0V_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RecoverAddIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1RecoverAddIntent(draftId:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC22phase1RecoverAddIntent7draftIdAA20FfiDraftStatusRecordVSS_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1UploadDraftMedia"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","spelling":"FfiBlossomUploadInput"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1UploadDraftMedia(input:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC22phase1UploadDraftMedia5inputAA03FfiG12StatusRecordVAA0j7BlossomF5InputV_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1ValidateAddDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntime","phase1ValidateAddDraft(input:authoredAtUnixS:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC22phase1ValidateAddDraft5input15authoredAtUnixSyAA03FfigH5InputV_s6UInt64VtKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RecoverDraftQueue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"recoveredAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1RecoverDraftQueue(draftId:recoveredAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC23phase1RecoverDraftQueue7draftId17recoveredAtUnixMsAA03FfiG12StatusRecordVSS_s6UInt64VtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkBlossomConfiguration"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","spelling":"FfiBlossomConfigurationRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.method","path":["RadrootsRuntime","sdkBlossomConfiguration()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC23sdkBlossomConfigurationAA03FfifG6RecordVSgyKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configureSimulatorRelays"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"loopbackRelays"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntime","configureSimulatorRelays(loopbackRelays:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC24configureSimulatorRelays08loopbackG0ySaySSG_tKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveRevisionIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","spelling":"FfiRevisionInputRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1SaveRevisionIntent(input:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC24phase1SaveRevisionIntent5inputAA03FfiG12StatusRecordVAA0jg5InputL0V_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveProfileMetadata"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","spelling":"FfiProfileMetadataInputRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1SaveProfileMetadata(input:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC25phase1SaveProfileMetadata5inputAA03FfiG12StatusRecordVAA0jgh5InputL0V_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveRetractionDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","spelling":"FfiRetractionDraftInput"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"persistedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1SaveRetractionDraft(draftId:input:authoredAtUnixS:persistedAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC25phase1SaveRetractionDraft7draftId5input15authoredAtUnixS09persistedmN2MsAA03FfiH12StatusRecordVSS_AA0qgH5InputVs6UInt64VANtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1ApplyIdentityCommand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"command"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","spelling":"FfiIdentityCommandRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","spelling":"FfiSettingsTransitionRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1ApplyIdentityCommand(expectedRevision:command:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC26phase1ApplyIdentityCommand16expectedRevision7commandAA27FfiSettingsTransitionRecordVs6UInt64V_AA0lghO0VtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1UploadAddMediaIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","spelling":"FfiBlossomUploadIntent"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1UploadAddMediaIntent(input:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC26phase1UploadAddMediaIntent5inputAA20FfiDraftStatusRecordVAA0k7BlossomfI0V_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"convenience"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"applicationSupportDirectory"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"publicKeyHex"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sourceGenerationHex"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sourceGenerationCreatedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"protectedData"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO","spelling":"ProtectedDataAvailability"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.init","path":["RadrootsRuntime","init(applicationSupportDirectory:publicKeyHex:sourceGenerationHex:sourceGenerationCreatedAtUnixMs:protectedData:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC27applicationSupportDirectory12publicKeyHex016sourceGenerationJ00kL15CreatedAtUnixMs13protectedDataACSS_S2Ss6UInt64VAA09ProtectedR12AvailabilityOtYaKcfc"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1VerifiedMediaArtifact"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","spelling":"FfiVerifiedMediaArtifactRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.method","path":["RadrootsRuntime","phase1VerifiedMediaArtifact(context:artifactId:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC27phase1VerifiedMediaArtifact7context10artifactIdAA03FfifgH6RecordVSgAA0l12LocalNetworkM0V_SStYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1InvalidateMediaArtifact"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.method","path":["RadrootsRuntime","phase1InvalidateMediaArtifact(context:artifactId:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC29phase1InvalidateMediaArtifact7context10artifactIdSbAA21FfiLocalNetworkRecordV_SStYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1InvalidateMediaConfiguration"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"configurationFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntime","phase1InvalidateMediaConfiguration(context:configurationFingerprint:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC34phase1InvalidateMediaConfiguration7context24configurationFingerprintSaySSGAA21FfiLocalNetworkRecordV_SStYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"info"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","spelling":"FfiRuntimeInfoRecord"}],"kind":"swift.method","path":["RadrootsRuntime","info()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC4infoAA03FfiD10InfoRecordVyF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"infoJson"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.method","path":["RadrootsRuntime","infoJson()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC8infoJsonSSyF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1Me"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"asOfUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings11FfiMeRecordV","spelling":"FfiMeRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1Me(context:asOfUnixS:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC8phase1Me7context9asOfUnixSAA03FfiF6RecordVAA0k12LocalNetworkL0V_s6UInt64VtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shutdown"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiShutdownRecordV","spelling":"FfiShutdownRecord"}],"kind":"swift.method","path":["RadrootsRuntime","shutdown()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC8shutdownAA17FfiShutdownRecordVyYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"RadrootsAppError"}],"kind":"swift.enum","path":["RadrootsAppError"],"precise":"s:19RadrootsKitBindings0A8AppErrorO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"errorDescription"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"? { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"kind":"swift.property","path":["RadrootsAppError","errorDescription"],"precise":"s:19RadrootsKitBindings0A8AppErrorO16errorDescriptionSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Failure"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"report"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings0A11ErrorRecordV","spelling":"RadrootsErrorRecord"},{"kind":"text","spelling":")"}],"kind":"swift.enum.case","path":["RadrootsAppError","Failure(report:)"],"precise":"s:19RadrootsKitBindings0A8AppErrorO7FailureyAcA0aE6RecordV_tcACmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMeRecord"}],"kind":"swift.struct","path":["FfiMeRecord"],"precise":"s:19RadrootsKitBindings11FfiMeRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"cards"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayCardRecordV","spelling":"FfiTodayCardRecord"},{"kind":"text","spelling":"])"}],"kind":"swift.init","path":["FfiMeRecord","init(schemaVersion:publicKey:profile:cards:)"],"precise":"s:19RadrootsKitBindings11FfiMeRecordV13schemaVersion9publicKey7profile5cardsACs6UInt16V_SSAA0d7ProfileF0VSgSayAA0d9TodayCardF0VGtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiMeRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings11FfiMeRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings11FfiMeRecordV","spelling":"FfiMeRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings11FfiMeRecordV","spelling":"FfiMeRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiMeRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings11FfiMeRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiMeRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings11FfiMeRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cards"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayCardRecordV","spelling":"FfiTodayCardRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiMeRecord","cards"],"precise":"s:19RadrootsKitBindings11FfiMeRecordV5cardsSayAA0d9TodayCardF0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiMeRecord","profile"],"precise":"s:19RadrootsKitBindings11FfiMeRecordV7profileAA0d7ProfileF0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiMeRecord","publicKey"],"precise":"s:19RadrootsKitBindings11FfiMeRecordV9publicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"initLogging"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"dir"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"fileName"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"isStdout"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":"?) "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.func","path":["initLogging(dir:fileName:isStdout:)"],"precise":"s:19RadrootsKitBindings11initLogging3dir8fileName8isStdoutySSSg_AFSbSgtKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiDraftKind"}],"kind":"swift.enum","path":["FfiDraftKind"],"precise":"s:19RadrootsKitBindings12FfiDraftKindO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"retraction"}],"kind":"swift.enum.case","path":["FfiDraftKind","retraction"],"precise":"s:19RadrootsKitBindings12FfiDraftKindO10retractionyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"add"}],"kind":"swift.enum.case","path":["FfiDraftKind","add"],"precise":"s:19RadrootsKitBindings12FfiDraftKindO3addyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMediaStage"}],"kind":"swift.enum","path":["FfiMediaStage"],"precise":"s:19RadrootsKitBindings13FfiMediaStageO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"failed"}],"kind":"swift.enum.case","path":["FfiMediaStage","failed"],"precise":"s:19RadrootsKitBindings13FfiMediaStageO6failedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"pending"}],"kind":"swift.enum.case","path":["FfiMediaStage","pending"],"precise":"s:19RadrootsKitBindings13FfiMediaStageO7pendingyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"orphaned"}],"kind":"swift.enum.case","path":["FfiMediaStage","orphaned"],"precise":"s:19RadrootsKitBindings13FfiMediaStageO8orphanedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"verified"}],"kind":"swift.enum.case","path":["FfiMediaStage","verified"],"precise":"s:19RadrootsKitBindings13FfiMediaStageO8verifiedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preparing"}],"kind":"swift.enum.case","path":["FfiMediaStage","preparing"],"precise":"s:19RadrootsKitBindings13FfiMediaStageO9preparingyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"uploading"}],"kind":"swift.enum.case","path":["FfiMediaStage","uploading"],"precise":"s:19RadrootsKitBindings13FfiMediaStageO9uploadingyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiOutboxState"}],"kind":"swift.enum","path":["FfiOutboxState"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"delivering"}],"kind":"swift.enum.case","path":["FfiOutboxState","delivering"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO10deliveringyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"readyToSign"}],"kind":"swift.enum.case","path":["FfiOutboxState","readyToSign"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO11readyToSignyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaPreparing"}],"kind":"swift.enum.case","path":["FfiOutboxState","mediaPreparing"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO14mediaPreparingyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaUploading"}],"kind":"swift.enum.case","path":["FfiOutboxState","mediaUploading"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO14mediaUploadingyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"partiallyDelivered"}],"kind":"swift.enum.case","path":["FfiOutboxState","partiallyDelivered"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO18partiallyDeliveredyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draft"}],"kind":"swift.enum.case","path":["FfiOutboxState","draft"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO5draftyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"queued"}],"kind":"swift.enum.case","path":["FfiOutboxState","queued"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO6queuedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signed"}],"kind":"swift.enum.case","path":["FfiOutboxState","signed"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO6signedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signing"}],"kind":"swift.enum.case","path":["FfiOutboxState","signing"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO7signingyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"complete"}],"kind":"swift.enum.case","path":["FfiOutboxState","complete"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO8completeyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"terminal"}],"kind":"swift.enum.case","path":["FfiOutboxState","terminal"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO8terminalyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cancelled"}],"kind":"swift.enum.case","path":["FfiOutboxState","cancelled"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO9cancelledyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"retryable"}],"kind":"swift.enum.case","path":["FfiOutboxState","retryable"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO9retryableyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiAddFieldKind"}],"kind":"swift.enum","path":["FfiAddFieldKind"],"precise":"s:19RadrootsKitBindings15FfiAddFieldKindO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"multilineText"}],"kind":"swift.enum.case","path":["FfiAddFieldKind","multilineText"],"precise":"s:19RadrootsKitBindings15FfiAddFieldKindO13multilineTextyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"date"}],"kind":"swift.enum.case","path":["FfiAddFieldKind","date"],"precise":"s:19RadrootsKitBindings15FfiAddFieldKindO4dateyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"}],"kind":"swift.enum.case","path":["FfiAddFieldKind","text"],"precise":"s:19RadrootsKitBindings15FfiAddFieldKindO4textyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"media"}],"kind":"swift.enum.case","path":["FfiAddFieldKind","media"],"precise":"s:19RadrootsKitBindings15FfiAddFieldKindO5mediayA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"choice"}],"kind":"swift.enum.case","path":["FfiAddFieldKind","choice"],"precise":"s:19RadrootsKitBindings15FfiAddFieldKindO6choiceyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"decimal"}],"kind":"swift.enum.case","path":["FfiAddFieldKind","decimal"],"precise":"s:19RadrootsKitBindings15FfiAddFieldKindO7decimalyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dateTime"}],"kind":"swift.enum.case","path":["FfiAddFieldKind","dateTime"],"precise":"s:19RadrootsKitBindings15FfiAddFieldKindO8dateTimeyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"location"}],"kind":"swift.enum.case","path":["FfiAddFieldKind","location"],"precise":"s:19RadrootsKitBindings15FfiAddFieldKindO8locationyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiAddDraftInput"}],"kind":"swift.struct","path":["FfiAddDraftInput"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"foodStatus"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","foodStatus"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV10foodStatusSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"identifier"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","identifier"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV10identifierSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"}],"kind":"swift.property","path":["FfiAddDraftInput","commandType"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV11commandTypeAA0de7CommandI0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventTiming"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiEventTimingKindO","spelling":"FfiEventTimingKind"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","eventTiming"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV11eventTimingAA0d5EventI4KindOSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"priceAmount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","priceAmount"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV11priceAmountSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventEndDate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","eventEndDate"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV12eventEndDateSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventEndUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","eventEndUnixS"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV13eventEndUnixSs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventTimezone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","eventTimezone"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV13eventTimezoneSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"identifier"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"title"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"summary"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"location"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventTiming"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiEventTimingKindO","spelling":"FfiEventTimingKind"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventStartDate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventEndDate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventStartUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventEndUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventTimezone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"priceAmount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"unit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"quantity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"foodPublishedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"foodStatus"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"media"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":"])"}],"kind":"swift.init","path":["FfiAddDraftInput","init(schemaVersion:commandType:content:identifier:title:summary:location:eventTiming:eventStartDate:eventEndDate:eventStartUnixS:eventEndUnixS:eventTimezone:priceAmount:currency:unit:quantity:foodPublishedAtUnixS:foodStatus:media:)"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV13schemaVersion11commandType7content10identifier5title7summary8location11eventTiming0Q9StartDate0q3EndT00qS5UnixS0quV1S0Q8Timezone11priceAmount8currency4unit8quantity015foodPublishedAtV1S10foodStatus5mediaACs6UInt16V_AA0de7CommandK0OS2SSgA0_A0_A0_AA0d5EventR4KindOSgA0_A0_s6UInt64VSgA6_A0_A0_A0_A0_A0_A6_A0_SayAA0d13PreparedMediaG0VGtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiAddDraftInput","schemaVersion"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventStartDate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","eventStartDate"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV14eventStartDateSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventStartUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","eventStartUnixS"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV15eventStartUnixSs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"foodPublishedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","foodPublishedAtUnixS"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV20foodPublishedAtUnixSs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiAddDraftInput","==(_:_:)"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiAddDraftInput","hash(into:)"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","unit"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV4unitSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"media"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiAddDraftInput","media"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV5mediaSayAA0d13PreparedMediaG0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"title"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","title"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV5titleSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiAddDraftInput","content"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV7contentSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"summary"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","summary"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV7summarySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","currency"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV8currencySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"location"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","location"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV8locationSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"quantity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","quantity"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV8quantitySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiAppInfoRecord"}],"kind":"swift.struct","path":["FfiAppInfoRecord"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shuttingDown"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiAppInfoRecord","shuttingDown"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV12shuttingDownSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"uptimeMillis"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5Int64V","spelling":"Int64"}],"kind":"swift.property","path":["FfiAppInfoRecord","uptimeMillis"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV12uptimeMilliss5Int64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"build"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","spelling":"FfiBuildInfoRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"startedUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5Int64V","spelling":"Int64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"uptimeMillis"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5Int64V","spelling":"Int64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"shuttingDown"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"platform"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","spelling":"FfiAppPlatformRecord"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiAppInfoRecord","init(schemaVersion:build:startedUnixMs:uptimeMillis:shuttingDown:platform:)"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV13schemaVersion5build13startedUnixMs12uptimeMillis12shuttingDown8platformACs6UInt16V_AA0d5BuildfG0Vs5Int64VAOSbAA0de8PlatformG0VSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiAppInfoRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"startedUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5Int64V","spelling":"Int64"}],"kind":"swift.property","path":["FfiAppInfoRecord","startedUnixMs"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV13startedUnixMss5Int64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAppInfoRecordV","spelling":"FfiAppInfoRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAppInfoRecordV","spelling":"FfiAppInfoRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiAppInfoRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiAppInfoRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"build"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","spelling":"FfiBuildInfoRecord"}],"kind":"swift.property","path":["FfiAppInfoRecord","build"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV5buildAA0d5BuildfG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"platform"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","spelling":"FfiAppPlatformRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAppInfoRecord","platform"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV8platformAA0de8PlatformG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiProfileRecord"}],"kind":"swift.struct","path":["FfiProfileRecord"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"displayName"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileRecord","displayName"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV11displayNameSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"displayName"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"about"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"picture"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","spelling":"FfiMediaReferenceRecord"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"banner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","spelling":"FfiMediaReferenceRecord"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"nip05"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"website"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"lightningAddress"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiProfileRecord","init(schemaVersion:authorPublicKey:name:displayName:about:picture:banner:nip05:website:lightningAddress:)"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV13schemaVersion15authorPublicKey4name11displayName5about7picture6banner5nip057website16lightningAddressACs6UInt16V_S2SSgA2pA0d14MediaReferenceF0VSgAs3Ptcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiProfileRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiProfileRecord","authorPublicKey"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV15authorPublicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lightningAddress"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileRecord","lightningAddress"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV16lightningAddressSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiProfileRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiProfileRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileRecord","name"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV4nameSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"about"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileRecord","about"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV5aboutSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nip05"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileRecord","nip05"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV5nip05SSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"banner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","spelling":"FfiMediaReferenceRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileRecord","banner"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV6bannerAA0d14MediaReferenceF0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"picture"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","spelling":"FfiMediaReferenceRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileRecord","picture"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV7pictureAA0d14MediaReferenceF0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"website"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileRecord","website"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV7websiteSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRevisionPhase"}],"kind":"swift.enum","path":["FfiRevisionPhase"],"precise":"s:19RadrootsKitBindings16FfiRevisionPhaseO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"partialEffect"}],"kind":"swift.enum.case","path":["FfiRevisionPhase","partialEffect"],"precise":"s:19RadrootsKitBindings16FfiRevisionPhaseO13partialEffectyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"replacementFailed"}],"kind":"swift.enum.case","path":["FfiRevisionPhase","replacementFailed"],"precise":"s:19RadrootsKitBindings16FfiRevisionPhaseO17replacementFailedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"retractionPending"}],"kind":"swift.enum.case","path":["FfiRevisionPhase","retractionPending"],"precise":"s:19RadrootsKitBindings16FfiRevisionPhaseO17retractionPendingyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"replacementPending"}],"kind":"swift.enum.case","path":["FfiRevisionPhase","replacementPending"],"precise":"s:19RadrootsKitBindings16FfiRevisionPhaseO18replacementPendingyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"complete"}],"kind":"swift.enum.case","path":["FfiRevisionPhase","complete"],"precise":"s:19RadrootsKitBindings16FfiRevisionPhaseO8completeyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cancelled"}],"kind":"swift.enum.case","path":["FfiRevisionPhase","cancelled"],"precise":"s:19RadrootsKitBindings16FfiRevisionPhaseO9cancelledyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiThreadProfile"}],"kind":"swift.enum","path":["FfiThreadProfile"],"precise":"s:19RadrootsKitBindings16FfiThreadProfileO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"reply"}],"kind":"swift.enum.case","path":["FfiThreadProfile","reply"],"precise":"s:19RadrootsKitBindings16FfiThreadProfileO5replyyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"comment"}],"kind":"swift.enum.case","path":["FfiThreadProfile","comment"],"precise":"s:19RadrootsKitBindings16FfiThreadProfileO7commentyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"profile"}],"kind":"swift.enum.case","path":["FfiThreadProfile","profile"],"precise":"s:19RadrootsKitBindings16FfiThreadProfileO7profileyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deletion"}],"kind":"swift.enum.case","path":["FfiThreadProfile","deletion"],"precise":"s:19RadrootsKitBindings16FfiThreadProfileO8deletionyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiTodayCardType"}],"kind":"swift.enum","path":["FfiTodayCardType"],"precise":"s:19RadrootsKitBindings16FfiTodayCardTypeO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"photoUpdate"}],"kind":"swift.enum.case","path":["FfiTodayCardType","photoUpdate"],"precise":"s:19RadrootsKitBindings16FfiTodayCardTypeO11photoUpdateyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"foodAvailability"}],"kind":"swift.enum.case","path":["FfiTodayCardType","foodAvailability"],"precise":"s:19RadrootsKitBindings16FfiTodayCardTypeO16foodAvailabilityyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ask"}],"kind":"swift.enum.case","path":["FfiTodayCardType","ask"],"precise":"s:19RadrootsKitBindings16FfiTodayCardTypeO3askyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"event"}],"kind":"swift.enum.case","path":["FfiTodayCardType","event"],"precise":"s:19RadrootsKitBindings16FfiTodayCardTypeO5eventyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"}],"kind":"swift.enum.case","path":["FfiTodayCardType","update"],"precise":"s:19RadrootsKitBindings16FfiTodayCardTypeO6updateyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiAddCommandType"}],"kind":"swift.enum","path":["FfiAddCommandType"],"precise":"s:19RadrootsKitBindings17FfiAddCommandTypeO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"createEvent"}],"kind":"swift.enum.case","path":["FfiAddCommandType","createEvent"],"precise":"s:19RadrootsKitBindings17FfiAddCommandTypeO11createEventyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"createUpdate"}],"kind":"swift.enum.case","path":["FfiAddCommandType","createUpdate"],"precise":"s:19RadrootsKitBindings17FfiAddCommandTypeO12createUpdateyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"createPhotoUpdate"}],"kind":"swift.enum.case","path":["FfiAddCommandType","createPhotoUpdate"],"precise":"s:19RadrootsKitBindings17FfiAddCommandTypeO17createPhotoUpdateyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"createFoodAvailability"}],"kind":"swift.enum.case","path":["FfiAddCommandType","createFoodAvailability"],"precise":"s:19RadrootsKitBindings17FfiAddCommandTypeO22createFoodAvailabilityyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"createAsk"}],"kind":"swift.enum.case","path":["FfiAddCommandType","createAsk"],"precise":"s:19RadrootsKitBindings17FfiAddCommandTypeO9createAskyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiAddFieldRecord"}],"kind":"swift.struct","path":["FfiAddFieldRecord"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"label"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings15FfiAddFieldKindO","spelling":"FfiAddFieldKind"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"required"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"choices"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"maxBytes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiAddFieldRecord","init(schemaVersion:id:label:kind:required:choices:maxBytes:)"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV13schemaVersion2id5label4kind8required7choices8maxBytesACs6UInt16V_S2SAA0deF4KindOSbSaySSGs6UInt64VSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiAddFieldRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddFieldRecordV","spelling":"FfiAddFieldRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddFieldRecordV","spelling":"FfiAddFieldRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiAddFieldRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiAddFieldRecord","id"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV2idSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiAddFieldRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings15FfiAddFieldKindO","spelling":"FfiAddFieldKind"}],"kind":"swift.property","path":["FfiAddFieldRecord","kind"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV4kindAA0deF4KindOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiAddFieldRecord","label"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV5labelSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"choices"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiAddFieldRecord","choices"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV7choicesSaySSGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maxBytes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddFieldRecord","maxBytes"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV8maxBytess6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"required"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiAddFieldRecord","required"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV8requiredSbvp"},{"access":"open","declaration":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMediaOperation"}],"kind":"swift.class","path":["FfiMediaOperation"],"precise":"s:19RadrootsKitBindings17FfiMediaOperationC"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isCancelled"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.method","path":["FfiMediaOperation","isCancelled()"],"precise":"s:19RadrootsKitBindings17FfiMediaOperationC11isCancelledSbyF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.method","path":["FfiMediaOperation","operationId()"],"precise":"s:19RadrootsKitBindings17FfiMediaOperationC11operationIdSSyF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cancel"},{"kind":"text","spelling":"()"}],"kind":"swift.method","path":["FfiMediaOperation","cancel()"],"precise":"s:19RadrootsKitBindings17FfiMediaOperationC6cancelyyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"convenience"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.init","path":["FfiMediaOperation","init()"],"precise":"s:19RadrootsKitBindings17FfiMediaOperationCACyKcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRevisionPolicy"}],"kind":"swift.enum","path":["FfiRevisionPolicy"],"precise":"s:19RadrootsKitBindings17FfiRevisionPolicyO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"replaceThenRetract"}],"kind":"swift.enum.case","path":["FfiRevisionPolicy","replaceThenRetract"],"precise":"s:19RadrootsKitBindings17FfiRevisionPolicyO18replaceThenRetractyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"addressableReplacement"}],"kind":"swift.enum.case","path":["FfiRevisionPolicy","addressableReplacement"],"precise":"s:19RadrootsKitBindings17FfiRevisionPolicyO22addressableReplacementyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiShutdownRecord"}],"kind":"swift.struct","path":["FfiShutdownRecord"],"precise":"s:19RadrootsKitBindings17FfiShutdownRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"alreadyClosed"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiShutdownRecord","alreadyClosed"],"precise":"s:19RadrootsKitBindings17FfiShutdownRecordV13alreadyClosedSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"alreadyClosed"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiShutdownRecord","init(schemaVersion:state:alreadyClosed:)"],"precise":"s:19RadrootsKitBindings17FfiShutdownRecordV13schemaVersion5state13alreadyClosedACs6UInt16V_SSSbtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiShutdownRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings17FfiShutdownRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiShutdownRecordV","spelling":"FfiShutdownRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiShutdownRecordV","spelling":"FfiShutdownRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiShutdownRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings17FfiShutdownRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiShutdownRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings17FfiShutdownRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiShutdownRecord","state"],"precise":"s:19RadrootsKitBindings17FfiShutdownRecordV5stateSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"HostSigningResult"}],"kind":"swift.struct","path":["HostSigningResult"],"precise":"s:19RadrootsKitBindings17HostSigningResultV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningResult","operationId"],"precise":"s:19RadrootsKitBindings17HostSigningResultV11operationIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signatureHex"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["HostSigningResult","signatureHex"],"precise":"s:19RadrootsKitBindings17HostSigningResultV12signatureHexSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outcome"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18HostSigningOutcomeO","spelling":"HostSigningOutcome"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"signerRequestId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"purpose"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18HostSigningPurposeO","spelling":"HostSigningPurpose"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"signatureHex"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"completedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["HostSigningResult","init(schemaVersion:outcome:operationId:signerRequestId:publicKey:purpose:signatureHex:completedAtUnixMs:)"],"precise":"s:19RadrootsKitBindings17HostSigningResultV13schemaVersion7outcome11operationId013signerRequestK09publicKey7purpose12signatureHex17completedAtUnixMsACs6UInt16V_AA0dE7OutcomeOS3SAA0dE7PurposeOSSSgs6UInt64Vtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["HostSigningResult","schemaVersion"],"precise":"s:19RadrootsKitBindings17HostSigningResultV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signerRequestId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningResult","signerRequestId"],"precise":"s:19RadrootsKitBindings17HostSigningResultV15signerRequestIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"completedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["HostSigningResult","completedAtUnixMs"],"precise":"s:19RadrootsKitBindings17HostSigningResultV17completedAtUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17HostSigningResultV","spelling":"HostSigningResult"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17HostSigningResultV","spelling":"HostSigningResult"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["HostSigningResult","==(_:_:)"],"precise":"s:19RadrootsKitBindings17HostSigningResultV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["HostSigningResult","hash(into:)"],"precise":"s:19RadrootsKitBindings17HostSigningResultV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outcome"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18HostSigningOutcomeO","spelling":"HostSigningOutcome"}],"kind":"swift.property","path":["HostSigningResult","outcome"],"precise":"s:19RadrootsKitBindings17HostSigningResultV7outcomeAA0dE7OutcomeOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"purpose"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18HostSigningPurposeO","spelling":"HostSigningPurpose"}],"kind":"swift.property","path":["HostSigningResult","purpose"],"precise":"s:19RadrootsKitBindings17HostSigningResultV7purposeAA0dE7PurposeOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningResult","publicKey"],"precise":"s:19RadrootsKitBindings17HostSigningResultV9publicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"initLoggingStdout"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.func","path":["initLoggingStdout()"],"precise":"s:19RadrootsKitBindings17initLoggingStdoutyyKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiAddSchemaRecord"}],"kind":"swift.struct","path":["FfiAddSchemaRecord"],"precise":"s:19RadrootsKitBindings18FfiAddSchemaRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"}],"kind":"swift.property","path":["FfiAddSchemaRecord","commandType"],"precise":"s:19RadrootsKitBindings18FfiAddSchemaRecordV11commandTypeAA0de7CommandI0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"label"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"fields"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddFieldRecordV","spelling":"FfiAddFieldRecord"},{"kind":"text","spelling":"])"}],"kind":"swift.init","path":["FfiAddSchemaRecord","init(schemaVersion:commandType:label:fields:)"],"precise":"s:19RadrootsKitBindings18FfiAddSchemaRecordV13schemaVersion11commandType5label6fieldsACs6UInt16V_AA0de7CommandK0OSSSayAA0de5FieldG0VGtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiAddSchemaRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings18FfiAddSchemaRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","spelling":"FfiAddSchemaRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","spelling":"FfiAddSchemaRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiAddSchemaRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings18FfiAddSchemaRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiAddSchemaRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings18FfiAddSchemaRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiAddSchemaRecord","label"],"precise":"s:19RadrootsKitBindings18FfiAddSchemaRecordV5labelSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fields"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddFieldRecordV","spelling":"FfiAddFieldRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiAddSchemaRecord","fields"],"precise":"s:19RadrootsKitBindings18FfiAddSchemaRecordV6fieldsSayAA0de5FieldG0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiBlossomHostKind"}],"kind":"swift.enum","path":["FfiBlossomHostKind"],"precise":"s:19RadrootsKitBindings18FfiBlossomHostKindO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"physicalDevice"}],"kind":"swift.enum.case","path":["FfiBlossomHostKind","physicalDevice"],"precise":"s:19RadrootsKitBindings18FfiBlossomHostKindO14physicalDeviceyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"native"}],"kind":"swift.enum.case","path":["FfiBlossomHostKind","native"],"precise":"s:19RadrootsKitBindings18FfiBlossomHostKindO6nativeyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simulator"}],"kind":"swift.enum.case","path":["FfiBlossomHostKind","simulator"],"precise":"s:19RadrootsKitBindings18FfiBlossomHostKindO9simulatoryA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiBuildInfoRecord"}],"kind":"swift.struct","path":["FfiBuildInfoRecord"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"libRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBuildInfoRecord","libRevision"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV11libRevisionSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"crateVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBuildInfoRecord","crateVersion"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV12crateVersionSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"buildTimeUnix"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBuildInfoRecord","buildTimeUnix"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV13buildTimeUnixs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"crateName"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"crateVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"rustc"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"libRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"consumerRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"buildTimeUnix"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiBuildInfoRecord","init(schemaVersion:crateName:crateVersion:rustc:profile:libRevision:consumerRevision:buildTimeUnix:)"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV13schemaVersion9crateName0jI05rustc7profile11libRevision08consumerO013buildTimeUnixACs6UInt16V_S3SSgA3Ns6UInt64VSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiBuildInfoRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"consumerRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBuildInfoRecord","consumerRevision"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV16consumerRevisionSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","spelling":"FfiBuildInfoRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","spelling":"FfiBuildInfoRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiBuildInfoRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiBuildInfoRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rustc"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBuildInfoRecord","rustc"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV5rustcSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBuildInfoRecord","profile"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV7profileSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"crateName"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBuildInfoRecord","crateName"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV9crateNameSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiDraftFormRecord"}],"kind":"swift.struct","path":["FfiDraftFormRecord"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"foodStatus"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","foodStatus"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV10foodStatusSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"identifier"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","identifier"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV10identifierSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"}],"kind":"swift.property","path":["FfiDraftFormRecord","commandType"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV11commandTypeAA0d10AddCommandI0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventTiming"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiEventTimingKindO","spelling":"FfiEventTimingKind"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","eventTiming"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV11eventTimingAA0d5EventI4KindOSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"priceAmount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","priceAmount"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV11priceAmountSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventEndDate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","eventEndDate"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV12eventEndDateSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventEndUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","eventEndUnixS"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV13eventEndUnixSs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventTimezone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","eventTimezone"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV13eventTimezoneSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"identifier"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"title"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"summary"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"location"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventTiming"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiEventTimingKindO","spelling":"FfiEventTimingKind"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventStartDate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventEndDate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventStartUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventEndUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventTimezone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"priceAmount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"unit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"quantity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"foodPublishedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"foodStatus"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"media"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","spelling":"FfiDraftFormMediaRecord"},{"kind":"text","spelling":"])"}],"kind":"swift.init","path":["FfiDraftFormRecord","init(schemaVersion:commandType:content:identifier:title:summary:location:eventTiming:eventStartDate:eventEndDate:eventStartUnixS:eventEndUnixS:eventTimezone:priceAmount:currency:unit:quantity:foodPublishedAtUnixS:foodStatus:media:)"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV13schemaVersion11commandType7content10identifier5title7summary8location11eventTiming0Q9StartDate0q3EndT00qS5UnixS0quV1S0Q8Timezone11priceAmount8currency4unit8quantity015foodPublishedAtV1S10foodStatus5mediaACs6UInt16V_AA0d10AddCommandK0OS2SSgA0_A0_A0_AA0d5EventR4KindOSgA0_A0_s6UInt64VSgA6_A0_A0_A0_A0_A0_A6_A0_SayAA0def5MediaG0VGtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiDraftFormRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventStartDate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","eventStartDate"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV14eventStartDateSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventStartUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","eventStartUnixS"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV15eventStartUnixSs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"foodPublishedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","foodPublishedAtUnixS"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV20foodPublishedAtUnixSs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiDraftFormRecordV","spelling":"FfiDraftFormRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiDraftFormRecordV","spelling":"FfiDraftFormRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiDraftFormRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiDraftFormRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","unit"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV4unitSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"media"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","spelling":"FfiDraftFormMediaRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiDraftFormRecord","media"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV5mediaSayAA0def5MediaG0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"title"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","title"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV5titleSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftFormRecord","content"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV7contentSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"summary"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","summary"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV7summarySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","currency"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV8currencySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"location"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","location"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV8locationSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"quantity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","quantity"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV8quantitySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiEventTimingKind"}],"kind":"swift.enum","path":["FfiEventTimingKind"],"precise":"s:19RadrootsKitBindings18FfiEventTimingKindO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"timed"}],"kind":"swift.enum.case","path":["FfiEventTimingKind","timed"],"precise":"s:19RadrootsKitBindings18FfiEventTimingKindO5timedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allDay"}],"kind":"swift.enum.case","path":["FfiEventTimingKind","allDay"],"precise":"s:19RadrootsKitBindings18FfiEventTimingKindO6allDayyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiTodayCardRecord"}],"kind":"swift.struct","path":["FfiTodayCardRecord"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"contractId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiTodayCardRecord","contractId"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV10contractIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"foodStatus"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","foodStatus"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV10foodStatusSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rankDigest"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","rankDigest"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV10rankDigestSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"contextRank"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5UInt8V","spelling":"UInt8"}],"kind":"swift.property","path":["FfiTodayCardRecord","contextRank"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV11contextRanks5UInt8Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"foodSummary"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","foodSummary"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV11foodSummarySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"priceAmount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","priceAmount"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV11priceAmountSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorProfile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","authorProfile"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV13authorProfileAA0diG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventEndUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","eventEndUnixS"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV13eventEndUnixSs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"priceCurrency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","priceCurrency"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV13priceCurrencySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"cardId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"cardType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiTodayCardTypeO","spelling":"FfiTodayCardType"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sourceEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sourceAddress"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"contractId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"title"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"effectiveAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"eventStartUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventEndUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"location"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"priceAmount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"priceCurrency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"priceUnit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"quantity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"foodSummary"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"foodPublishedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"foodStatus"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"contextRank"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5UInt8V","spelling":"UInt8"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"inclusionReason"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"media"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","spelling":"FfiMediaReferenceRecord"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"lifecycle"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiCardLifecycleStateO","spelling":"FfiCardLifecycleState"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"rankDigest"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"authorProfile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"thread"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","spelling":"FfiThreadEntryRecord"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"localOperationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"localOperationState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiTodayCardRecord","init(schemaVersion:cardId:cardType:sourceEventId:sourceAddress:authorPublicKey:contractId:title:content:authoredAtUnixS:effectiveAtUnixS:eventStartUnixS:eventEndUnixS:location:priceAmount:priceCurrency:priceUnit:quantity:foodSummary:foodPublishedAtUnixS:foodStatus:contextRank:inclusionReason:media:lifecycle:rankDigest:authorProfile:thread:localOperationId:localOperationState:)"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV13schemaVersion6cardId0J4Type011sourceEventK00M7Address15authorPublicKey08contractK05title7content15authoredAtUnixS09effectivewX1S010eventStartX1S0z3EndX1S8location11priceAmount13priceCurrency9priceUnit8quantity11foodSummary013foodPublishedwX1S10foodStatus11contextRank15inclusionReason5media9lifecycle10rankDigest0P7Profile6thread014localOperationK019localOperationStateACs6UInt16V_SSAA0defL0OS2SSgS2SA10_SSs6UInt64VA12_A12_SgA13_A10_A10_A10_A10_A10_A10_A13_A10_s5UInt8VSSSayAA0d14MediaReferenceG0VGAA0dF14LifecycleStateOA10_AA0d7ProfileG0VSgSayAA0d11ThreadEntryG0VGA10_A10_tcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiTodayCardRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sourceAddress"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","sourceAddress"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV13sourceAddressSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sourceEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiTodayCardRecord","sourceEventId"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV13sourceEventIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiTodayCardRecord","authorPublicKey"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV15authorPublicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodayCardRecord","authoredAtUnixS"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV15authoredAtUnixSs6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventStartUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","eventStartUnixS"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV15eventStartUnixSs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"inclusionReason"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiTodayCardRecord","inclusionReason"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV15inclusionReasonSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"effectiveAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodayCardRecord","effectiveAtUnixS"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV16effectiveAtUnixSs6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localOperationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","localOperationId"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV16localOperationIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localOperationState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","localOperationState"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV19localOperationStateSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"foodPublishedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","foodPublishedAtUnixS"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV20foodPublishedAtUnixSs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayCardRecordV","spelling":"FfiTodayCardRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayCardRecordV","spelling":"FfiTodayCardRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiTodayCardRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiTodayCardRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"media"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","spelling":"FfiMediaReferenceRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiTodayCardRecord","media"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV5mediaSayAA0d14MediaReferenceG0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"title"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","title"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV5titleSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cardId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiTodayCardRecord","cardId"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV6cardIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"thread"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","spelling":"FfiThreadEntryRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiTodayCardRecord","thread"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV6threadSayAA0d11ThreadEntryG0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiTodayCardRecord","content"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV7contentSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cardType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiTodayCardTypeO","spelling":"FfiTodayCardType"}],"kind":"swift.property","path":["FfiTodayCardRecord","cardType"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV8cardTypeAA0defI0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"location"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","location"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV8locationSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"quantity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","quantity"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV8quantitySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lifecycle"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiCardLifecycleStateO","spelling":"FfiCardLifecycleState"}],"kind":"swift.property","path":["FfiTodayCardRecord","lifecycle"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV9lifecycleAA0dF14LifecycleStateOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"priceUnit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","priceUnit"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV9priceUnitSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiTodayPageRecord"}],"kind":"swift.struct","path":["FfiTodayPageRecord"],"precise":"s:19RadrootsKitBindings18FfiTodayPageRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nextCursor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayPageRecord","nextCursor"],"precise":"s:19RadrootsKitBindings18FfiTodayPageRecordV10nextCursorSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"asOfUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayCardRecordV","spelling":"FfiTodayCardRecord"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"nextCursor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiTodayPageRecord","init(schemaVersion:asOfUnixS:items:nextCursor:)"],"precise":"s:19RadrootsKitBindings18FfiTodayPageRecordV13schemaVersion9asOfUnixS5items10nextCursorACs6UInt16V_s6UInt64VSayAA0de4CardG0VGSSSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiTodayPageRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings18FfiTodayPageRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayPageRecordV","spelling":"FfiTodayPageRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayPageRecordV","spelling":"FfiTodayPageRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiTodayPageRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings18FfiTodayPageRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiTodayPageRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings18FfiTodayPageRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayCardRecordV","spelling":"FfiTodayCardRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiTodayPageRecord","items"],"precise":"s:19RadrootsKitBindings18FfiTodayPageRecordV5itemsSayAA0de4CardG0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"asOfUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodayPageRecord","asOfUnixS"],"precise":"s:19RadrootsKitBindings18FfiTodayPageRecordV9asOfUnixSs6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiTodaySyncRecord"}],"kind":"swift.struct","path":["FfiTodaySyncRecord"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"projection"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","spelling":"FfiTodayRefreshRecord"}],"kind":"swift.property","path":["FfiTodaySyncRecord","projection"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV10projectionAA0de7RefreshG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"relayState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO","spelling":"FfiTodayRelaySyncState"}],"kind":"swift.property","path":["FfiTodaySyncRecord","relayState"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV10relayStateAA0de5RelayfI0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"pagesFetched"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiTodaySyncRecord","pagesFetched"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV12pagesFetcheds6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"relayState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO","spelling":"FfiTodayRelaySyncState"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"pagesFetched"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"eventsObserved"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"eventsAdmitted"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"eventsRejected"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"projection"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","spelling":"FfiTodayRefreshRecord"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiTodaySyncRecord","init(schemaVersion:relayState:pagesFetched:eventsObserved:eventsAdmitted:eventsRejected:projection:)"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV13schemaVersion10relayState12pagesFetched14eventsObserved0N8Admitted0N8Rejected10projectionACs6UInt16V_AA0de5RelayfK0OALs6UInt64VA2pA0de7RefreshG0Vtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiTodaySyncRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventsAdmitted"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodaySyncRecord","eventsAdmitted"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV14eventsAdmitteds6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventsObserved"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodaySyncRecord","eventsObserved"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV14eventsObserveds6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventsRejected"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodaySyncRecord","eventsRejected"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV14eventsRejecteds6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","spelling":"FfiTodaySyncRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","spelling":"FfiTodaySyncRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiTodaySyncRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiTodaySyncRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"HostSigningOutcome"}],"kind":"swift.enum","path":["HostSigningOutcome"],"precise":"s:19RadrootsKitBindings18HostSigningOutcomeO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"invalidated"}],"kind":"swift.enum.case","path":["HostSigningOutcome","invalidated"],"precise":"s:19RadrootsKitBindings18HostSigningOutcomeO11invalidatedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unavailable"}],"kind":"swift.enum.case","path":["HostSigningOutcome","unavailable"],"precise":"s:19RadrootsKitBindings18HostSigningOutcomeO11unavailableyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"failed"}],"kind":"swift.enum.case","path":["HostSigningOutcome","failed"],"precise":"s:19RadrootsKitBindings18HostSigningOutcomeO6failedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"locked"}],"kind":"swift.enum.case","path":["HostSigningOutcome","locked"],"precise":"s:19RadrootsKitBindings18HostSigningOutcomeO6lockedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signed"}],"kind":"swift.enum.case","path":["HostSigningOutcome","signed"],"precise":"s:19RadrootsKitBindings18HostSigningOutcomeO6signedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rejected"}],"kind":"swift.enum.case","path":["HostSigningOutcome","rejected"],"precise":"s:19RadrootsKitBindings18HostSigningOutcomeO8rejectedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"timedOut"}],"kind":"swift.enum.case","path":["HostSigningOutcome","timedOut"],"precise":"s:19RadrootsKitBindings18HostSigningOutcomeO8timedOutyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cancelled"}],"kind":"swift.enum.case","path":["HostSigningOutcome","cancelled"],"precise":"s:19RadrootsKitBindings18HostSigningOutcomeO9cancelledyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"HostSigningPurpose"}],"kind":"swift.enum","path":["HostSigningPurpose"],"precise":"s:19RadrootsKitBindings18HostSigningPurposeO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nostrEvent"}],"kind":"swift.enum.case","path":["HostSigningPurpose","nostrEvent"],"precise":"s:19RadrootsKitBindings18HostSigningPurposeO10nostrEventyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"blossomUpload"}],"kind":"swift.enum.case","path":["HostSigningPurpose","blossomUpload"],"precise":"s:19RadrootsKitBindings18HostSigningPurposeO13blossomUploadyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"HostSigningRequest"}],"kind":"swift.struct","path":["HostSigningRequest"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signerRequestId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningRequest","signerRequestId"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV06signerF2IdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningRequest","artifactId"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV10artifactIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningRequest","operationId"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV11operationIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventIdDigest"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:10Foundation4DataV","spelling":"Data"}],"kind":"swift.property","path":["HostSigningRequest","eventIdDigest"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV13eventIdDigest10Foundation4DataVvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationKind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningRequest","operationKind"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV13operationKindSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operationKind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"signerRequestId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"purpose"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18HostSigningPurposeO","spelling":"HostSigningPurpose"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deadlineUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"eventIdDigest"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:10Foundation4DataV","spelling":"Data"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"createdAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"tags"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]], "},{"kind":"externalParam","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["HostSigningRequest","init(schemaVersion:operationKind:operationId:artifactId:signerRequestId:publicKey:purpose:deadlineUnixMs:eventIdDigest:expectedEventId:createdAtUnixS:kind:tags:content:)"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV13schemaVersion13operationKind0I2Id08artifactK006signerfK09publicKey7purpose14deadlineUnixMs05eventK6Digest013expectedEventK009createdAtR1S4kind4tags7contentACs6UInt16V_S5SAA0dE7PurposeOs6UInt64V10Foundation4DataVSSAWs6UInt32VSaySaySSGGSStcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["HostSigningRequest","schemaVersion"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"createdAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["HostSigningRequest","createdAtUnixS"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV14createdAtUnixSs6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deadlineUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["HostSigningRequest","deadlineUnixMs"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV14deadlineUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expectedEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningRequest","expectedEventId"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV15expectedEventIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18HostSigningRequestV","spelling":"HostSigningRequest"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18HostSigningRequestV","spelling":"HostSigningRequest"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["HostSigningRequest","==(_:_:)"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["HostSigningRequest","hash(into:)"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["HostSigningRequest","kind"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV4kinds6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tags"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]]"}],"kind":"swift.property","path":["HostSigningRequest","tags"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV4tagsSaySaySSGGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningRequest","content"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV7contentSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"purpose"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18HostSigningPurposeO","spelling":"HostSigningPurpose"}],"kind":"swift.property","path":["HostSigningRequest","purpose"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV7purposeAA0dE7PurposeOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningRequest","publicKey"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV9publicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"SignerStatusRecord"}],"kind":"swift.struct","path":["SignerStatusRecord"],"precise":"s:19RadrootsKitBindings18SignerStatusRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"availability"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24SignerAvailabilityRecordO","spelling":"SignerAvailabilityRecord"}],"kind":"swift.property","path":["SignerStatusRecord","availability"],"precise":"s:19RadrootsKitBindings18SignerStatusRecordV12availabilityAA0d12AvailabilityF0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"availability"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24SignerAvailabilityRecordO","spelling":"SignerAvailabilityRecord"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["SignerStatusRecord","init(schemaVersion:availability:)"],"precise":"s:19RadrootsKitBindings18SignerStatusRecordV13schemaVersion12availabilityACs6UInt16V_AA0d12AvailabilityF0Otcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["SignerStatusRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings18SignerStatusRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18SignerStatusRecordV","spelling":"SignerStatusRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18SignerStatusRecordV","spelling":"SignerStatusRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["SignerStatusRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings18SignerStatusRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["SignerStatusRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings18SignerStatusRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiCapabilityRecord"}],"kind":"swift.struct","path":["FfiCapabilityRecord"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configured"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiCapabilityRecord","configured"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV10configuredSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"availability"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiCapabilityRecord","availability"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV12availabilitySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"compiled"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"configured"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"availability"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"maturity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiCapabilityRecord","init(schemaVersion:id:compiled:configured:availability:maturity:)"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV13schemaVersion2id8compiled10configured12availability8maturityACs6UInt16V_SSS2bS2Stcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiCapabilityRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiCapabilityRecordV","spelling":"FfiCapabilityRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiCapabilityRecordV","spelling":"FfiCapabilityRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiCapabilityRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiCapabilityRecord","id"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV2idSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiCapabilityRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"compiled"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiCapabilityRecord","compiled"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV8compiledSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maturity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiCapabilityRecord","maturity"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV8maturitySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiDraftMediaRecord"}],"kind":"swift.struct","path":["FfiDraftMediaRecord"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"stage"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings13FfiMediaStageO","spelling":"FfiMediaStage"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"uploadAttempts"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5UInt8V","spelling":"UInt8"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"verifiedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"possibleOrphan"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"orphanReasonCode"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"orphanRecordedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiDraftMediaRecord","init(schemaVersion:url:stage:uploadAttempts:verifiedAtUnixMs:possibleOrphan:orphanReasonCode:orphanRecordedAtUnixMs:)"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV13schemaVersion3url5stage14uploadAttempts16verifiedAtUnixMs14possibleOrphan16orphanReasonCode0t8RecordedopQ0ACs6UInt16V_SSAA0dF5StageOs5UInt8Vs6UInt64VSgSbSSSgATtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiDraftMediaRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"possibleOrphan"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiDraftMediaRecord","possibleOrphan"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV14possibleOrphanSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"uploadAttempts"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5UInt8V","spelling":"UInt8"}],"kind":"swift.property","path":["FfiDraftMediaRecord","uploadAttempts"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV14uploadAttemptss5UInt8Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"orphanReasonCode"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftMediaRecord","orphanReasonCode"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV16orphanReasonCodeSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"verifiedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftMediaRecord","verifiedAtUnixMs"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV16verifiedAtUnixMss6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"orphanRecordedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftMediaRecord","orphanRecordedAtUnixMs"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV22orphanRecordedAtUnixMss6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","spelling":"FfiDraftMediaRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","spelling":"FfiDraftMediaRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiDraftMediaRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftMediaRecord","url"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV3urlSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiDraftMediaRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stage"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings13FfiMediaStageO","spelling":"FfiMediaStage"}],"kind":"swift.property","path":["FfiDraftMediaRecord","stage"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV5stageAA0dF5StageOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiSearchResultType"}],"kind":"swift.enum","path":["FfiSearchResultType"],"precise":"s:19RadrootsKitBindings19FfiSearchResultTypeO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"card"}],"kind":"swift.enum.case","path":["FfiSearchResultType","card"],"precise":"s:19RadrootsKitBindings19FfiSearchResultTypeO4cardyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"profile"}],"kind":"swift.enum.case","path":["FfiSearchResultType","profile"],"precise":"s:19RadrootsKitBindings19FfiSearchResultTypeO7profileyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiAppPlatformRecord"}],"kind":"swift.struct","path":["FfiAppPlatformRecord"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"buildNumber"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAppPlatformRecord","buildNumber"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV11buildNumberSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"platform"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"bundleId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"buildNumber"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"buildSha"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiAppPlatformRecord","init(schemaVersion:platform:bundleId:version:buildNumber:buildSha:)"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV13schemaVersion8platform8bundleId7version11buildNumber0N3ShaACs6UInt16V_SSSgA4Ltcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiAppPlatformRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","spelling":"FfiAppPlatformRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","spelling":"FfiAppPlatformRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiAppPlatformRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiAppPlatformRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAppPlatformRecord","version"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV7versionSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"buildSha"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAppPlatformRecord","buildSha"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV8buildShaSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bundleId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAppPlatformRecord","bundleId"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV8bundleIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"platform"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAppPlatformRecord","platform"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV8platformSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiDraftStatusRecord"}],"kind":"swift.struct","path":["FfiDraftStatusRecord"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"settlement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","spelling":"FfiOperationSettlementRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftStatusRecord","settlement"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV10settlementAA0d19OperationSettlementG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"}],"kind":"swift.property","path":["FfiDraftStatusRecord","commandType"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV11commandTypeAA0d10AddCommandI0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftStatusRecord","operationId"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV11operationIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"revision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings12FfiDraftKindO","spelling":"FfiDraftKind"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"form"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiDraftFormRecordV","spelling":"FfiDraftFormRecord"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings14FfiOutboxStateO","spelling":"FfiOutboxState"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"cardId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"createdAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"updatedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"media"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","spelling":"FfiDraftMediaRecord"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"settlement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","spelling":"FfiOperationSettlementRecord"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiDraftStatusRecord","init(schemaVersion:draftId:revision:authorPublicKey:kind:commandType:form:state:cardId:operationId:createdAtUnixMs:updatedAtUnixMs:media:settlement:)"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV13schemaVersion7draftId8revision15authorPublicKey4kind11commandType4form5state04cardK009operationK015createdAtUnixMs07updatedxyZ05media10settlementACs6UInt16V_SSs6UInt64VSSAA0dE4KindOAA0d10AddCommandR0OAA0de4FormG0VSgAA0D11OutboxStateOS2SSgA2USayAA0de5MediaG0VGAA0d19OperationSettlementG0VSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiDraftStatusRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftStatusRecord","authorPublicKey"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV15authorPublicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"createdAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiDraftStatusRecord","createdAtUnixMs"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV15createdAtUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"updatedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiDraftStatusRecord","updatedAtUnixMs"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV15updatedAtUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiDraftStatusRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"form"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiDraftFormRecordV","spelling":"FfiDraftFormRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftStatusRecord","form"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV4formAA0de4FormG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiDraftStatusRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings12FfiDraftKindO","spelling":"FfiDraftKind"}],"kind":"swift.property","path":["FfiDraftStatusRecord","kind"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV4kindAA0dE4KindOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"media"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","spelling":"FfiDraftMediaRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiDraftStatusRecord","media"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV5mediaSayAA0de5MediaG0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings14FfiOutboxStateO","spelling":"FfiOutboxState"}],"kind":"swift.property","path":["FfiDraftStatusRecord","state"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV5stateAA0D11OutboxStateOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cardId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftStatusRecord","cardId"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV6cardIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftStatusRecord","draftId"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV7draftIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"revision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiDraftStatusRecord","revision"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV8revisions6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiIdentityLockState"}],"kind":"swift.enum","path":["FfiIdentityLockState"],"precise":"s:19RadrootsKitBindings20FfiIdentityLockStateO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"locked"}],"kind":"swift.enum.case","path":["FfiIdentityLockState","locked"],"precise":"s:19RadrootsKitBindings20FfiIdentityLockStateO6lockedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unlocked"}],"kind":"swift.enum.case","path":["FfiIdentityLockState","unlocked"],"precise":"s:19RadrootsKitBindings20FfiIdentityLockStateO8unlockedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiQueuePolicyRecord"}],"kind":"swift.struct","path":["FfiQueuePolicyRecord"],"precise":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cancellation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiCancellationPolicyO","spelling":"FfiCancellationPolicy"}],"kind":"swift.property","path":["FfiQueuePolicyRecord","cancellation"],"precise":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV12cancellationAA0d12CancellationF0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"satisfaction"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRelaySatisfactionO","spelling":"FfiRelaySatisfaction"}],"kind":"swift.property","path":["FfiQueuePolicyRecord","satisfaction"],"precise":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV12satisfactionAA0D17RelaySatisfactionOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"relayUrls"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"satisfaction"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRelaySatisfactionO","spelling":"FfiRelaySatisfaction"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deliveryDeadlineUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"cancellation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiCancellationPolicyO","spelling":"FfiCancellationPolicy"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiQueuePolicyRecord","init(schemaVersion:relayUrls:satisfaction:deliveryDeadlineUnixMs:cancellation:)"],"precise":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV13schemaVersion9relayUrls12satisfaction22deliveryDeadlineUnixMs12cancellationACs6UInt16V_SaySSGAA0D17RelaySatisfactionOs6UInt64VAA0d12CancellationF0Otcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiQueuePolicyRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deliveryDeadlineUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiQueuePolicyRecord","deliveryDeadlineUnixMs"],"precise":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV22deliveryDeadlineUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","spelling":"FfiQueuePolicyRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","spelling":"FfiQueuePolicyRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiQueuePolicyRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiQueuePolicyRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"relayUrls"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiQueuePolicyRecord","relayUrls"],"precise":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV9relayUrlsSaySSGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRelaySatisfaction"}],"kind":"swift.enum","path":["FfiRelaySatisfaction"],"precise":"s:19RadrootsKitBindings20FfiRelaySatisfactionO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allAccepted"}],"kind":"swift.enum.case","path":["FfiRelaySatisfaction","allAccepted"],"precise":"s:19RadrootsKitBindings20FfiRelaySatisfactionO11allAcceptedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"anyAccepted"}],"kind":"swift.enum.case","path":["FfiRelaySatisfaction","anyAccepted"],"precise":"s:19RadrootsKitBindings20FfiRelaySatisfactionO11anyAcceptedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allDelivered"}],"kind":"swift.enum.case","path":["FfiRelaySatisfaction","allDelivered"],"precise":"s:19RadrootsKitBindings20FfiRelaySatisfactionO12allDeliveredyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"anyDelivered"}],"kind":"swift.enum.case","path":["FfiRelaySatisfaction","anyDelivered"],"precise":"s:19RadrootsKitBindings20FfiRelaySatisfactionO12anyDeliveredyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRelayStatusRecord"}],"kind":"swift.struct","path":["FfiRelayStatusRecord"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"writeState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRelayStatusRecord","writeState"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV10writeStateSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"relayUrl"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"access"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"readState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"writeState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"readLastAttemptUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"writeLastAttemptUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"readNextAttemptUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"writeNextAttemptUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiRelayStatusRecord","init(schemaVersion:relayUrl:access:readState:writeState:readLastAttemptUnixMs:writeLastAttemptUnixMs:readNextAttemptUnixMs:writeNextAttemptUnixMs:)"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV13schemaVersion8relayUrl6access9readState05writeN00M17LastAttemptUnixMs0opqrS00m4NextqrS00otqrS0ACs6UInt16V_S4Ss6UInt64VSgA3Qtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiRelayStatusRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"readLastAttemptUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiRelayStatusRecord","readLastAttemptUnixMs"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV21readLastAttemptUnixMss6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"readNextAttemptUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiRelayStatusRecord","readNextAttemptUnixMs"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV21readNextAttemptUnixMss6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"writeLastAttemptUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiRelayStatusRecord","writeLastAttemptUnixMs"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV22writeLastAttemptUnixMss6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"writeNextAttemptUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiRelayStatusRecord","writeNextAttemptUnixMs"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV22writeNextAttemptUnixMss6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","spelling":"FfiRelayStatusRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","spelling":"FfiRelayStatusRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiRelayStatusRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiRelayStatusRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"access"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRelayStatusRecord","access"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV6accessSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"relayUrl"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRelayStatusRecord","relayUrl"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV8relayUrlSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"readState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRelayStatusRecord","readState"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV9readStateSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRuntimeChangeKind"}],"kind":"swift.enum","path":["FfiRuntimeChangeKind"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"media"}],"kind":"swift.enum.case","path":["FfiRuntimeChangeKind","media"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO5mediayA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"relay"}],"kind":"swift.enum.case","path":["FfiRuntimeChangeKind","relay"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO5relayyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"today"}],"kind":"swift.enum.case","path":["FfiRuntimeChangeKind","today"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO5todayyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"drafts"}],"kind":"swift.enum.case","path":["FfiRuntimeChangeKind","drafts"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO6draftsyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"initial"}],"kind":"swift.enum.case","path":["FfiRuntimeChangeKind","initial"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO7initialyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"profile"}],"kind":"swift.enum.case","path":["FfiRuntimeChangeKind","profile"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO7profileyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"identity"}],"kind":"swift.enum.case","path":["FfiRuntimeChangeKind","identity"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO8identityyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"settings"}],"kind":"swift.enum.case","path":["FfiRuntimeChangeKind","settings"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO8settingsyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lifecycle"}],"kind":"swift.enum.case","path":["FfiRuntimeChangeKind","lifecycle"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO9lifecycleyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRuntimeInfoRecord"}],"kind":"swift.struct","path":["FfiRuntimeInfoRecord"],"precise":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"app"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAppInfoRecordV","spelling":"FfiAppInfoRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sdk"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","spelling":"FfiBuildInfoRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sdkClosed"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiRuntimeInfoRecord","init(schemaVersion:app:sdk:sdkClosed:)"],"precise":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV13schemaVersion3app3sdk0K6ClosedACs6UInt16V_AA0d3AppfG0VAA0d5BuildfG0VSbtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiRuntimeInfoRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","spelling":"FfiRuntimeInfoRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","spelling":"FfiRuntimeInfoRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiRuntimeInfoRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"app"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAppInfoRecordV","spelling":"FfiAppInfoRecord"}],"kind":"swift.property","path":["FfiRuntimeInfoRecord","app"],"precise":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV3appAA0d3AppfG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdk"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","spelling":"FfiBuildInfoRecord"}],"kind":"swift.property","path":["FfiRuntimeInfoRecord","sdk"],"precise":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV3sdkAA0d5BuildfG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiRuntimeInfoRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkClosed"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiRuntimeInfoRecord","sdkClosed"],"precise":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV9sdkClosedSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiThreadEntryRecord"}],"kind":"swift.struct","path":["FfiThreadEntryRecord"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorProfile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiThreadEntryRecord","authorProfile"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV13authorProfileAA0diG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"parentEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiThreadEntryRecord","parentEventId"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV13parentEventIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"eventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiThreadProfileO","spelling":"FfiThreadProfile"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"root"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"parentEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authorProfile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiThreadEntryRecord","init(schemaVersion:eventId:authorPublicKey:content:authoredAtUnixS:profile:root:parentEventId:authorProfile:)"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV13schemaVersion7eventId15authorPublicKey7content15authoredAtUnixS7profile4root011parentEventK00L7ProfileACs6UInt16V_S3Ss6UInt64VAA0deW0OS2SAA0dwG0VSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiThreadEntryRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiThreadEntryRecord","authorPublicKey"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV15authorPublicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiThreadEntryRecord","authoredAtUnixS"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV15authoredAtUnixSs6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","spelling":"FfiThreadEntryRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","spelling":"FfiThreadEntryRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiThreadEntryRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiThreadEntryRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"root"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiThreadEntryRecord","root"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV4rootSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiThreadEntryRecord","content"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV7contentSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiThreadEntryRecord","eventId"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV7eventIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiThreadProfileO","spelling":"FfiThreadProfile"}],"kind":"swift.property","path":["FfiThreadEntryRecord","profile"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV7profileAA0dE7ProfileOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiBlossomUploadInput"}],"kind":"swift.struct","path":["FfiBlossomUploadInput"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomUploadInput","artifactId"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV10artifactIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomUploadInput","operationId"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV11operationIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"media"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authorizationContent"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authorizationCreatedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authorizationLifetimeSeconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"signingDeadlineUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"signingCancellation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiCancellationPolicyO","spelling":"FfiCancellationPolicy"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"verifiedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"updatedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiBlossomUploadInput","init(schemaVersion:draftId:expectedRevision:media:authorizationContent:authorizationCreatedAtUnixS:authorizationLifetimeSeconds:operationId:artifactId:signingDeadlineUnixMs:signingCancellation:verifiedAtUnixMs:updatedAtUnixMs:)"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV13schemaVersion7draftId16expectedRevision5media20authorizationContent0O14CreatedAtUnixS0O15LifetimeSeconds09operationK008artifactK0015signingDeadlineS2Ms0X12Cancellation08verifiedrsZ007updatedrsZ0ACs6UInt16V_SSs6UInt64VAA0d13PreparedMediaG0VSSA2TS2SAtA0D18CancellationPolicyOA2Ttcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiBlossomUploadInput","schemaVersion"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"updatedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiBlossomUploadInput","updatedAtUnixMs"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV15updatedAtUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiBlossomUploadInput","expectedRevision"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV16expectedRevisions6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"verifiedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiBlossomUploadInput","verifiedAtUnixMs"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV16verifiedAtUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signingCancellation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiCancellationPolicyO","spelling":"FfiCancellationPolicy"}],"kind":"swift.property","path":["FfiBlossomUploadInput","signingCancellation"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV19signingCancellationAA0dI6PolicyOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorizationContent"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomUploadInput","authorizationContent"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV20authorizationContentSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signingDeadlineUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiBlossomUploadInput","signingDeadlineUnixMs"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV21signingDeadlineUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorizationCreatedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiBlossomUploadInput","authorizationCreatedAtUnixS"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV27authorizationCreatedAtUnixSs6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorizationLifetimeSeconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiBlossomUploadInput","authorizationLifetimeSeconds"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV28authorizationLifetimeSecondss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","spelling":"FfiBlossomUploadInput"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","spelling":"FfiBlossomUploadInput"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiBlossomUploadInput","==(_:_:)"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiBlossomUploadInput","hash(into:)"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"media"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"}],"kind":"swift.property","path":["FfiBlossomUploadInput","media"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV5mediaAA0d13PreparedMediaG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomUploadInput","draftId"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV7draftIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiCancellationPolicy"}],"kind":"swift.enum","path":["FfiCancellationPolicy"],"precise":"s:19RadrootsKitBindings21FfiCancellationPolicyO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localCooperative"}],"kind":"swift.enum.case","path":["FfiCancellationPolicy","localCooperative"],"precise":"s:19RadrootsKitBindings21FfiCancellationPolicyO16localCooperativeyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preservePublishedRequest"}],"kind":"swift.enum.case","path":["FfiCancellationPolicy","preservePublishedRequest"],"precise":"s:19RadrootsKitBindings21FfiCancellationPolicyO24preservePublishedRequestyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiCardLifecycleState"}],"kind":"swift.enum","path":["FfiCardLifecycleState"],"precise":"s:19RadrootsKitBindings21FfiCardLifecycleStateO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"past"}],"kind":"swift.enum.case","path":["FfiCardLifecycleState","past"],"precise":"s:19RadrootsKitBindings21FfiCardLifecycleStateO4pastyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sold"}],"kind":"swift.enum.case","path":["FfiCardLifecycleState","sold"],"precise":"s:19RadrootsKitBindings21FfiCardLifecycleStateO4soldyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"active"}],"kind":"swift.enum.case","path":["FfiCardLifecycleState","active"],"precise":"s:19RadrootsKitBindings21FfiCardLifecycleStateO6activeyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiLocalNetworkRecord"}],"kind":"swift.struct","path":["FfiLocalNetworkRecord"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"generation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiLocalNetworkRecord","generation"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV10generations6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"label"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"relayUrls"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"locality"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"followedAuthors"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"generation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiLocalNetworkRecord","init(schemaVersion:id:label:relayUrls:locality:followedAuthors:generation:)"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV13schemaVersion2id5label9relayUrls8locality15followedAuthors10generationACs6UInt16V_S2SSaySSGSSSgAMs6UInt64Vtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiLocalNetworkRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"followedAuthors"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiLocalNetworkRecord","followedAuthors"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV15followedAuthorsSaySSGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiLocalNetworkRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiLocalNetworkRecord","id"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV2idSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiLocalNetworkRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiLocalNetworkRecord","label"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV5labelSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"locality"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiLocalNetworkRecord","locality"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV8localitySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"relayUrls"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiLocalNetworkRecord","relayUrls"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV9relayUrlsSaySSGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiPreparedMediaInput"}],"kind":"swift.struct","path":["FfiPreparedMediaInput"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"opaqueReference"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"fileDescriptor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sha256"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"mediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"byteSize"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"alt"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"preparedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiPreparedMediaInput","init(schemaVersion:opaqueReference:fileDescriptor:sha256:mediaType:byteSize:width:height:alt:preparedAtUnixS:)"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV13schemaVersion15opaqueReference14fileDescriptor6sha2569mediaType8byteSize5width6height3alt15preparedAtUnixSACs6UInt16V_SSs6UInt64VS2SAQs6UInt32VASSSAQtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiPreparedMediaInput","schemaVersion"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fileDescriptor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiPreparedMediaInput","fileDescriptor"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV14fileDescriptors6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"opaqueReference"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiPreparedMediaInput","opaqueReference"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV15opaqueReferenceSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preparedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiPreparedMediaInput","preparedAtUnixS"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV15preparedAtUnixSs6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiPreparedMediaInput","==(_:_:)"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"alt"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiPreparedMediaInput","alt"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV3altSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiPreparedMediaInput","hash(into:)"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["FfiPreparedMediaInput","width"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV5widths6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["FfiPreparedMediaInput","height"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV6heights6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sha256"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiPreparedMediaInput","sha256"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV6sha256SSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"byteSize"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiPreparedMediaInput","byteSize"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV8byteSizes6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiPreparedMediaInput","mediaType"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV9mediaTypeSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiSearchResultRecord"}],"kind":"swift.struct","path":["FfiSearchResultRecord"],"precise":"s:19RadrootsKitBindings21FfiSearchResultRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"resultType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiSearchResultTypeO","spelling":"FfiSearchResultType"}],"kind":"swift.property","path":["FfiSearchResultRecord","resultType"],"precise":"s:19RadrootsKitBindings21FfiSearchResultRecordV10resultTypeAA0defI0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"resultType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiSearchResultTypeO","spelling":"FfiSearchResultType"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"stableId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"card"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayCardRecordV","spelling":"FfiTodayCardRecord"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiSearchResultRecord","init(schemaVersion:resultType:stableId:card:profile:)"],"precise":"s:19RadrootsKitBindings21FfiSearchResultRecordV13schemaVersion10resultType8stableId4card7profileACs6UInt16V_AA0defK0OSSAA0d9TodayCardG0VSgAA0d7ProfileG0VSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiSearchResultRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings21FfiSearchResultRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiSearchResultRecordV","spelling":"FfiSearchResultRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiSearchResultRecordV","spelling":"FfiSearchResultRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiSearchResultRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings21FfiSearchResultRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"card"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayCardRecordV","spelling":"FfiTodayCardRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiSearchResultRecord","card"],"precise":"s:19RadrootsKitBindings21FfiSearchResultRecordV4cardAA0d9TodayCardG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiSearchResultRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings21FfiSearchResultRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiSearchResultRecord","profile"],"precise":"s:19RadrootsKitBindings21FfiSearchResultRecordV7profileAA0d7ProfileG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stableId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiSearchResultRecord","stableId"],"precise":"s:19RadrootsKitBindings21FfiSearchResultRecordV8stableIdSSvp"},{"access":"open","declaration":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiSubscriptionHandle"}],"kind":"swift.class","path":["FfiSubscriptionHandle"],"precise":"s:19RadrootsKitBindings21FfiSubscriptionHandleC"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unsubscribe"},{"kind":"text","spelling":"()"}],"kind":"swift.method","path":["FfiSubscriptionHandle","unsubscribe()"],"precise":"s:19RadrootsKitBindings21FfiSubscriptionHandleC11unsubscribeyyF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isActive"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.method","path":["FfiSubscriptionHandle","isActive()"],"precise":"s:19RadrootsKitBindings21FfiSubscriptionHandleC8isActiveSbyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiTodayRefreshRecord"}],"kind":"swift.struct","path":["FfiTodayRefreshRecord"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sourceEvents"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodayRefreshRecord","sourceEvents"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV12sourceEventss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"visibleCards"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodayRefreshRecord","visibleCards"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV12visibleCardss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"update"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","spelling":"FfiTodayProjectionUpdate"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sourceEvents"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"visibleCards"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"profiles"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"threadEntries"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"contentGeneration"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"changed"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiTodayRefreshRecord","init(schemaVersion:update:sourceEvents:visibleCards:profiles:threadEntries:contentGeneration:changed:)"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV13schemaVersion6update12sourceEvents12visibleCards8profiles13threadEntries17contentGeneration7changedACs6UInt16V_AA0dE16ProjectionUpdateOs6UInt64VA4QSbtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiTodayRefreshRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"threadEntries"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodayRefreshRecord","threadEntries"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV13threadEntriess6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"contentGeneration"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodayRefreshRecord","contentGeneration"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV17contentGenerations6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","spelling":"FfiTodayRefreshRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","spelling":"FfiTodayRefreshRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiTodayRefreshRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiTodayRefreshRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","spelling":"FfiTodayProjectionUpdate"}],"kind":"swift.property","path":["FfiTodayRefreshRecord","update"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV6updateAA0dE16ProjectionUpdateOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"changed"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiTodayRefreshRecord","changed"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV7changedSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"profiles"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodayRefreshRecord","profiles"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV8profiless6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiBlossomUploadIntent"}],"kind":"swift.struct","path":["FfiBlossomUploadIntent"],"precise":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"media"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiBlossomUploadIntent","init(schemaVersion:draftId:expectedRevision:media:)"],"precise":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV13schemaVersion7draftId16expectedRevision5mediaACs6UInt16V_SSs6UInt64VAA0D18PreparedMediaInputVtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiBlossomUploadIntent","schemaVersion"],"precise":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiBlossomUploadIntent","expectedRevision"],"precise":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV16expectedRevisions6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","spelling":"FfiBlossomUploadIntent"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","spelling":"FfiBlossomUploadIntent"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiBlossomUploadIntent","==(_:_:)"],"precise":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiBlossomUploadIntent","hash(into:)"],"precise":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"media"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"}],"kind":"swift.property","path":["FfiBlossomUploadIntent","media"],"precise":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV5mediaAA0D18PreparedMediaInputVvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomUploadIntent","draftId"],"precise":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV7draftIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiCardAddParityRecord"}],"kind":"swift.struct","path":["FfiCardAddParityRecord"],"precise":"s:19RadrootsKitBindings22FfiCardAddParityRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"}],"kind":"swift.property","path":["FfiCardAddParityRecord","commandType"],"precise":"s:19RadrootsKitBindings22FfiCardAddParityRecordV11commandTypeAA0df7CommandJ0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"cardType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiTodayCardTypeO","spelling":"FfiTodayCardType"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiCardAddParityRecord","init(schemaVersion:cardType:commandType:)"],"precise":"s:19RadrootsKitBindings22FfiCardAddParityRecordV13schemaVersion8cardType07commandL0ACs6UInt16V_AA0d5TodayeL0OAA0df7CommandL0Otcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiCardAddParityRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings22FfiCardAddParityRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","spelling":"FfiCardAddParityRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","spelling":"FfiCardAddParityRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiCardAddParityRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings22FfiCardAddParityRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiCardAddParityRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings22FfiCardAddParityRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cardType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiTodayCardTypeO","spelling":"FfiTodayCardType"}],"kind":"swift.property","path":["FfiCardAddParityRecord","cardType"],"precise":"s:19RadrootsKitBindings22FfiCardAddParityRecordV8cardTypeAA0d5TodayeJ0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiIdentityCommandKind"}],"kind":"swift.enum","path":["FfiIdentityCommandKind"],"precise":"s:19RadrootsKitBindings22FfiIdentityCommandKindO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"beginImport"}],"kind":"swift.enum.case","path":["FfiIdentityCommandKind","beginImport"],"precise":"s:19RadrootsKitBindings22FfiIdentityCommandKindO11beginImportyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cancelImport"}],"kind":"swift.enum.case","path":["FfiIdentityCommandKind","cancelImport"],"precise":"s:19RadrootsKitBindings22FfiIdentityCommandKindO12cancelImportyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"completeImport"}],"kind":"swift.enum.case","path":["FfiIdentityCommandKind","completeImport"],"precise":"s:19RadrootsKitBindings22FfiIdentityCommandKindO14completeImportyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lock"}],"kind":"swift.enum.case","path":["FfiIdentityCommandKind","lock"],"precise":"s:19RadrootsKitBindings22FfiIdentityCommandKindO4lockyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"select"}],"kind":"swift.enum.case","path":["FfiIdentityCommandKind","select"],"precise":"s:19RadrootsKitBindings22FfiIdentityCommandKindO6selectyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unlock"}],"kind":"swift.enum.case","path":["FfiIdentityCommandKind","unlock"],"precise":"s:19RadrootsKitBindings22FfiIdentityCommandKindO6unlockyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"recover"}],"kind":"swift.enum.case","path":["FfiIdentityCommandKind","recover"],"precise":"s:19RadrootsKitBindings22FfiIdentityCommandKindO7recoveryA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiIdentityStateRecord"}],"kind":"swift.struct","path":["FfiIdentityStateRecord"],"precise":"s:19RadrootsKitBindings22FfiIdentityStateRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lockState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiIdentityLockStateO","spelling":"FfiIdentityLockState"}],"kind":"swift.property","path":["FfiIdentityStateRecord","lockState"],"precise":"s:19RadrootsKitBindings22FfiIdentityStateRecordV04lockF0AA0de4LockF0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"activeIdentityId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiIdentityStateRecord","activeIdentityId"],"precise":"s:19RadrootsKitBindings22FfiIdentityStateRecordV06activeE2IdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"identities"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","spelling":"FfiSettingsIdentityRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiIdentityStateRecord","identities"],"precise":"s:19RadrootsKitBindings22FfiIdentityStateRecordV10identitiesSayAA0d8SettingseG0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"identities"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","spelling":"FfiSettingsIdentityRecord"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"activeIdentityId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"lockState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiIdentityLockStateO","spelling":"FfiIdentityLockState"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"pendingImportOperationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiIdentityStateRecord","init(schemaVersion:identities:activeIdentityId:lockState:pendingImportOperationId:)"],"precise":"s:19RadrootsKitBindings22FfiIdentityStateRecordV13schemaVersion10identities06activeE2Id04lockF0022pendingImportOperationL0ACs6UInt16V_SayAA0d8SettingseG0VGSSSgAA0de4LockF0OANtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiIdentityStateRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings22FfiIdentityStateRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"pendingImportOperationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiIdentityStateRecord","pendingImportOperationId"],"precise":"s:19RadrootsKitBindings22FfiIdentityStateRecordV24pendingImportOperationIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","spelling":"FfiIdentityStateRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","spelling":"FfiIdentityStateRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiIdentityStateRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings22FfiIdentityStateRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiIdentityStateRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings22FfiIdentityStateRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiProfileStatusRecord"}],"kind":"swift.struct","path":["FfiProfileStatusRecord"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deliveryId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileStatusRecord","deliveryId"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV10deliveryIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"settlement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","spelling":"FfiOperationSettlementRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileStatusRecord","settlement"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV10settlementAA0d19OperationSettlementG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiProfileStatusRecord","operationId"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV11operationIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"revision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings14FfiOutboxStateO","spelling":"FfiOutboxState"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deliveryId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"createdAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"updatedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"settlement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","spelling":"FfiOperationSettlementRecord"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiProfileStatusRecord","init(schemaVersion:operationId:revision:authorPublicKey:state:deliveryId:createdAtUnixMs:updatedAtUnixMs:settlement:)"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV13schemaVersion11operationId8revision15authorPublicKey5state08deliveryK015createdAtUnixMs07updatedstU010settlementACs6UInt16V_SSs6UInt64VSSAA0D11OutboxStateOSSSgA2pA0d19OperationSettlementG0VSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiProfileStatusRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiProfileStatusRecord","authorPublicKey"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV15authorPublicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"createdAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiProfileStatusRecord","createdAtUnixMs"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV15createdAtUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"updatedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiProfileStatusRecord","updatedAtUnixMs"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV15updatedAtUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiProfileStatusRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiProfileStatusRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings14FfiOutboxStateO","spelling":"FfiOutboxState"}],"kind":"swift.property","path":["FfiProfileStatusRecord","state"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV5stateAA0D11OutboxStateOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"revision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiProfileStatusRecord","revision"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV8revisions6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRevisionInputRecord"}],"kind":"swift.struct","path":["FfiRevisionInputRecord"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sourceKind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["FfiRevisionInputRecord","sourceKind"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV10sourceKinds6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"}],"kind":"swift.property","path":["FfiRevisionInputRecord","commandType"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV11commandTypeAA0d10AddCommandI0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"replacement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"}],"kind":"swift.property","path":["FfiRevisionInputRecord","replacement"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV11replacementAA0d8AddDraftF0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"cardId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sourceEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sourceKind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sourceAddress"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"replacement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiRevisionInputRecord","init(schemaVersion:commandType:cardId:sourceEventId:sourceKind:sourceAddress:authorPublicKey:replacement:)"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV13schemaVersion11commandType6cardId011sourceEventM00N4Kind0N7Address15authorPublicKey11replacementACs6UInt16V_AA0d10AddCommandK0OS2Ss6UInt32VSSSgSSAA0dw5DraftF0Vtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiRevisionInputRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sourceAddress"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiRevisionInputRecord","sourceAddress"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV13sourceAddressSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sourceEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRevisionInputRecord","sourceEventId"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV13sourceEventIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRevisionInputRecord","authorPublicKey"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV15authorPublicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","spelling":"FfiRevisionInputRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","spelling":"FfiRevisionInputRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiRevisionInputRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiRevisionInputRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cardId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRevisionInputRecord","cardId"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV6cardIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRuntimeChangeRecord"}],"kind":"swift.struct","path":["FfiRuntimeChangeRecord"],"precise":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"generation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiRuntimeChangeRecord","generation"],"precise":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV10generations6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"generation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO","spelling":"FfiRuntimeChangeKind"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"entityId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiRuntimeChangeRecord","init(schemaVersion:generation:kind:entityId:)"],"precise":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV13schemaVersion10generation4kind8entityIdACs6UInt16V_s6UInt64VAA0deF4KindOSSSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiRuntimeChangeRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV","spelling":"FfiRuntimeChangeRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV","spelling":"FfiRuntimeChangeRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiRuntimeChangeRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiRuntimeChangeRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO","spelling":"FfiRuntimeChangeKind"}],"kind":"swift.property","path":["FfiRuntimeChangeRecord","kind"],"precise":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV4kindAA0deF4KindOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"entityId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiRuntimeChangeRecord","entityId"],"precise":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV8entityIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiStorageStatusRecord"}],"kind":"swift.struct","path":["FfiStorageStatusRecord"],"precise":"s:19RadrootsKitBindings22FfiStorageStatusRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"backend"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"openMode"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"shutdown"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"integrity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiStorageStatusRecord","init(schemaVersion:backend:openMode:shutdown:integrity:)"],"precise":"s:19RadrootsKitBindings22FfiStorageStatusRecordV13schemaVersion7backend8openMode8shutdown9integrityACs6UInt16V_S4Stcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiStorageStatusRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings22FfiStorageStatusRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","spelling":"FfiStorageStatusRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","spelling":"FfiStorageStatusRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiStorageStatusRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings22FfiStorageStatusRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiStorageStatusRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings22FfiStorageStatusRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"backend"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiStorageStatusRecord","backend"],"precise":"s:19RadrootsKitBindings22FfiStorageStatusRecordV7backendSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"openMode"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiStorageStatusRecord","openMode"],"precise":"s:19RadrootsKitBindings22FfiStorageStatusRecordV8openModeSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shutdown"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiStorageStatusRecord","shutdown"],"precise":"s:19RadrootsKitBindings22FfiStorageStatusRecordV8shutdownSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"integrity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiStorageStatusRecord","integrity"],"precise":"s:19RadrootsKitBindings22FfiStorageStatusRecordV9integritySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiTodayRelaySyncState"}],"kind":"swift.enum","path":["FfiTodayRelaySyncState"],"precise":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"offline"}],"kind":"swift.enum.case","path":["FfiTodayRelaySyncState","offline"],"precise":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO7offlineyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"partial"}],"kind":"swift.enum.case","path":["FfiTodayRelaySyncState","partial"],"precise":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO7partialyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"complete"}],"kind":"swift.enum.case","path":["FfiTodayRelaySyncState","complete"],"precise":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO8completeyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiDraftFormMediaRecord"}],"kind":"swift.struct","path":["FfiDraftFormMediaRecord"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"opaqueReference"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sha256"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"mediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"byteSize"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"alt"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"preparedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiDraftFormMediaRecord","init(schemaVersion:opaqueReference:url:sha256:mediaType:byteSize:width:height:alt:preparedAtUnixS:)"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV13schemaVersion15opaqueReference3url6sha2569mediaType8byteSize5width6height3alt15preparedAtUnixSACs6UInt16V_S4Ss6UInt64Vs6UInt32VASSSAQtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"opaqueReference"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","opaqueReference"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV15opaqueReferenceSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preparedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","preparedAtUnixS"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV15preparedAtUnixSs6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","spelling":"FfiDraftFormMediaRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","spelling":"FfiDraftFormMediaRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiDraftFormMediaRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"alt"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","alt"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV3altSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","url"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV3urlSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiDraftFormMediaRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","width"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV5widths6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","height"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV6heights6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sha256"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","sha256"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV6sha256SSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"byteSize"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","byteSize"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV8byteSizes6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","mediaType"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV9mediaTypeSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiIdentityStatusRecord"}],"kind":"swift.struct","path":["FfiIdentityStatusRecord"],"precise":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"hostSignerConfigured"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiIdentityStatusRecord","init(schemaVersion:publicKey:hostSignerConfigured:)"],"precise":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV13schemaVersion9publicKey20hostSignerConfiguredACs6UInt16V_SSSbtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiIdentityStatusRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hostSignerConfigured"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiIdentityStatusRecord","hostSignerConfigured"],"precise":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV20hostSignerConfiguredSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","spelling":"FfiIdentityStatusRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","spelling":"FfiIdentityStatusRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiIdentityStatusRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiIdentityStatusRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiIdentityStatusRecord","publicKey"],"precise":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV9publicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMediaReferenceRecord"}],"kind":"swift.struct","path":["FfiMediaReferenceRecord"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"verification"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiMediaVerificationStateO","spelling":"FfiMediaVerificationState"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","verification"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV12verificationAA0dE17VerificationStateOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"referenceFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sha256"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"mediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"byteSize"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"alt"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"verification"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiMediaVerificationStateO","spelling":"FfiMediaVerificationState"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiMediaReferenceRecord","init(schemaVersion:referenceFingerprint:url:sha256:mediaType:width:height:byteSize:alt:verification:)"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV13schemaVersion20referenceFingerprint3url6sha2569mediaType5width6height8byteSize3alt12verificationACs6UInt16V_S3SSgAPs6UInt32VSgASs6UInt64VSgApA0dE17VerificationStateOtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"referenceFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","referenceFingerprint"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV20referenceFingerprintSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","spelling":"FfiMediaReferenceRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","spelling":"FfiMediaReferenceRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiMediaReferenceRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"alt"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","alt"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV3altSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","url"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV3urlSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiMediaReferenceRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","width"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV5widths6UInt32VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","height"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV6heights6UInt32VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sha256"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","sha256"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV6sha256SSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"byteSize"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","byteSize"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV8byteSizes6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","mediaType"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV9mediaTypeSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMobileSettingsRecord"}],"kind":"swift.struct","path":["FfiMobileSettingsRecord"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localStorage"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","spelling":"FfiLocalStoragePolicyRecord"}],"kind":"swift.property","path":["FfiMobileSettingsRecord","localStorage"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV12localStorageAA0d5Locali6PolicyG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaNetwork"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","spelling":"FfiMediaNetworkPolicyRecord"}],"kind":"swift.property","path":["FfiMobileSettingsRecord","mediaNetwork"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV12mediaNetworkAA0d5Mediai6PolicyG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"revision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"identity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","spelling":"FfiIdentityStateRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"relays"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","spelling":"FfiRelayPreferencesRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"blossom"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","spelling":"FfiBlossomPreferencesRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"mediaNetwork"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","spelling":"FfiMediaNetworkPolicyRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"localStorage"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","spelling":"FfiLocalStoragePolicyRecord"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiMobileSettingsRecord","init(schemaVersion:revision:identity:relays:blossom:mediaNetwork:localStorage:)"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV13schemaVersion8revision8identity6relays7blossom12mediaNetwork12localStorageACs6UInt16V_s6UInt64VAA0d13IdentityStateG0VAA0d16RelayPreferencesG0VAA0d7BlossomwG0VAA0d5Mediao6PolicyG0VAA0d5LocalqzG0Vtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiMobileSettingsRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","spelling":"FfiMobileSettingsRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","spelling":"FfiMobileSettingsRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiMobileSettingsRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiMobileSettingsRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"relays"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","spelling":"FfiRelayPreferencesRecord"}],"kind":"swift.property","path":["FfiMobileSettingsRecord","relays"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV6relaysAA0d16RelayPreferencesG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"blossom"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","spelling":"FfiBlossomPreferencesRecord"}],"kind":"swift.property","path":["FfiMobileSettingsRecord","blossom"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV7blossomAA0d18BlossomPreferencesG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"identity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","spelling":"FfiIdentityStateRecord"}],"kind":"swift.property","path":["FfiMobileSettingsRecord","identity"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV8identityAA0d13IdentityStateG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"revision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiMobileSettingsRecord","revision"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV8revisions6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRetractionDraftInput"}],"kind":"swift.struct","path":["FfiRetractionDraftInput"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"targetKind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["FfiRetractionDraftInput","targetKind"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV10targetKinds6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"}],"kind":"swift.property","path":["FfiRetractionDraftInput","commandType"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV11commandTypeAA0d10AddCommandI0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"targetCardId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRetractionDraftInput","targetCardId"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV12targetCardIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"targetCardId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"targetEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"targetKind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"targetAddress"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"reason"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiRetractionDraftInput","init(schemaVersion:commandType:targetCardId:targetEventId:targetKind:targetAddress:reason:)"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV13schemaVersion11commandType12targetCardId0l5EventN00L4Kind0L7Address6reasonACs6UInt16V_AA0d10AddCommandK0OS2Ss6UInt32VSSSgSStcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiRetractionDraftInput","schemaVersion"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"targetAddress"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiRetractionDraftInput","targetAddress"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV13targetAddressSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"targetEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRetractionDraftInput","targetEventId"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV13targetEventIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","spelling":"FfiRetractionDraftInput"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","spelling":"FfiRetractionDraftInput"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiRetractionDraftInput","==(_:_:)"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiRetractionDraftInput","hash(into:)"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"reason"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRetractionDraftInput","reason"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV6reasonSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRevisionStatusRecord"}],"kind":"swift.struct","path":["FfiRevisionStatusRecord"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"retraction"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiRevisionStatusRecord","retraction"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV10retractionAA0d5DraftfG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRevisionStatusRecord","operationId"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV11operationIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"replacement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.property","path":["FfiRevisionStatusRecord","replacement"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV11replacementAA0d5DraftfG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"replacement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"retraction"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"policy"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiRevisionPolicyO","spelling":"FfiRevisionPolicy"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"phase"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiRevisionPhaseO","spelling":"FfiRevisionPhase"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiRevisionStatusRecord","init(schemaVersion:operationId:replacement:retraction:policy:phase:)"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV13schemaVersion11operationId11replacement10retraction6policy5phaseACs6UInt16V_SSAA0d5DraftfG0VAMSgAA0dE6PolicyOAA0dE5PhaseOtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiRevisionStatusRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiRevisionStatusRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiRevisionStatusRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiRevisionPhaseO","spelling":"FfiRevisionPhase"}],"kind":"swift.property","path":["FfiRevisionStatusRecord","phase"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV5phaseAA0dE5PhaseOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"policy"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiRevisionPolicyO","spelling":"FfiRevisionPolicy"}],"kind":"swift.property","path":["FfiRevisionStatusRecord","policy"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV6policyAA0dE6PolicyOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiBlossomEvidenceRecord"}],"kind":"swift.struct","path":["FfiBlossomEvidenceRecord"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"errorPhase"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","errorPhase"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV10errorPhaseSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"httpStatus"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","httpStatus"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV10httpStatuss6UInt16VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"origin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"configFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"lastSuccessfulState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"transportSecurity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"observedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"httpStatus"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"errorCode"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"serverErrorCode"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"errorPhase"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"retryable"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"possibleOrphan"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"attempts"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5UInt8V","spelling":"UInt8"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiBlossomEvidenceRecord","init(schemaVersion:origin:configFingerprint:state:lastSuccessfulState:transportSecurity:observedAtUnixMs:httpStatus:errorCode:serverErrorCode:errorPhase:retryable:possibleOrphan:attempts:)"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV13schemaVersion6origin17configFingerprint5state19lastSuccessfulState17transportSecurity16observedAtUnixMs10httpStatus9errorCode011serverErrorZ00Y5Phase9retryable14possibleOrphan8attemptsACs6UInt16V_S5Ss6UInt64VSgASSgSSSgA2XS2bs5UInt8Vtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"possibleOrphan"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","possibleOrphan"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV14possibleOrphanSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"serverErrorCode"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","serverErrorCode"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV15serverErrorCodeSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"observedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","observedAtUnixMs"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV16observedAtUnixMss6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","configFingerprint"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV17configFingerprintSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"transportSecurity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","transportSecurity"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV17transportSecuritySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lastSuccessfulState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","lastSuccessfulState"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV19lastSuccessfulStateSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","spelling":"FfiBlossomEvidenceRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","spelling":"FfiBlossomEvidenceRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiBlossomEvidenceRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiBlossomEvidenceRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","state"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV5stateSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"origin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","origin"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV6originSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"attempts"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5UInt8V","spelling":"UInt8"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","attempts"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV8attemptss5UInt8Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"errorCode"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","errorCode"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV9errorCodeSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"retryable"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","retryable"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV9retryableSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiIdentityCommandRecord"}],"kind":"swift.struct","path":["FfiIdentityCommandRecord"],"precise":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"identityId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiIdentityCommandRecord","identityId"],"precise":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV10identityIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiIdentityCommandRecord","operationId"],"precise":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV11operationIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiIdentityCommandKindO","spelling":"FfiIdentityCommandKind"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"identityId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiIdentityCommandRecord","init(schemaVersion:kind:operationId:identityId:publicKey:)"],"precise":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV13schemaVersion4kind11operationId08identityL09publicKeyACs6UInt16V_AA0deF4KindOSSSgA2Mtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiIdentityCommandRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","spelling":"FfiIdentityCommandRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","spelling":"FfiIdentityCommandRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiIdentityCommandRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiIdentityCommandRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiIdentityCommandKindO","spelling":"FfiIdentityCommandKind"}],"kind":"swift.property","path":["FfiIdentityCommandRecord","kind"],"precise":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV4kindAA0deF4KindOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiIdentityCommandRecord","publicKey"],"precise":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV9publicKeySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRelayAccessPreference"}],"kind":"swift.enum","path":["FfiRelayAccessPreference"],"precise":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"readOnly"}],"kind":"swift.enum.case","path":["FfiRelayAccessPreference","readOnly"],"precise":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO8readOnlyyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"readWrite"}],"kind":"swift.enum.case","path":["FfiRelayAccessPreference","readWrite"],"precise":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO9readWriteyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRelayPreferenceRecord"}],"kind":"swift.struct","path":["FfiRelayPreferenceRecord"],"precise":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"access"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO","spelling":"FfiRelayAccessPreference"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiRelayPreferenceRecord","init(schemaVersion:url:access:)"],"precise":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV13schemaVersion3url6accessACs6UInt16V_SSAA0de6AccessF0Otcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiRelayPreferenceRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","spelling":"FfiRelayPreferenceRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","spelling":"FfiRelayPreferenceRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiRelayPreferenceRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRelayPreferenceRecord","url"],"precise":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV3urlSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiRelayPreferenceRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"access"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO","spelling":"FfiRelayAccessPreference"}],"kind":"swift.property","path":["FfiRelayPreferenceRecord","access"],"precise":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV6accessAA0de6AccessF0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiReplaceSettingsRecord"}],"kind":"swift.struct","path":["FfiReplaceSettingsRecord"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localStorage"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","spelling":"FfiLocalStoragePolicyRecord"}],"kind":"swift.property","path":["FfiReplaceSettingsRecord","localStorage"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV12localStorageAA0d5Locali6PolicyG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaNetwork"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","spelling":"FfiMediaNetworkPolicyRecord"}],"kind":"swift.property","path":["FfiReplaceSettingsRecord","mediaNetwork"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV12mediaNetworkAA0d5Mediai6PolicyG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"relays"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","spelling":"FfiRelayPreferencesRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"blossom"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","spelling":"FfiBlossomPreferencesRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"mediaNetwork"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","spelling":"FfiMediaNetworkPolicyRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"localStorage"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","spelling":"FfiLocalStoragePolicyRecord"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiReplaceSettingsRecord","init(schemaVersion:expectedRevision:relays:blossom:mediaNetwork:localStorage:)"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV13schemaVersion16expectedRevision6relays7blossom12mediaNetwork12localStorageACs6UInt16V_s6UInt64VAA0d16RelayPreferencesG0VAA0d7BlossomuG0VAA0d5Mediao6PolicyG0VAA0d5LocalqxG0Vtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiReplaceSettingsRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiReplaceSettingsRecord","expectedRevision"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV16expectedRevisions6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","spelling":"FfiReplaceSettingsRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","spelling":"FfiReplaceSettingsRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiReplaceSettingsRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiReplaceSettingsRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"relays"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","spelling":"FfiRelayPreferencesRecord"}],"kind":"swift.property","path":["FfiReplaceSettingsRecord","relays"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV6relaysAA0d16RelayPreferencesG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"blossom"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","spelling":"FfiBlossomPreferencesRecord"}],"kind":"swift.property","path":["FfiReplaceSettingsRecord","blossom"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV7blossomAA0d18BlossomPreferencesG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiTodayProjectionUpdate"}],"kind":"swift.enum","path":["FfiTodayProjectionUpdate"],"precise":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"incremental"}],"kind":"swift.enum.case","path":["FfiTodayProjectionUpdate","incremental"],"precise":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO11incrementalyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rebuild"}],"kind":"swift.enum.case","path":["FfiTodayProjectionUpdate","rebuild"],"precise":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO7rebuildyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"SignerAvailabilityRecord"}],"kind":"swift.enum","path":["SignerAvailabilityRecord"],"precise":"s:19RadrootsKitBindings24SignerAvailabilityRecordO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unavailable"}],"kind":"swift.enum.case","path":["SignerAvailabilityRecord","unavailable"],"precise":"s:19RadrootsKitBindings24SignerAvailabilityRecordO11unavailableyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"busy"}],"kind":"swift.enum.case","path":["SignerAvailabilityRecord","busy"],"precise":"s:19RadrootsKitBindings24SignerAvailabilityRecordO4busyyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ready"}],"kind":"swift.enum.case","path":["SignerAvailabilityRecord","ready"],"precise":"s:19RadrootsKitBindings24SignerAvailabilityRecordO5readyyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"locked"}],"kind":"swift.enum.case","path":["SignerAvailabilityRecord","locked"],"precise":"s:19RadrootsKitBindings24SignerAvailabilityRecordO6lockedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMediaCacheStatusRecord"}],"kind":"swift.struct","path":["FfiMediaCacheStatusRecord"],"precise":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"totalBytes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiMediaCacheStatusRecord","totalBytes"],"precise":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV10totalBytess6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"artifactCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["FfiMediaCacheStatusRecord","artifactCount"],"precise":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV13artifactCounts6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"artifactCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"totalBytes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"configurationFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiMediaCacheStatusRecord","init(schemaVersion:artifactCount:totalBytes:configurationFingerprint:)"],"precise":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV13schemaVersion13artifactCount10totalBytes24configurationFingerprintACs6UInt16V_s6UInt32Vs6UInt64VSSSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiMediaCacheStatusRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configurationFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiMediaCacheStatusRecord","configurationFingerprint"],"precise":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV24configurationFingerprintSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","spelling":"FfiMediaCacheStatusRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","spelling":"FfiMediaCacheStatusRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiMediaCacheStatusRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiMediaCacheStatusRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMediaOperationProtocol"},{"kind":"text","spelling":" : AnyObject, "},{"kind":"typeIdentifier","preciseIdentifier":"s:s8SendableP","spelling":"Sendable"}],"kind":"swift.protocol","path":["FfiMediaOperationProtocol"],"precise":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isCancelled"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.method","path":["FfiMediaOperationProtocol","isCancelled()"],"precise":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP11isCancelledSbyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.method","path":["FfiMediaOperationProtocol","operationId()"],"precise":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP11operationIdSSyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cancel"},{"kind":"text","spelling":"()"}],"kind":"swift.method","path":["FfiMediaOperationProtocol","cancel()"],"precise":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP6cancelyyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMediaVerificationState"}],"kind":"swift.enum","path":["FfiMediaVerificationState"],"precise":"s:19RadrootsKitBindings25FfiMediaVerificationStateO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unavailable"}],"kind":"swift.enum.case","path":["FfiMediaVerificationState","unavailable"],"precise":"s:19RadrootsKitBindings25FfiMediaVerificationStateO11unavailableyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"failed"}],"kind":"swift.enum.case","path":["FfiMediaVerificationState","failed"],"precise":"s:19RadrootsKitBindings25FfiMediaVerificationStateO6failedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"pending"}],"kind":"swift.enum.case","path":["FfiMediaVerificationState","pending"],"precise":"s:19RadrootsKitBindings25FfiMediaVerificationStateO7pendingyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"verified"}],"kind":"swift.enum.case","path":["FfiMediaVerificationState","verified"],"precise":"s:19RadrootsKitBindings25FfiMediaVerificationStateO8verifiedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRelayPreferencesRecord"}],"kind":"swift.struct","path":["FfiRelayPreferencesRecord"],"precise":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"environment"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","spelling":"FfiMobileNetworkEnvironment"}],"kind":"swift.property","path":["FfiRelayPreferencesRecord","environment"],"precise":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV11environmentAA0D24MobileNetworkEnvironmentOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"environment"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","spelling":"FfiMobileNetworkEnvironment"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"endpoints"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","spelling":"FfiRelayPreferenceRecord"},{"kind":"text","spelling":"])"}],"kind":"swift.init","path":["FfiRelayPreferencesRecord","init(schemaVersion:environment:endpoints:)"],"precise":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV13schemaVersion11environment9endpointsACs6UInt16V_AA0D24MobileNetworkEnvironmentOSayAA0de10PreferenceG0VGtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiRelayPreferencesRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","spelling":"FfiRelayPreferencesRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","spelling":"FfiRelayPreferencesRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiRelayPreferencesRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiRelayPreferencesRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"endpoints"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","spelling":"FfiRelayPreferenceRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiRelayPreferencesRecord","endpoints"],"precise":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV9endpointsSayAA0de10PreferenceG0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiSettingsIdentityRecord"}],"kind":"swift.struct","path":["FfiSettingsIdentityRecord"],"precise":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiSettingsIdentityRecord","init(schemaVersion:id:publicKey:)"],"precise":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV13schemaVersion2id9publicKeyACs6UInt16V_S2Stcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiSettingsIdentityRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","spelling":"FfiSettingsIdentityRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","spelling":"FfiSettingsIdentityRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiSettingsIdentityRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiSettingsIdentityRecord","id"],"precise":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV2idSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiSettingsIdentityRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiSettingsIdentityRecord","publicKey"],"precise":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV9publicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ProtectedDataAvailability"}],"kind":"swift.enum","path":["ProtectedDataAvailability"],"precise":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unavailable"}],"kind":"swift.enum.case","path":["ProtectedDataAvailability","unavailable"],"precise":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO11unavailableyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"available"}],"kind":"swift.enum.case","path":["ProtectedDataAvailability","available"],"precise":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO9availableyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRelayStatusReportRecord"}],"kind":"swift.struct","path":["FfiRelayStatusReportRecord"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"readAvailability"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"writeAvailability"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"relays"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","spelling":"FfiRelayStatusRecord"},{"kind":"text","spelling":"])"}],"kind":"swift.init","path":["FfiRelayStatusReportRecord","init(schemaVersion:profile:state:readAvailability:writeAvailability:relays:)"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV13schemaVersion7profile5state16readAvailability05writeN06relaysACs6UInt16V_S4SSayAA0defH0VGtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiRelayStatusReportRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"readAvailability"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRelayStatusReportRecord","readAvailability"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV16readAvailabilitySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"writeAvailability"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRelayStatusReportRecord","writeAvailability"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV17writeAvailabilitySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","spelling":"FfiRelayStatusReportRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","spelling":"FfiRelayStatusReportRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiRelayStatusReportRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiRelayStatusReportRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRelayStatusReportRecord","state"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV5stateSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"relays"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","spelling":"FfiRelayStatusRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiRelayStatusReportRecord","relays"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV6relaysSayAA0defH0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRelayStatusReportRecord","profile"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV7profileSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiBlossomEndpointAuthority"}],"kind":"swift.enum","path":["FfiBlossomEndpointAuthority"],"precise":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publicWebPki"}],"kind":"swift.enum.case","path":["FfiBlossomEndpointAuthority","publicWebPki"],"precise":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO12publicWebPkiyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"loopbackDevelopment"}],"kind":"swift.enum.case","path":["FfiBlossomEndpointAuthority","loopbackDevelopment"],"precise":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO19loopbackDevelopmentyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"privateNetworkDevelopment"}],"kind":"swift.enum.case","path":["FfiBlossomEndpointAuthority","privateNetworkDevelopment"],"precise":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO25privateNetworkDevelopmentyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiBlossomPreferencesRecord"}],"kind":"swift.struct","path":["FfiBlossomPreferencesRecord"],"precise":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"environment"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","spelling":"FfiMobileNetworkEnvironment"}],"kind":"swift.property","path":["FfiBlossomPreferencesRecord","environment"],"precise":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV11environmentAA0D24MobileNetworkEnvironmentOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"primaryOrigin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomPreferencesRecord","primaryOrigin"],"precise":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV13primaryOriginSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"environment"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","spelling":"FfiMobileNetworkEnvironment"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authority"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO","spelling":"FfiBlossomAuthorityPreference"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"primaryOrigin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"fallbackOrigins"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"])"}],"kind":"swift.init","path":["FfiBlossomPreferencesRecord","init(schemaVersion:environment:authority:primaryOrigin:fallbackOrigins:)"],"precise":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV13schemaVersion11environment9authority13primaryOrigin15fallbackOriginsACs6UInt16V_AA0D24MobileNetworkEnvironmentOAA0dE19AuthorityPreferenceOSSSaySSGtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiBlossomPreferencesRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fallbackOrigins"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiBlossomPreferencesRecord","fallbackOrigins"],"precise":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV15fallbackOriginsSaySSGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","spelling":"FfiBlossomPreferencesRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","spelling":"FfiBlossomPreferencesRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiBlossomPreferencesRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiBlossomPreferencesRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authority"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO","spelling":"FfiBlossomAuthorityPreference"}],"kind":"swift.property","path":["FfiBlossomPreferencesRecord","authority"],"precise":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV9authorityAA0dE19AuthorityPreferenceOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiLocalStoragePolicyRecord"}],"kind":"swift.struct","path":["FfiLocalStoragePolicyRecord"],"precise":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"mediaCacheBytes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"mediaCacheArtifacts"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiLocalStoragePolicyRecord","init(schemaVersion:mediaCacheBytes:mediaCacheArtifacts:)"],"precise":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV13schemaVersion15mediaCacheBytes0kL9ArtifactsACs6UInt16V_s6UInt64Vs6UInt32Vtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiLocalStoragePolicyRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaCacheBytes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiLocalStoragePolicyRecord","mediaCacheBytes"],"precise":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV15mediaCacheBytess6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaCacheArtifacts"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["FfiLocalStoragePolicyRecord","mediaCacheArtifacts"],"precise":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV19mediaCacheArtifactss6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","spelling":"FfiLocalStoragePolicyRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","spelling":"FfiLocalStoragePolicyRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiLocalStoragePolicyRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiLocalStoragePolicyRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMediaNetworkPolicyRecord"}],"kind":"swift.struct","path":["FfiMediaNetworkPolicyRecord"],"precise":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"allowCellularDownloads"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"allowCellularUploads"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"allowBackgroundTransfers"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiMediaNetworkPolicyRecord","init(schemaVersion:allowCellularDownloads:allowCellularUploads:allowBackgroundTransfers:)"],"precise":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV13schemaVersion22allowCellularDownloads0kL7Uploads0K19BackgroundTransfersACs6UInt16V_S3btcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiMediaNetworkPolicyRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allowCellularUploads"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiMediaNetworkPolicyRecord","allowCellularUploads"],"precise":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV20allowCellularUploadsSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allowCellularDownloads"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiMediaNetworkPolicyRecord","allowCellularDownloads"],"precise":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV22allowCellularDownloadsSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allowBackgroundTransfers"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiMediaNetworkPolicyRecord","allowBackgroundTransfers"],"precise":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV24allowBackgroundTransfersSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","spelling":"FfiMediaNetworkPolicyRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","spelling":"FfiMediaNetworkPolicyRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiMediaNetworkPolicyRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiMediaNetworkPolicyRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMobileNetworkEnvironment"}],"kind":"swift.enum","path":["FfiMobileNetworkEnvironment"],"precise":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"physicalDevice"}],"kind":"swift.enum.case","path":["FfiMobileNetworkEnvironment","physicalDevice"],"precise":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO14physicalDeviceyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"`public`"}],"kind":"swift.enum.case","path":["FfiMobileNetworkEnvironment","public"],"precise":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO6publicyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simulator"}],"kind":"swift.enum.case","path":["FfiMobileNetworkEnvironment","simulator"],"precise":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO9simulatoryA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiSettingsTransitionRecord"}],"kind":"swift.struct","path":["FfiSettingsTransitionRecord"],"precise":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"settings"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","spelling":"FfiMobileSettingsRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"runtimeRestartRequired"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outboxRequeueRequired"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"mediaCacheInvalidationRequired"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiSettingsTransitionRecord","init(schemaVersion:settings:runtimeRestartRequired:outboxRequeueRequired:mediaCacheInvalidationRequired:)"],"precise":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV13schemaVersion8settings22runtimeRestartRequired013outboxRequeueM0022mediaCacheInvalidationM0ACs6UInt16V_AA0d6MobileeG0VS3btcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiSettingsTransitionRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outboxRequeueRequired"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiSettingsTransitionRecord","outboxRequeueRequired"],"precise":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV21outboxRequeueRequiredSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"runtimeRestartRequired"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiSettingsTransitionRecord","runtimeRestartRequired"],"precise":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV22runtimeRestartRequiredSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","spelling":"FfiSettingsTransitionRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","spelling":"FfiSettingsTransitionRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiSettingsTransitionRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaCacheInvalidationRequired"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiSettingsTransitionRecord","mediaCacheInvalidationRequired"],"precise":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV30mediaCacheInvalidationRequiredSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiSettingsTransitionRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"settings"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","spelling":"FfiMobileSettingsRecord"}],"kind":"swift.property","path":["FfiSettingsTransitionRecord","settings"],"precise":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV8settingsAA0d6MobileeG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiOperationSettlementRecord"}],"kind":"swift.struct","path":["FfiOperationSettlementRecord"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deliveryPlans"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","deliveryPlans"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV13deliveryPlanss6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"indeterminate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","indeterminate"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV13indeterminates6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"artifacts"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"signed"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"admitted"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"pending"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"retryable"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"indeterminate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"failedTerminal"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"cancelled"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deliveryPlans"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deliverySatisfied"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deliveryPending"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deliveryRetryable"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deliveryExhausted"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deliveryFailedTerminal"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deliveryCancelled"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiOperationSettlementRecord","init(schemaVersion:artifacts:signed:admitted:pending:retryable:indeterminate:failedTerminal:cancelled:deliveryPlans:deliverySatisfied:deliveryPending:deliveryRetryable:deliveryExhausted:deliveryFailedTerminal:deliveryCancelled:)"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV13schemaVersion9artifacts6signed8admitted7pending9retryable13indeterminate14failedTerminal9cancelled13deliveryPlans0S9Satisfied0S7Pending0S9Retryable0S9Exhausted0s6FailedQ00S9CancelledACs6UInt16V_A15Utcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"failedTerminal"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","failedTerminal"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV14failedTerminals6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deliveryPending"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","deliveryPending"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV15deliveryPendings6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deliveryCancelled"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","deliveryCancelled"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV17deliveryCancelleds6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deliveryExhausted"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","deliveryExhausted"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV17deliveryExhausteds6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deliveryRetryable"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","deliveryRetryable"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV17deliveryRetryables6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deliverySatisfied"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","deliverySatisfied"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV17deliverySatisfieds6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deliveryFailedTerminal"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","deliveryFailedTerminal"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV22deliveryFailedTerminals6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","spelling":"FfiOperationSettlementRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","spelling":"FfiOperationSettlementRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiOperationSettlementRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiOperationSettlementRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signed"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","signed"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV6signeds6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"pending"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","pending"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV7pendings6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"admitted"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","admitted"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV8admitteds6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"artifacts"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","artifacts"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV9artifactss6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cancelled"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","cancelled"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV9cancelleds6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"retryable"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","retryable"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV9retryables6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiBlossomAuthorityPreference"}],"kind":"swift.enum","path":["FfiBlossomAuthorityPreference"],"precise":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publicWebPki"}],"kind":"swift.enum.case","path":["FfiBlossomAuthorityPreference","publicWebPki"],"precise":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO12publicWebPkiyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"loopbackDevelopment"}],"kind":"swift.enum.case","path":["FfiBlossomAuthorityPreference","loopbackDevelopment"],"precise":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO19loopbackDevelopmentyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"privateNetworkDevelopment"}],"kind":"swift.enum.case","path":["FfiBlossomAuthorityPreference","privateNetworkDevelopment"],"precise":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO25privateNetworkDevelopmentyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiBlossomConfigurationRecord"}],"kind":"swift.struct","path":["FfiBlossomConfigurationRecord"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"primaryOrigin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomConfigurationRecord","primaryOrigin"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV13primaryOriginSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"hostKind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"endpointAuthority"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"primaryOrigin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"fallbackOrigins"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"configFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiBlossomConfigurationRecord","init(schemaVersion:hostKind:endpointAuthority:primaryOrigin:fallbackOrigins:configFingerprint:)"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV13schemaVersion8hostKind17endpointAuthority13primaryOrigin15fallbackOrigins17configFingerprintACs6UInt16V_S3SSaySSGSStcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiBlossomConfigurationRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fallbackOrigins"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiBlossomConfigurationRecord","fallbackOrigins"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV15fallbackOriginsSaySSGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomConfigurationRecord","configFingerprint"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV17configFingerprintSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"endpointAuthority"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomConfigurationRecord","endpointAuthority"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV17endpointAuthoritySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","spelling":"FfiBlossomConfigurationRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","spelling":"FfiBlossomConfigurationRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiBlossomConfigurationRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiBlossomConfigurationRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hostKind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomConfigurationRecord","hostKind"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV8hostKindSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiProfileMetadataInputRecord"}],"kind":"swift.struct","path":["FfiProfileMetadataInputRecord"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"displayName"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileMetadataInputRecord","displayName"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV11displayNameSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"displayName"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"about"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"picture"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"banner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"nip05"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"bot"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiProfileMetadataInputRecord","init(schemaVersion:name:displayName:about:picture:banner:nip05:bot:)"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV13schemaVersion4name11displayName5about7picture6banner5nip053botACs6UInt16V_S2SSgAnA0d13PreparedMediaG0VSgAqNSbSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiProfileMetadataInputRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","spelling":"FfiProfileMetadataInputRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","spelling":"FfiProfileMetadataInputRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiProfileMetadataInputRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bot"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileMetadataInputRecord","bot"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV3botSbSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiProfileMetadataInputRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiProfileMetadataInputRecord","name"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV4nameSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"about"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileMetadataInputRecord","about"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV5aboutSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nip05"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileMetadataInputRecord","nip05"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV5nip05SSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"banner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileMetadataInputRecord","banner"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV6bannerAA0d13PreparedMediaG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"picture"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileMetadataInputRecord","picture"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV7pictureAA0d13PreparedMediaG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiSubscriptionHandleProtocol"},{"kind":"text","spelling":" : AnyObject, "},{"kind":"typeIdentifier","preciseIdentifier":"s:s8SendableP","spelling":"Sendable"}],"kind":"swift.protocol","path":["FfiSubscriptionHandleProtocol"],"precise":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unsubscribe"},{"kind":"text","spelling":"()"}],"kind":"swift.method","path":["FfiSubscriptionHandleProtocol","unsubscribe()"],"precise":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP11unsubscribeyyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isActive"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.method","path":["FfiSubscriptionHandleProtocol","isActive()"],"precise":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP8isActiveSbyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiVerifiedMediaArtifactRecord"}],"kind":"swift.struct","path":["FfiVerifiedMediaArtifactRecord"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiVerifiedMediaArtifactRecord","artifactId"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV10artifactIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiVerifiedMediaArtifactRecord","operationId"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV11operationIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"byteSize"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"mediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiVerifiedMediaArtifactRecord","init(schemaVersion:operationId:artifactId:byteSize:mediaType:width:height:)"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV13schemaVersion11operationId08artifactL08byteSize9mediaType5width6heightACs6UInt16V_SSSgSSs6UInt64VSSs6UInt32VAQtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiVerifiedMediaArtifactRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","spelling":"FfiVerifiedMediaArtifactRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","spelling":"FfiVerifiedMediaArtifactRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiVerifiedMediaArtifactRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiVerifiedMediaArtifactRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["FfiVerifiedMediaArtifactRecord","width"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV5widths6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["FfiVerifiedMediaArtifactRecord","height"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV6heights6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"byteSize"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiVerifiedMediaArtifactRecord","byteSize"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV8byteSizes6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiVerifiedMediaArtifactRecord","mediaType"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV9mediaTypeSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"logInfo"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"msg"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.func","path":["logInfo(msg:)"],"precise":"s:19RadrootsKitBindings7logInfo3msgySS_tKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"logDebug"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"msg"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.func","path":["logDebug(msg:)"],"precise":"s:19RadrootsKitBindings8logDebug3msgySS_tKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"logError"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"msg"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.func","path":["logError(msg:)"],"precise":"s:19RadrootsKitBindings8logError3msgySS_tKF"}]}
+{"generator":"Apple Swift version 6.3.3 (swiftlang-6.3.3.1.3 clang-2100.1.1.101)","module":{"name":"RadrootsKitBindings","platform":{"architecture":"arm64","environment":"simulator","operatingSystem":{"minimumVersion":{"major":18,"minor":0},"name":"ios"},"vendor":"apple"}},"relationships":[{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A10HostSignerP","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A10HostSignerP","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A11ErrorRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A11ErrorRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A11ErrorRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A11ErrorRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A11ErrorRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A11ErrorRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A15RuntimeObserverP","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A15RuntimeObserverP","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A7RuntimeC","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A7RuntimeC","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A7RuntimeC","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:10Foundation14LocalizedErrorP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s5ErrorP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s5ErrorP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings0A8AppErrorO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings11FfiMeRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings11FfiMeRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings11FfiMeRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings11FfiMeRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings11FfiMeRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings11FfiMeRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings12FfiDraftKindO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings12FfiDraftKindO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings12FfiDraftKindO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings12FfiDraftKindO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings12FfiDraftKindO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings12FfiDraftKindO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings13FfiMediaStageO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings13FfiMediaStageO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings13FfiMediaStageO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings13FfiMediaStageO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings13FfiMediaStageO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings13FfiMediaStageO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings14FfiOutboxStateO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings14FfiOutboxStateO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings14FfiOutboxStateO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings14FfiOutboxStateO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings14FfiOutboxStateO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings14FfiOutboxStateO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings15FfiAddFieldKindO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings15FfiAddFieldKindO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings15FfiAddFieldKindO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings15FfiAddFieldKindO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings15FfiAddFieldKindO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings15FfiAddFieldKindO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAddDraftInputV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAddDraftInputV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAddDraftInputV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAddDraftInputV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAddDraftInputV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAddDraftInputV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiProfileRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiProfileRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiProfileRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiProfileRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiProfileRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiProfileRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiThreadProfileO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiThreadProfileO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiThreadProfileO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiThreadProfileO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiThreadProfileO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiThreadProfileO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiMediaOperationC","target":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiMediaOperationC","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiMediaOperationC","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiRevisionPolicyO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiRevisionPolicyO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiRevisionPolicyO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiRevisionPolicyO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiRevisionPolicyO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiRevisionPolicyO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiShutdownRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiShutdownRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiShutdownRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiShutdownRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiShutdownRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17FfiShutdownRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17HostSigningResultV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17HostSigningResultV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17HostSigningResultV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17HostSigningResultV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17HostSigningResultV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings17HostSigningResultV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBlossomHostKindO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBlossomHostKindO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBlossomHostKindO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBlossomHostKindO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBlossomHostKindO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBlossomHostKindO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiEventTimingKindO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiEventTimingKindO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiEventTimingKindO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiEventTimingKindO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiEventTimingKindO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiEventTimingKindO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningOutcomeO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningOutcomeO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningOutcomeO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningOutcomeO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningOutcomeO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningOutcomeO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningPurposeO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningPurposeO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningPurposeO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningPurposeO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningPurposeO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningPurposeO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningRequestV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningRequestV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningRequestV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningRequestV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningRequestV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18HostSigningRequestV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18SignerStatusRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18SignerStatusRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18SignerStatusRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18SignerStatusRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18SignerStatusRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings18SignerStatusRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiSearchResultTypeO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiSearchResultTypeO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiSearchResultTypeO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiSearchResultTypeO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiSearchResultTypeO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings19FfiSearchResultTypeO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiIdentityLockStateO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiIdentityLockStateO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiIdentityLockStateO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiIdentityLockStateO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiIdentityLockStateO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiIdentityLockStateO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelayAccessRecordO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelayAccessRecordO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelayAccessRecordO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelayAccessRecordO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelayAccessRecordO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelayAccessRecordO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCancellationPolicyO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCancellationPolicyO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCancellationPolicyO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCancellationPolicyO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCancellationPolicyO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCancellationPolicyO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCardLifecycleStateO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCardLifecycleStateO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCardLifecycleStateO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCardLifecycleStateO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCardLifecycleStateO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiCardLifecycleStateO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiSubscriptionHandleC","target":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiSubscriptionHandleC","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiSubscriptionHandleC","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV","target":"s:s9EscapableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","target":"s:SH"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","target":"s:SQ"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","target":"s:s16SendableMetatypeP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","target":"s:s8CopyableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","target":"s:s8SendableP"},{"kind":"conformsTo","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","target":"s:s9EscapableP"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV11operationIdSSSgvp","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV11safeMessageSSvp","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV12capabilityIdSSSgvp","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV13schemaVersion4code8category9retryable15recoveryActions11operationId010capabilityN011safeMessageACs6UInt16V_S2SSbSaySSGSSSgAOSStcfc","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV15recoveryActionsSaySSGvp","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV4codeSSvp","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV8categorySSvp","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A11ErrorRecordV9retryableSbvp","target":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC12phase1Search7context5query5limit9asOfUnixSSayAA03FfiF12ResultRecordVGAA0m12LocalNetworkO0V_SSs6UInt16Vs6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC12probeBlossomAA03FfiF14EvidenceRecordVyYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC12uptimeMilliss5Int64VyF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC14identityStatusAA011FfiIdentityF6RecordVyKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC14phase1SettingsAA09FfiMobileF6RecordVyYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC14sdkRelayStatusAA03FfifG12ReportRecordVSgyKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC14withHostSigner27applicationSupportDirectory12publicKeyHex016sourceGenerationM00nO15CreatedAtUnixMs13protectedData04hostG0ACSS_S2Ss6UInt64VAA09ProtectedU12AvailabilityOAA0afG0_ptYaKFZ","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC15phase1SaveDraft7draftId5input15authoredAtUnixS16expectedRevision09persistedlM2MsAA03FfiG12StatusRecordVSS_AA0r3AddG5InputVs6UInt64VAOSgAOtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC15phase1SyncToday7context8nowUnixS6updateAA03FfigF6RecordVAA0l12LocalNetworkM0V_s6UInt64VAA0lG16ProjectionUpdateOtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC15phase1TodayPage7context5limit9asOfUnixS6cursorAA03FfifG6RecordVAA0n12LocalNetworkO0V_s6UInt16Vs6UInt64VSgSSSgtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC15sdkCapabilitiesSayAA19FfiCapabilityRecordVGyF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC16configureBlossom8hostKind17endpointAuthority13primaryOrigin15fallbackOriginsyAA03Ffif4HostH0O_AA0of8EndpointJ0OSSSaySSGtKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC16phase1AddSchemasSayAA03FfiF12SchemaRecordVGyF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC16phase1DraftHeads5limitSayAA03FfiF12StatusRecordVGs6UInt16V_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC16phase1QueueDraft7draftId16expectedRevision6policy14queuedAtUnixMsAA03FfiG12StatusRecordVSS_s6UInt64VAA0qf6PolicyS0VALtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC16sdkStorageStatusAA03FfifG6RecordVyYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC16subscribeChanges8observerAA21FfiSubscriptionHandleCAA0aD8Observer_p_tKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC17phase1CancelDraft7draftId16expectedRevision17cancelledAtUnixMsAA03FfiG12StatusRecordVSS_s6UInt64VAKtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC17phase1DraftStatus7draftIdAA03FfifG6RecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC18phase1AdvanceDraft7draftId16expectedRevisionAA03FfiG12StatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC18phase1LocalNetwork7contextAA03FfifG6RecordVAG_tKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC18phase1RefreshToday7context8nowUnixS6updateAA03FfigF6RecordVAA0l12LocalNetworkM0V_s6UInt64VAA0lG16ProjectionUpdateOtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC18sdkBlossomEvidenceAA03FfifG6RecordVSgyKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC18setAppInfoPlatform8platform8bundleId7version11buildNumber0M3ShaySSSg_A4JtF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC19phase1CancelProfile11operationId16expectedRevisionAA03FfiG12StatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC19phase1CardAddParitySayAA03FfifgH6RecordVGyF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC19phase1ProfileStatus11operationIdAA03FfifG6RecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC19phase1RetrieveMedia7context20referenceFingerprint9operationAA011FfiVerifiedG14ArtifactRecordVAA0l12LocalNetworkO0V_SSAA0lG9OperationCtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC19phase1SaveAddIntent5input15existingDraftId16expectedRevisionAA03FfiK12StatusRecordVAA0ogK5InputV_SSSgs6UInt64VSgtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC20phase1AdvanceProfile11operationIdAA03FfiG12StatusRecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC20phase1CancelRevision11operationIdAA03FfiG12StatusRecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC20phase1QueueAddIntent7draftId16expectedRevisionAA20FfiDraftStatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC20phase1RevisionStatus11operationIdAA03FfifG6RecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC21configureDeviceRelays08writableG0ySaySSG_tKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC21configurePublicRelays08writableG0ySaySSG_tKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC21phase1AdvanceRevision11operationIdAA03FfiG12StatusRecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC21phase1CancelAddIntent7draftId16expectedRevisionAA20FfiDraftStatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC21phase1ReplaceSettings5inputAA03FfiG16TransitionRecordVAA0ifgK0V_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC21phase1SignQueuedDraft7draftId16expectedRevisionAA03FfiH12StatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC22phase1MediaCacheStatus7contextAA03FfifgH6RecordVAA0j12LocalNetworkK0V_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC22phase1RecoverAddIntent7draftIdAA20FfiDraftStatusRecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC22phase1UploadDraftMedia5inputAA03FfiG12StatusRecordVAA0j7BlossomF5InputV_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC22phase1ValidateAddDraft5input15authoredAtUnixSyAA03FfigH5InputV_s6UInt64VtKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC23phase1RecoverDraftQueue7draftId17recoveredAtUnixMsAA03FfiG12StatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC23sdkBlossomConfigurationAA03FfifG6RecordVSgyKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC24configureSimulatorRelays08loopbackG0ySaySSG_tKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC24phase1SaveRevisionIntent5inputAA03FfiG12StatusRecordVAA0jg5InputL0V_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC25phase1SaveProfileMetadata5inputAA03FfiG12StatusRecordVAA0jgh5InputL0V_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC25phase1SaveRetractionDraft7draftId5input15authoredAtUnixS09persistedmN2MsAA03FfiH12StatusRecordVSS_AA0qgH5InputVs6UInt64VANtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC26phase1ApplyIdentityCommand16expectedRevision7commandAA27FfiSettingsTransitionRecordVs6UInt64V_AA0lghO0VtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC26phase1UploadAddMediaIntent5inputAA20FfiDraftStatusRecordVAA0k7BlossomfI0V_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC27applicationSupportDirectory12publicKeyHex016sourceGenerationJ00kL15CreatedAtUnixMs13protectedDataACSS_S2Ss6UInt64VAA09ProtectedR12AvailabilityOtYaKcfc","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC27phase1VerifiedMediaArtifact7context10artifactIdAA03FfifgH6RecordVSgAA0l12LocalNetworkM0V_SStYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC29phase1InvalidateMediaArtifact7context10artifactIdSbAA21FfiLocalNetworkRecordV_SStYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC31phase1PrepareAddMediaBackground5inputAA24FfiNativeUploadJobRecordVAA0k7BlossomM6IntentV_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC32phase1CompleteAddMediaBackground5inputAA20FfiDraftStatusRecordVAA0K27NativeUploadCompletionInputV_tYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC34phase1InvalidateMediaConfiguration7context24configurationFingerprintSaySSGAA21FfiLocalNetworkRecordV_SStYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC4infoAA03FfiD10InfoRecordVyF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC8infoJsonSSyF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC8phase1Me7context9asOfUnixSAA03FfiF6RecordVAA0k12LocalNetworkL0V_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A7RuntimeC8shutdownAA17FfiShutdownRecordVyYaKF","target":"s:19RadrootsKitBindings0A7RuntimeC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A8AppErrorO16errorDescriptionSSSgvp","target":"s:19RadrootsKitBindings0A8AppErrorO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings0A8AppErrorO7FailureyAcA0aE6RecordV_tcACmF","target":"s:19RadrootsKitBindings0A8AppErrorO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings11FfiMeRecordV13schemaVersion9publicKey7profile5cardsACs6UInt16V_SSAA0d7ProfileF0VSgSayAA0d9TodayCardF0VGtcfc","target":"s:19RadrootsKitBindings11FfiMeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings11FfiMeRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings11FfiMeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings11FfiMeRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings11FfiMeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings11FfiMeRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings11FfiMeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings11FfiMeRecordV5cardsSayAA0d9TodayCardF0VGvp","target":"s:19RadrootsKitBindings11FfiMeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings11FfiMeRecordV7profileAA0d7ProfileF0VSgvp","target":"s:19RadrootsKitBindings11FfiMeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings11FfiMeRecordV9publicKeySSvp","target":"s:19RadrootsKitBindings11FfiMeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings12FfiDraftKindO10retractionyA2CmF","target":"s:19RadrootsKitBindings12FfiDraftKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings12FfiDraftKindO3addyA2CmF","target":"s:19RadrootsKitBindings12FfiDraftKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings13FfiMediaStageO6failedyA2CmF","target":"s:19RadrootsKitBindings13FfiMediaStageO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings13FfiMediaStageO7pendingyA2CmF","target":"s:19RadrootsKitBindings13FfiMediaStageO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings13FfiMediaStageO8orphanedyA2CmF","target":"s:19RadrootsKitBindings13FfiMediaStageO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings13FfiMediaStageO8verifiedyA2CmF","target":"s:19RadrootsKitBindings13FfiMediaStageO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings13FfiMediaStageO9preparingyA2CmF","target":"s:19RadrootsKitBindings13FfiMediaStageO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings13FfiMediaStageO9uploadingyA2CmF","target":"s:19RadrootsKitBindings13FfiMediaStageO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO10deliveringyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO11readyToSignyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO14mediaPreparingyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO14mediaUploadingyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO18partiallyDeliveredyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO5draftyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO6queuedyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO6signedyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO7signingyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO8completeyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO8terminalyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO9cancelledyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings14FfiOutboxStateO9retryableyA2CmF","target":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings15FfiAddFieldKindO13multilineTextyA2CmF","target":"s:19RadrootsKitBindings15FfiAddFieldKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings15FfiAddFieldKindO4dateyA2CmF","target":"s:19RadrootsKitBindings15FfiAddFieldKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings15FfiAddFieldKindO4textyA2CmF","target":"s:19RadrootsKitBindings15FfiAddFieldKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings15FfiAddFieldKindO5mediayA2CmF","target":"s:19RadrootsKitBindings15FfiAddFieldKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings15FfiAddFieldKindO6choiceyA2CmF","target":"s:19RadrootsKitBindings15FfiAddFieldKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings15FfiAddFieldKindO7decimalyA2CmF","target":"s:19RadrootsKitBindings15FfiAddFieldKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings15FfiAddFieldKindO8dateTimeyA2CmF","target":"s:19RadrootsKitBindings15FfiAddFieldKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings15FfiAddFieldKindO8locationyA2CmF","target":"s:19RadrootsKitBindings15FfiAddFieldKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV10foodStatusSSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV10identifierSSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV11commandTypeAA0de7CommandI0Ovp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV11eventTimingAA0d5EventI4KindOSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV11priceAmountSSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV12eventEndDateSSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV13eventEndUnixSs6UInt64VSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV13eventTimezoneSSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV13schemaVersion11commandType7content10identifier5title7summary8location11eventTiming0Q9StartDate0q3EndT00qS5UnixS0quV1S0Q8Timezone11priceAmount8currency4unit8quantity015foodPublishedAtV1S10foodStatus5mediaACs6UInt16V_AA0de7CommandK0OS2SSgA0_A0_A0_AA0d5EventR4KindOSgA0_A0_s6UInt64VSgA6_A0_A0_A0_A0_A0_A6_A0_SayAA0d13PreparedMediaG0VGtcfc","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV14eventStartDateSSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV15eventStartUnixSs6UInt64VSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV20foodPublishedAtUnixSs6UInt64VSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV4unitSSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV5mediaSayAA0d13PreparedMediaG0VGvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV5titleSSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV7contentSSvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV7summarySSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV8currencySSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV8locationSSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAddDraftInputV8quantitySSSgvp","target":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV12shuttingDownSbvp","target":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV12uptimeMilliss5Int64Vvp","target":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV13schemaVersion5build13startedUnixMs12uptimeMillis12shuttingDown8platformACs6UInt16V_AA0d5BuildfG0Vs5Int64VAOSbAA0de8PlatformG0VSgtcfc","target":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV13startedUnixMss5Int64Vvp","target":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV5buildAA0d5BuildfG0Vvp","target":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiAppInfoRecordV8platformAA0de8PlatformG0VSgvp","target":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV11displayNameSSSgvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV13schemaVersion15authorPublicKey4name11displayName5about7picture6banner5nip057website16lightningAddressACs6UInt16V_S2SSgA2pA0d14MediaReferenceF0VSgAs3Ptcfc","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV15authorPublicKeySSvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV16lightningAddressSSSgvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV4nameSSSgvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV5aboutSSSgvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV5nip05SSSgvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV6bannerAA0d14MediaReferenceF0VSgvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV7pictureAA0d14MediaReferenceF0VSgvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiProfileRecordV7websiteSSSgvp","target":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO13partialEffectyA2CmF","target":"s:19RadrootsKitBindings16FfiRevisionPhaseO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO17replacementFailedyA2CmF","target":"s:19RadrootsKitBindings16FfiRevisionPhaseO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO17retractionPendingyA2CmF","target":"s:19RadrootsKitBindings16FfiRevisionPhaseO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO18replacementPendingyA2CmF","target":"s:19RadrootsKitBindings16FfiRevisionPhaseO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO8completeyA2CmF","target":"s:19RadrootsKitBindings16FfiRevisionPhaseO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiRevisionPhaseO9cancelledyA2CmF","target":"s:19RadrootsKitBindings16FfiRevisionPhaseO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiThreadProfileO5replyyA2CmF","target":"s:19RadrootsKitBindings16FfiThreadProfileO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiThreadProfileO7commentyA2CmF","target":"s:19RadrootsKitBindings16FfiThreadProfileO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiThreadProfileO7profileyA2CmF","target":"s:19RadrootsKitBindings16FfiThreadProfileO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiThreadProfileO8deletionyA2CmF","target":"s:19RadrootsKitBindings16FfiThreadProfileO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO11photoUpdateyA2CmF","target":"s:19RadrootsKitBindings16FfiTodayCardTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO16foodAvailabilityyA2CmF","target":"s:19RadrootsKitBindings16FfiTodayCardTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO3askyA2CmF","target":"s:19RadrootsKitBindings16FfiTodayCardTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO5eventyA2CmF","target":"s:19RadrootsKitBindings16FfiTodayCardTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings16FfiTodayCardTypeO6updateyA2CmF","target":"s:19RadrootsKitBindings16FfiTodayCardTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO11createEventyA2CmF","target":"s:19RadrootsKitBindings17FfiAddCommandTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO12createUpdateyA2CmF","target":"s:19RadrootsKitBindings17FfiAddCommandTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO17createPhotoUpdateyA2CmF","target":"s:19RadrootsKitBindings17FfiAddCommandTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO22createFoodAvailabilityyA2CmF","target":"s:19RadrootsKitBindings17FfiAddCommandTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddCommandTypeO9createAskyA2CmF","target":"s:19RadrootsKitBindings17FfiAddCommandTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV13schemaVersion2id5label4kind8required7choices8maxBytes0O5ItemsACs6UInt16V_S2SAA0deF4KindOSbSaySSGs6UInt64VSgAMSgtcfc","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV2idSSvp","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV4kindAA0deF4KindOvp","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV5labelSSvp","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV7choicesSaySSGvp","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV8maxBytess6UInt64VSgvp","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV8maxItemss6UInt16VSgvp","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiAddFieldRecordV8requiredSbvp","target":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiMediaOperationC11isCancelledSbyF","target":"s:19RadrootsKitBindings17FfiMediaOperationC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiMediaOperationC11operationIdSSyF","target":"s:19RadrootsKitBindings17FfiMediaOperationC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiMediaOperationC6cancelyyF","target":"s:19RadrootsKitBindings17FfiMediaOperationC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiMediaOperationCACyKcfc","target":"s:19RadrootsKitBindings17FfiMediaOperationC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiRevisionPolicyO18replaceThenRetractyA2CmF","target":"s:19RadrootsKitBindings17FfiRevisionPolicyO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiRevisionPolicyO22addressableReplacementyA2CmF","target":"s:19RadrootsKitBindings17FfiRevisionPolicyO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiShutdownRecordV13alreadyClosedSbvp","target":"s:19RadrootsKitBindings17FfiShutdownRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiShutdownRecordV13schemaVersion5state13alreadyClosedACs6UInt16V_SSSbtcfc","target":"s:19RadrootsKitBindings17FfiShutdownRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiShutdownRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings17FfiShutdownRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiShutdownRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings17FfiShutdownRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiShutdownRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings17FfiShutdownRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17FfiShutdownRecordV5stateSSvp","target":"s:19RadrootsKitBindings17FfiShutdownRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV11operationIdSSvp","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV12signatureHexSSSgvp","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV13schemaVersion7outcome11operationId013signerRequestK09publicKey7purpose12signatureHex17completedAtUnixMsACs6UInt16V_AA0dE7OutcomeOS3SAA0dE7PurposeOSSSgs6UInt64Vtcfc","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV15signerRequestIdSSvp","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV17completedAtUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV7outcomeAA0dE7OutcomeOvp","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV7purposeAA0dE7PurposeOvp","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings17HostSigningResultV9publicKeySSvp","target":"s:19RadrootsKitBindings17HostSigningResultV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV11commandTypeAA0de7CommandI0Ovp","target":"s:19RadrootsKitBindings18FfiAddSchemaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV13schemaVersion11commandType5label6fieldsACs6UInt16V_AA0de7CommandK0OSSSayAA0de5FieldG0VGtcfc","target":"s:19RadrootsKitBindings18FfiAddSchemaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings18FfiAddSchemaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings18FfiAddSchemaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings18FfiAddSchemaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV5labelSSvp","target":"s:19RadrootsKitBindings18FfiAddSchemaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiAddSchemaRecordV6fieldsSayAA0de5FieldG0VGvp","target":"s:19RadrootsKitBindings18FfiAddSchemaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBlossomHostKindO14physicalDeviceyA2CmF","target":"s:19RadrootsKitBindings18FfiBlossomHostKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBlossomHostKindO6nativeyA2CmF","target":"s:19RadrootsKitBindings18FfiBlossomHostKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBlossomHostKindO9simulatoryA2CmF","target":"s:19RadrootsKitBindings18FfiBlossomHostKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV11libRevisionSSSgvp","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV12crateVersionSSvp","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV13buildTimeUnixs6UInt64VSgvp","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV13schemaVersion9crateName0jI05rustc7profile11libRevision08consumerO013buildTimeUnixACs6UInt16V_S3SSgA3Ns6UInt64VSgtcfc","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV16consumerRevisionSSSgvp","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV5rustcSSSgvp","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV7profileSSSgvp","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiBuildInfoRecordV9crateNameSSvp","target":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV10foodStatusSSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV10identifierSSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV11commandTypeAA0d10AddCommandI0Ovp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV11eventTimingAA0d5EventI4KindOSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV11priceAmountSSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV12eventEndDateSSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV13eventEndUnixSs6UInt64VSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV13eventTimezoneSSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV13schemaVersion11commandType7content10identifier5title7summary8location11eventTiming0Q9StartDate0q3EndT00qS5UnixS0quV1S0Q8Timezone11priceAmount8currency4unit8quantity015foodPublishedAtV1S10foodStatus5mediaACs6UInt16V_AA0d10AddCommandK0OS2SSgA0_A0_A0_AA0d5EventR4KindOSgA0_A0_s6UInt64VSgA6_A0_A0_A0_A0_A0_A6_A0_SayAA0def5MediaG0VGtcfc","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV14eventStartDateSSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV15eventStartUnixSs6UInt64VSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV20foodPublishedAtUnixSs6UInt64VSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV4unitSSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV5mediaSayAA0def5MediaG0VGvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV5titleSSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV7contentSSvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV7summarySSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV8currencySSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV8locationSSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiDraftFormRecordV8quantitySSSgvp","target":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiEventTimingKindO5timedyA2CmF","target":"s:19RadrootsKitBindings18FfiEventTimingKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiEventTimingKindO6allDayyA2CmF","target":"s:19RadrootsKitBindings18FfiEventTimingKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV10contractIdSSvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV10foodStatusSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV10rankDigestSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV11contextRanks5UInt8Vvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV11foodSummarySSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV11priceAmountSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV13authorProfileAA0diG0VSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV13eventEndUnixSs6UInt64VSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV13priceCurrencySSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV13schemaVersion6cardId0J4Type011sourceEventK00M7Address15authorPublicKey08contractK05title7content15authoredAtUnixS09effectivewX1S010eventStartX1S0z3EndX1S8location11priceAmount13priceCurrency9priceUnit8quantity11foodSummary013foodPublishedwX1S10foodStatus11contextRank15inclusionReason5media9lifecycle10rankDigest0P7Profile6thread014localOperationK019localOperationStateACs6UInt16V_SSAA0defL0OS2SSgS2SA10_SSs6UInt64VA12_A12_SgA13_A10_A10_A10_A10_A10_A10_A13_A10_s5UInt8VSSSayAA0d14MediaReferenceG0VGAA0dF14LifecycleStateOA10_AA0d7ProfileG0VSgSayAA0d11ThreadEntryG0VGA10_A10_tcfc","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV13sourceAddressSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV13sourceEventIdSSvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV15authorPublicKeySSvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV15authoredAtUnixSs6UInt64Vvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV15eventStartUnixSs6UInt64VSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV15inclusionReasonSSvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV16effectiveAtUnixSs6UInt64Vvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV16localOperationIdSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV19localOperationStateSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV20foodPublishedAtUnixSs6UInt64VSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV5mediaSayAA0d14MediaReferenceG0VGvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV5titleSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV6cardIdSSvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV6threadSayAA0d11ThreadEntryG0VGvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV7contentSSvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV8cardTypeAA0defI0Ovp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV8locationSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV8quantitySSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV9lifecycleAA0dF14LifecycleStateOvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayCardRecordV9priceUnitSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV10nextCursorSSSgvp","target":"s:19RadrootsKitBindings18FfiTodayPageRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV13schemaVersion9asOfUnixS5items10nextCursorACs6UInt16V_s6UInt64VSayAA0de4CardG0VGSSSgtcfc","target":"s:19RadrootsKitBindings18FfiTodayPageRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings18FfiTodayPageRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings18FfiTodayPageRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings18FfiTodayPageRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV5itemsSayAA0de4CardG0VGvp","target":"s:19RadrootsKitBindings18FfiTodayPageRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodayPageRecordV9asOfUnixSs6UInt64Vvp","target":"s:19RadrootsKitBindings18FfiTodayPageRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV10projectionAA0de7RefreshG0Vvp","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV10relayStateAA0de5RelayfI0Ovp","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV12pagesFetcheds6UInt16Vvp","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV13schemaVersion10relayState12pagesFetched14eventsObserved0N8Admitted0N8Rejected10projectionACs6UInt16V_AA0de5RelayfK0OALs6UInt64VA2pA0de7RefreshG0Vtcfc","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV14eventsAdmitteds6UInt64Vvp","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV14eventsObserveds6UInt64Vvp","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV14eventsRejecteds6UInt64Vvp","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18FfiTodaySyncRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningOutcomeO11invalidatedyA2CmF","target":"s:19RadrootsKitBindings18HostSigningOutcomeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningOutcomeO11unavailableyA2CmF","target":"s:19RadrootsKitBindings18HostSigningOutcomeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningOutcomeO6failedyA2CmF","target":"s:19RadrootsKitBindings18HostSigningOutcomeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningOutcomeO6lockedyA2CmF","target":"s:19RadrootsKitBindings18HostSigningOutcomeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningOutcomeO6signedyA2CmF","target":"s:19RadrootsKitBindings18HostSigningOutcomeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningOutcomeO8rejectedyA2CmF","target":"s:19RadrootsKitBindings18HostSigningOutcomeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningOutcomeO8timedOutyA2CmF","target":"s:19RadrootsKitBindings18HostSigningOutcomeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningOutcomeO9cancelledyA2CmF","target":"s:19RadrootsKitBindings18HostSigningOutcomeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningPurposeO10nostrEventyA2CmF","target":"s:19RadrootsKitBindings18HostSigningPurposeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningPurposeO13blossomUploadyA2CmF","target":"s:19RadrootsKitBindings18HostSigningPurposeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV06signerF2IdSSvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV10artifactIdSSvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV11operationIdSSvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV13eventIdDigest10Foundation4DataVvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV13operationKindSSvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV13schemaVersion13operationKind0I2Id08artifactK006signerfK09publicKey7purpose14deadlineUnixMs05eventK6Digest013expectedEventK009createdAtR1S4kind4tags7contentACs6UInt16V_S5SAA0dE7PurposeOs6UInt64V10Foundation4DataVSSAWs6UInt32VSaySaySSGGSStcfc","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV14createdAtUnixSs6UInt64Vvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV14deadlineUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV15expectedEventIdSSvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV4kinds6UInt32Vvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV4tagsSaySaySSGGvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV7contentSSvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV7purposeAA0dE7PurposeOvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18HostSigningRequestV9publicKeySSvp","target":"s:19RadrootsKitBindings18HostSigningRequestV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18SignerStatusRecordV12availabilityAA0d12AvailabilityF0Ovp","target":"s:19RadrootsKitBindings18SignerStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18SignerStatusRecordV13schemaVersion12availabilityACs6UInt16V_AA0d12AvailabilityF0Otcfc","target":"s:19RadrootsKitBindings18SignerStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18SignerStatusRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings18SignerStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18SignerStatusRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings18SignerStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings18SignerStatusRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings18SignerStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV10configuredSbvp","target":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV12availabilitySSvp","target":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV13schemaVersion2id8compiled10configured12availability8maturityACs6UInt16V_SSS2bS2Stcfc","target":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV2idSSvp","target":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV8compiledSbvp","target":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiCapabilityRecordV8maturitySSvp","target":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV13schemaVersion3url5stage14uploadAttempts16verifiedAtUnixMs14possibleOrphan16orphanReasonCode0t8RecordedopQ0ACs6UInt16V_SSAA0dF5StageOs5UInt8Vs6UInt64VSgSbSSSgATtcfc","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV14possibleOrphanSbvp","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV14uploadAttemptss5UInt8Vvp","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV16orphanReasonCodeSSSgvp","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV16verifiedAtUnixMss6UInt64VSgvp","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV22orphanRecordedAtUnixMss6UInt64VSgvp","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV3urlSSvp","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiDraftMediaRecordV5stageAA0dF5StageOvp","target":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiSearchResultTypeO4cardyA2CmF","target":"s:19RadrootsKitBindings19FfiSearchResultTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings19FfiSearchResultTypeO7profileyA2CmF","target":"s:19RadrootsKitBindings19FfiSearchResultTypeO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV11buildNumberSSSgvp","target":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV13schemaVersion8platform8bundleId7version11buildNumber0N3ShaACs6UInt16V_SSSgA4Ltcfc","target":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV7versionSSSgvp","target":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV8buildShaSSSgvp","target":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV8bundleIdSSSgvp","target":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiAppPlatformRecordV8platformSSSgvp","target":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV10isRevisionSbvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV10settlementAA0d19OperationSettlementG0VSgvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV11commandTypeAA0d10AddCommandI0Ovp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV11operationIdSSSgvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV13schemaVersion7draftId8revision15authorPublicKey4kind11commandType4form5state04cardK009operationK015createdAtUnixMs07updatedxyZ05media10settlement10isRevisionACs6UInt16V_SSs6UInt64VSSAA0dE4KindOAA0d10AddCommandR0OAA0de4FormG0VSgAA0D11OutboxStateOS2SSgA2VSayAA0de5MediaG0VGAA0d19OperationSettlementG0VSgSbtcfc","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV15authorPublicKeySSvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV15createdAtUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV15updatedAtUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV4formAA0de4FormG0VSgvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV4kindAA0dE4KindOvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV5mediaSayAA0de5MediaG0VGvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV5stateAA0D11OutboxStateOvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV6cardIdSSvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV7draftIdSSvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiDraftStatusRecordV8revisions6UInt64Vvp","target":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiIdentityLockStateO6lockedyA2CmF","target":"s:19RadrootsKitBindings20FfiIdentityLockStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiIdentityLockStateO8unlockedyA2CmF","target":"s:19RadrootsKitBindings20FfiIdentityLockStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV12cancellationAA0d12CancellationF0Ovp","target":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV12satisfactionAA0D17RelaySatisfactionOvp","target":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV13schemaVersion9relayUrls12satisfaction22deliveryDeadlineUnixMs12cancellationACs6UInt16V_SaySSGAA0D17RelaySatisfactionOs6UInt64VAA0d12CancellationF0Otcfc","target":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV22deliveryDeadlineUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV9relayUrlsSaySSGvp","target":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayAccessRecordO8readOnlyyA2CmF","target":"s:19RadrootsKitBindings20FfiRelayAccessRecordO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayAccessRecordO9readWriteyA2CmF","target":"s:19RadrootsKitBindings20FfiRelayAccessRecordO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO11allAcceptedyA2CmF","target":"s:19RadrootsKitBindings20FfiRelaySatisfactionO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO11anyAcceptedyA2CmF","target":"s:19RadrootsKitBindings20FfiRelaySatisfactionO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO12allDeliveredyA2CmF","target":"s:19RadrootsKitBindings20FfiRelaySatisfactionO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelaySatisfactionO12anyDeliveredyA2CmF","target":"s:19RadrootsKitBindings20FfiRelaySatisfactionO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV10writeStateSSvp","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV13schemaVersion8relayUrl6access9readState05writeN00M17LastAttemptUnixMs0opqrS00m4NextqrS00otqrS0ACs6UInt16V_SSAA0de6AccessG0OS2Ss6UInt64VSgA3Stcfc","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV21readLastAttemptUnixMss6UInt64VSgvp","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV21readNextAttemptUnixMss6UInt64VSgvp","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV22writeLastAttemptUnixMss6UInt64VSgvp","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV22writeNextAttemptUnixMss6UInt64VSgvp","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV6accessAA0de6AccessG0Ovp","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV8relayUrlSSvp","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRelayStatusRecordV9readStateSSvp","target":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO5mediayA2CmF","target":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO5relayyA2CmF","target":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO5todayyA2CmF","target":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO6draftsyA2CmF","target":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO7initialyA2CmF","target":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO7profileyA2CmF","target":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO8identityyA2CmF","target":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO8settingsyA2CmF","target":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO9lifecycleyA2CmF","target":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV13schemaVersion3app3sdk0K6ClosedACs6UInt16V_AA0d3AppfG0VAA0d5BuildfG0VSbtcfc","target":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV3appAA0d3AppfG0Vvp","target":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV3sdkAA0d5BuildfG0Vvp","target":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV9sdkClosedSbvp","target":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV13authorProfileAA0diG0VSgvp","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV13parentEventIdSSvp","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV13schemaVersion7eventId15authorPublicKey7content15authoredAtUnixS7profile4root011parentEventK00L7ProfileACs6UInt16V_S3Ss6UInt64VAA0deW0OS2SAA0dwG0VSgtcfc","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV15authorPublicKeySSvp","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV15authoredAtUnixSs6UInt64Vvp","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV4rootSSvp","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV7contentSSvp","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV7eventIdSSvp","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings20FfiThreadEntryRecordV7profileAA0dE7ProfileOvp","target":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV10artifactIdSSvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV11operationIdSSvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV13schemaVersion7draftId16expectedRevision5media20authorizationContent0O14CreatedAtUnixS0O15LifetimeSeconds09operationK008artifactK0015signingDeadlineS2Ms0X12Cancellation08verifiedrsZ007updatedrsZ0ACs6UInt16V_SSs6UInt64VAA0d13PreparedMediaG0VSSA2TS2SAtA0D18CancellationPolicyOA2Ttcfc","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV15updatedAtUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV16expectedRevisions6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV16verifiedAtUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV19signingCancellationAA0dI6PolicyOvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV20authorizationContentSSvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV21signingDeadlineUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV27authorizationCreatedAtUnixSs6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV28authorizationLifetimeSecondss6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV5mediaAA0d13PreparedMediaG0Vvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiBlossomUploadInputV7draftIdSSvp","target":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiCancellationPolicyO16localCooperativeyA2CmF","target":"s:19RadrootsKitBindings21FfiCancellationPolicyO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiCancellationPolicyO24preservePublishedRequestyA2CmF","target":"s:19RadrootsKitBindings21FfiCancellationPolicyO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiCardLifecycleStateO4pastyA2CmF","target":"s:19RadrootsKitBindings21FfiCardLifecycleStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiCardLifecycleStateO4soldyA2CmF","target":"s:19RadrootsKitBindings21FfiCardLifecycleStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiCardLifecycleStateO6activeyA2CmF","target":"s:19RadrootsKitBindings21FfiCardLifecycleStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV10generations6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV13schemaVersion2id5label9relayUrls8locality15followedAuthors10generationACs6UInt16V_S2SSaySSGSSSgAMs6UInt64Vtcfc","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV15followedAuthorsSaySSGvp","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV2idSSvp","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV5labelSSvp","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV8localitySSSgvp","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV9relayUrlsSaySSGvp","target":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV13schemaVersion15opaqueReference14fileDescriptor6sha2569mediaType8byteSize5width6height3alt15preparedAtUnixSACs6UInt16V_SSs6UInt64VS2SAQs6UInt32VASSSAQtcfc","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV14fileDescriptors6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV15opaqueReferenceSSvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV15preparedAtUnixSs6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV3altSSvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV5widths6UInt32Vvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV6heights6UInt32Vvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV6sha256SSvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV8byteSizes6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiPreparedMediaInputV9mediaTypeSSvp","target":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV10resultTypeAA0defI0Ovp","target":"s:19RadrootsKitBindings21FfiSearchResultRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV13schemaVersion10resultType8stableId4card7profileACs6UInt16V_AA0defK0OSSAA0d9TodayCardG0VSgAA0d7ProfileG0VSgtcfc","target":"s:19RadrootsKitBindings21FfiSearchResultRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings21FfiSearchResultRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings21FfiSearchResultRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV4cardAA0d9TodayCardG0VSgvp","target":"s:19RadrootsKitBindings21FfiSearchResultRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings21FfiSearchResultRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV7profileAA0d7ProfileG0VSgvp","target":"s:19RadrootsKitBindings21FfiSearchResultRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSearchResultRecordV8stableIdSSvp","target":"s:19RadrootsKitBindings21FfiSearchResultRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSubscriptionHandleC11unsubscribeyyF","target":"s:19RadrootsKitBindings21FfiSubscriptionHandleC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiSubscriptionHandleC8isActiveSbyF","target":"s:19RadrootsKitBindings21FfiSubscriptionHandleC"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV12sourceEventss6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV12visibleCardss6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV13schemaVersion6update12sourceEvents12visibleCards8profiles13threadEntries17contentGeneration7changedACs6UInt16V_AA0dE16ProjectionUpdateOs6UInt64VA4QSbtcfc","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV13threadEntriess6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV17contentGenerations6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV6updateAA0dE16ProjectionUpdateOvp","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV7changedSbvp","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV8profiless6UInt64Vvp","target":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV13schemaVersion7draftId16expectedRevision5mediaACs6UInt16V_SSs6UInt64VAA0D18PreparedMediaInputVtcfc","target":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV16expectedRevisions6UInt64Vvp","target":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV5mediaAA0D18PreparedMediaInputVvp","target":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV7draftIdSSvp","target":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV11commandTypeAA0df7CommandJ0Ovp","target":"s:19RadrootsKitBindings22FfiCardAddParityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV13schemaVersion8cardType07commandL0ACs6UInt16V_AA0d5TodayeL0OAA0df7CommandL0Otcfc","target":"s:19RadrootsKitBindings22FfiCardAddParityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings22FfiCardAddParityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings22FfiCardAddParityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings22FfiCardAddParityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiCardAddParityRecordV8cardTypeAA0d5TodayeJ0Ovp","target":"s:19RadrootsKitBindings22FfiCardAddParityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO11beginImportyA2CmF","target":"s:19RadrootsKitBindings22FfiIdentityCommandKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO12cancelImportyA2CmF","target":"s:19RadrootsKitBindings22FfiIdentityCommandKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO14completeImportyA2CmF","target":"s:19RadrootsKitBindings22FfiIdentityCommandKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO4lockyA2CmF","target":"s:19RadrootsKitBindings22FfiIdentityCommandKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO6selectyA2CmF","target":"s:19RadrootsKitBindings22FfiIdentityCommandKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO6unlockyA2CmF","target":"s:19RadrootsKitBindings22FfiIdentityCommandKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityCommandKindO7recoveryA2CmF","target":"s:19RadrootsKitBindings22FfiIdentityCommandKindO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV04lockF0AA0de4LockF0Ovp","target":"s:19RadrootsKitBindings22FfiIdentityStateRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV06activeE2IdSSSgvp","target":"s:19RadrootsKitBindings22FfiIdentityStateRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV10identitiesSayAA0d8SettingseG0VGvp","target":"s:19RadrootsKitBindings22FfiIdentityStateRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV13schemaVersion10identities06activeE2Id04lockF0022pendingImportOperationL0ACs6UInt16V_SayAA0d8SettingseG0VGSSSgAA0de4LockF0OANtcfc","target":"s:19RadrootsKitBindings22FfiIdentityStateRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings22FfiIdentityStateRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV24pendingImportOperationIdSSSgvp","target":"s:19RadrootsKitBindings22FfiIdentityStateRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings22FfiIdentityStateRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiIdentityStateRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings22FfiIdentityStateRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV10deliveryIdSSSgvp","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV10settlementAA0d19OperationSettlementG0VSgvp","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV11operationIdSSvp","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV13schemaVersion11operationId8revision15authorPublicKey5state08deliveryK015createdAtUnixMs07updatedstU010settlementACs6UInt16V_SSs6UInt64VSSAA0D11OutboxStateOSSSgA2pA0d19OperationSettlementG0VSgtcfc","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV15authorPublicKeySSvp","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV15createdAtUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV15updatedAtUnixMss6UInt64Vvp","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV5stateAA0D11OutboxStateOvp","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiProfileStatusRecordV8revisions6UInt64Vvp","target":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV11replacementAA0d8AddDraftF0Vvp","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV13schemaVersion6cardId011sourceEventK00L7Address15authorPublicKey11replacementACs6UInt16V_S3SSgSSAA0d8AddDraftF0Vtcfc","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV13sourceAddressSSSgvp","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV13sourceEventIdSSvp","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV15authorPublicKeySSvp","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRevisionInputRecordV6cardIdSSvp","target":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV10generations6UInt64Vvp","target":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV13schemaVersion10generation4kind8entityIdACs6UInt16V_s6UInt64VAA0deF4KindOSSSgtcfc","target":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV4kindAA0deF4KindOvp","target":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV8entityIdSSSgvp","target":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV13schemaVersion7backend8openMode8shutdown9integrityACs6UInt16V_S4Stcfc","target":"s:19RadrootsKitBindings22FfiStorageStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings22FfiStorageStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings22FfiStorageStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings22FfiStorageStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV7backendSSvp","target":"s:19RadrootsKitBindings22FfiStorageStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV8openModeSSvp","target":"s:19RadrootsKitBindings22FfiStorageStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV8shutdownSSvp","target":"s:19RadrootsKitBindings22FfiStorageStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiStorageStatusRecordV9integritySSvp","target":"s:19RadrootsKitBindings22FfiStorageStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO7offlineyA2CmF","target":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO7partialyA2CmF","target":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO8completeyA2CmF","target":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV13schemaVersion15opaqueReference3url6sha2569mediaType8byteSize5width6height3alt15preparedAtUnixSACs6UInt16V_S4Ss6UInt64Vs6UInt32VASSSAQtcfc","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV15opaqueReferenceSSvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV15preparedAtUnixSs6UInt64Vvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV3altSSvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV3urlSSvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV5widths6UInt32Vvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV6heights6UInt32Vvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV6sha256SSvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV8byteSizes6UInt64Vvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV9mediaTypeSSvp","target":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV13schemaVersion9publicKey20hostSignerConfiguredACs6UInt16V_SSSbtcfc","target":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV20hostSignerConfiguredSbvp","target":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV9publicKeySSvp","target":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV12verificationAA0dE17VerificationStateOvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV13schemaVersion20referenceFingerprint3url6sha2569mediaType5width6height8byteSize3alt12verificationACs6UInt16V_S3SSgAPs6UInt32VSgASs6UInt64VSgApA0dE17VerificationStateOtcfc","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV20referenceFingerprintSSvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV3altSSSgvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV3urlSSvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV5widths6UInt32VSgvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV6heights6UInt32VSgvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV6sha256SSSgvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV8byteSizes6UInt64VSgvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV9mediaTypeSSSgvp","target":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV12localStorageAA0d5Locali6PolicyG0Vvp","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV12mediaNetworkAA0d5Mediai6PolicyG0Vvp","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV13schemaVersion8revision8identity6relays7blossom12mediaNetwork12localStorageACs6UInt16V_s6UInt64VAA0d13IdentityStateG0VAA0d16RelayPreferencesG0VAA0d7BlossomwG0VAA0d5Mediao6PolicyG0VAA0d5LocalqzG0Vtcfc","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV6relaysAA0d16RelayPreferencesG0Vvp","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV7blossomAA0d18BlossomPreferencesG0Vvp","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV8identityAA0d13IdentityStateG0Vvp","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV8revisions6UInt64Vvp","target":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV10targetKinds6UInt32Vvp","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV11commandTypeAA0d10AddCommandI0Ovp","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV12targetCardIdSSvp","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV13schemaVersion11commandType12targetCardId0l5EventN00L4Kind0L7Address6reasonACs6UInt16V_AA0d10AddCommandK0OS2Ss6UInt32VSSSgSStcfc","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV13targetAddressSSSgvp","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV13targetEventIdSSvp","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRetractionDraftInputV6reasonSSvp","target":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV10retractionAA0d5DraftfG0VSgvp","target":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV11operationIdSSvp","target":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV11replacementAA0d5DraftfG0Vvp","target":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV13schemaVersion11operationId11replacement10retraction6policy5phaseACs6UInt16V_SSAA0d5DraftfG0VAMSgAA0dE6PolicyOAA0dE5PhaseOtcfc","target":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV5phaseAA0dE5PhaseOvp","target":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV6policyAA0dE6PolicyOvp","target":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV10errorPhaseSSSgvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV10httpStatuss6UInt16VSgvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV13schemaVersion6origin17configFingerprint5state19lastSuccessfulState17transportSecurity16observedAtUnixMs10httpStatus9errorCode011serverErrorZ00Y5Phase9retryable14possibleOrphan8attemptsACs6UInt16V_S5Ss6UInt64VSgASSgSSSgA2XS2bs5UInt8Vtcfc","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV14possibleOrphanSbvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV15serverErrorCodeSSSgvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV16observedAtUnixMss6UInt64VSgvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV17configFingerprintSSvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV17transportSecuritySSvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV19lastSuccessfulStateSSvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV5stateSSvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV6originSSvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV8attemptss5UInt8Vvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV9errorCodeSSSgvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV9retryableSbvp","target":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV10identityIdSSSgvp","target":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV11operationIdSSSgvp","target":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV13schemaVersion4kind11operationId08identityL09publicKeyACs6UInt16V_AA0deF4KindOSSSgA2Mtcfc","target":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV4kindAA0deF4KindOvp","target":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV9publicKeySSSgvp","target":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV11operationIdSSvp","target":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV13schemaVersion11operationId5draft9remoteUrl19authorizationHeader14expectedSha2569mediaType8byteSizeACs6UInt16V_SSAA0d11DraftStatusH0VS4Ss6UInt64Vtcfc","target":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV14expectedSha256SSvp","target":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV19authorizationHeaderSSvp","target":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV5draftAA0d11DraftStatusH0Vvp","target":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV8byteSizes6UInt64Vvp","target":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV9mediaTypeSSvp","target":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV9remoteUrlSSvp","target":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO8readOnlyyA2CmF","target":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO9readWriteyA2CmF","target":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV13schemaVersion3url6accessACs6UInt16V_SSAA0de6AccessF0Otcfc","target":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV3urlSSvp","target":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV6accessAA0de6AccessF0Ovp","target":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV12localStorageAA0d5Locali6PolicyG0Vvp","target":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV12mediaNetworkAA0d5Mediai6PolicyG0Vvp","target":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV13schemaVersion16expectedRevision6relays7blossom12mediaNetwork12localStorageACs6UInt16V_s6UInt64VAA0d16RelayPreferencesG0VAA0d7BlossomuG0VAA0d5Mediao6PolicyG0VAA0d5LocalqxG0Vtcfc","target":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV16expectedRevisions6UInt64Vvp","target":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV6relaysAA0d16RelayPreferencesG0Vvp","target":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV7blossomAA0d18BlossomPreferencesG0Vvp","target":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO11incrementalyA2CmF","target":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO7rebuildyA2CmF","target":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO11unavailableyA2CmF","target":"s:19RadrootsKitBindings24SignerAvailabilityRecordO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO4busyyA2CmF","target":"s:19RadrootsKitBindings24SignerAvailabilityRecordO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO5readyyA2CmF","target":"s:19RadrootsKitBindings24SignerAvailabilityRecordO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings24SignerAvailabilityRecordO6lockedyA2CmF","target":"s:19RadrootsKitBindings24SignerAvailabilityRecordO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV10totalBytess6UInt64Vvp","target":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV13artifactCounts6UInt32Vvp","target":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV13schemaVersion13artifactCount10totalBytes24configurationFingerprintACs6UInt16V_s6UInt32Vs6UInt64VSSSgtcfc","target":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV24configurationFingerprintSSSgvp","target":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO11unavailableyA2CmF","target":"s:19RadrootsKitBindings25FfiMediaVerificationStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO6failedyA2CmF","target":"s:19RadrootsKitBindings25FfiMediaVerificationStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO7pendingyA2CmF","target":"s:19RadrootsKitBindings25FfiMediaVerificationStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiMediaVerificationStateO8verifiedyA2CmF","target":"s:19RadrootsKitBindings25FfiMediaVerificationStateO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV11environmentAA0D24MobileNetworkEnvironmentOvp","target":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV13schemaVersion11environment9endpointsACs6UInt16V_AA0D24MobileNetworkEnvironmentOSayAA0de10PreferenceG0VGtcfc","target":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV9endpointsSayAA0de10PreferenceG0VGvp","target":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV13schemaVersion2id9publicKeyACs6UInt16V_S2Stcfc","target":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV2idSSvp","target":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV9publicKeySSvp","target":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO11unavailableyA2CmF","target":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO9availableyA2CmF","target":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV13schemaVersion7profile5state16readAvailability05writeN06relaysACs6UInt16V_S4SSayAA0defH0VGtcfc","target":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV16readAvailabilitySSvp","target":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV17writeAvailabilitySSvp","target":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV5stateSSvp","target":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV6relaysSayAA0defH0VGvp","target":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV7profileSSvp","target":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO12publicWebPkiyA2CmF","target":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO19loopbackDevelopmentyA2CmF","target":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO25privateNetworkDevelopmentyA2CmF","target":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV11environmentAA0D24MobileNetworkEnvironmentOvp","target":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV13primaryOriginSSvp","target":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV13schemaVersion11environment9authority13primaryOrigin15fallbackOriginsACs6UInt16V_AA0D24MobileNetworkEnvironmentOAA0dE19AuthorityPreferenceOSSSaySSGtcfc","target":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV15fallbackOriginsSaySSGvp","target":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV9authorityAA0dE19AuthorityPreferenceOvp","target":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV13schemaVersion15mediaCacheBytes0kL9ArtifactsACs6UInt16V_s6UInt64Vs6UInt32Vtcfc","target":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV15mediaCacheBytess6UInt64Vvp","target":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV19mediaCacheArtifactss6UInt32Vvp","target":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV13schemaVersion22allowCellularDownloads0kL7Uploads0K19BackgroundTransfersACs6UInt16V_S3btcfc","target":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV20allowCellularUploadsSbvp","target":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV22allowCellularDownloadsSbvp","target":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV24allowBackgroundTransfersSbvp","target":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO14physicalDeviceyA2CmF","target":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO6publicyA2CmF","target":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO9simulatoryA2CmF","target":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV13schemaVersion8settings22runtimeRestartRequired013outboxRequeueM0022mediaCacheInvalidationM0ACs6UInt16V_AA0d6MobileeG0VS3btcfc","target":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV21outboxRequeueRequiredSbvp","target":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV22runtimeRestartRequiredSbvp","target":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV30mediaCacheInvalidationRequiredSbvp","target":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV8settingsAA0d6MobileeG0Vvp","target":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV13deliveryPlanss6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV13indeterminates6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV13schemaVersion9artifacts6signed8admitted7pending9retryable13indeterminate14failedTerminal9cancelled13deliveryPlans0S9Satisfied0S7Pending0S9Retryable0S9Exhausted0s6FailedQ00S9CancelledACs6UInt16V_A15Utcfc","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV14failedTerminals6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV15deliveryPendings6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV17deliveryCancelleds6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV17deliveryExhausteds6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV17deliveryRetryables6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV17deliverySatisfieds6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV22deliveryFailedTerminals6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV6signeds6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV7pendings6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV8admitteds6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV9artifactss6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV9cancelleds6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV9retryables6UInt16Vvp","target":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO12publicWebPkiyA2CmF","target":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO19loopbackDevelopmentyA2CmF","target":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO25privateNetworkDevelopmentyA2CmF","target":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV13primaryOriginSSvp","target":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV13schemaVersion8hostKind17endpointAuthority13primaryOrigin15fallbackOrigins17configFingerprintACs6UInt16V_S3SSaySSGSStcfc","target":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV15fallbackOriginsSaySSGvp","target":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV17configFingerprintSSvp","target":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV17endpointAuthoritySSvp","target":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV8hostKindSSvp","target":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV11displayNameSSSgvp","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV13schemaVersion4name11displayName5about7picture6banner5nip053botACs6UInt16V_S2SSgAnA0d13PreparedMediaG0VSgAqNSbSgtcfc","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV3botSbSgvp","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV4nameSSvp","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV5aboutSSSgvp","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV5nip05SSSgvp","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV6bannerAA0d13PreparedMediaG0VSgvp","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV7pictureAA0d13PreparedMediaG0VSgvp","target":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV10statusCodes6UInt16Vvp","target":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV12responseBody10Foundation4DataVvp","target":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV13schemaVersion7draftId16expectedRevision5media10statusCode17responseMediaType0R15ContentEncoding0R4BodyACs6UInt16V_SSs6UInt64VAA0d8PreparedsH0VAMSSSgAR10Foundation4DataVtcfc","target":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV16expectedRevisions6UInt64Vvp","target":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV17responseMediaTypeSSSgvp","target":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV23responseContentEncodingSSSgvp","target":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV5mediaAA0d13PreparedMediaH0Vvp","target":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV7draftIdSSvp","target":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV10artifactIdSSvp","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV11operationIdSSSgvp","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV13schemaVersion11operationId08artifactL08byteSize9mediaType5width6heightACs6UInt16V_SSSgSSs6UInt64VSSs6UInt32VAQtcfc","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV13schemaVersions6UInt16Vvp","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV2eeoiySbAC_ACtFZ","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV4hash4intoys6HasherVz_tF","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV5widths6UInt32Vvp","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV6heights6UInt32Vvp","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV8byteSizes6UInt64Vvp","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"memberOf","source":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV9mediaTypeSSvp","target":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A10HostSignerP12signerStatusAA0eG6RecordVyYaF","target":"s:19RadrootsKitBindings0A10HostSignerP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A10HostSignerP4sign7requestAA0D13SigningResultVAA0dH7RequestV_tYaF","target":"s:19RadrootsKitBindings0A10HostSignerP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeObserverP8onChange6changeyAA03FfidG6RecordV_tF","target":"s:19RadrootsKitBindings0A15RuntimeObserverP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP12phase1Search7context5query5limit9asOfUnixSSayAA03FfiG12ResultRecordVGAA0n12LocalNetworkP0V_SSs6UInt16Vs6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP12probeBlossomAA03FfiG14EvidenceRecordVyYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP12uptimeMilliss5Int64VyF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP14identityStatusAA011FfiIdentityG6RecordVyKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP14phase1SettingsAA09FfiMobileG6RecordVyYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP14sdkRelayStatusAA03FfigH12ReportRecordVSgyKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP15phase1SaveDraft7draftId5input15authoredAtUnixS16expectedRevision09persistedmN2MsAA03FfiH12StatusRecordVSS_AA0s3AddH5InputVs6UInt64VAOSgAOtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP15phase1SyncToday7context8nowUnixS6updateAA03FfihG6RecordVAA0m12LocalNetworkN0V_s6UInt64VAA0mH16ProjectionUpdateOtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP15phase1TodayPage7context5limit9asOfUnixS6cursorAA03FfigH6RecordVAA0o12LocalNetworkP0V_s6UInt16Vs6UInt64VSgSSSgtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP15sdkCapabilitiesSayAA19FfiCapabilityRecordVGyF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP16configureBlossom8hostKind17endpointAuthority13primaryOrigin15fallbackOriginsyAA03Ffig4HostI0O_AA0pg8EndpointK0OSSSaySSGtKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP16phase1AddSchemasSayAA03FfiG12SchemaRecordVGyF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP16phase1DraftHeads5limitSayAA03FfiG12StatusRecordVGs6UInt16V_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP16phase1QueueDraft7draftId16expectedRevision6policy14queuedAtUnixMsAA03FfiH12StatusRecordVSS_s6UInt64VAA0rg6PolicyT0VALtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP16sdkStorageStatusAA03FfigH6RecordVyYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP16subscribeChanges8observerAA21FfiSubscriptionHandleCAA0aD8Observer_p_tKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP17phase1CancelDraft7draftId16expectedRevision17cancelledAtUnixMsAA03FfiH12StatusRecordVSS_s6UInt64VAKtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP17phase1DraftStatus7draftIdAA03FfigH6RecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP18phase1AdvanceDraft7draftId16expectedRevisionAA03FfiH12StatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP18phase1LocalNetwork7contextAA03FfigH6RecordVAG_tKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP18phase1RefreshToday7context8nowUnixS6updateAA03FfihG6RecordVAA0m12LocalNetworkN0V_s6UInt64VAA0mH16ProjectionUpdateOtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP18sdkBlossomEvidenceAA03FfigH6RecordVSgyKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP18setAppInfoPlatform8platform8bundleId7version11buildNumber0N3ShaySSSg_A4JtF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1CancelProfile11operationId16expectedRevisionAA03FfiH12StatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1CardAddParitySayAA03FfighI6RecordVGyF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1ProfileStatus11operationIdAA03FfigH6RecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1RetrieveMedia7context20referenceFingerprint9operationAA011FfiVerifiedH14ArtifactRecordVAA0m12LocalNetworkP0V_SSAA0mH9OperationCtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1SaveAddIntent5input15existingDraftId16expectedRevisionAA03FfiL12StatusRecordVAA0phL5InputV_SSSgs6UInt64VSgtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP20phase1AdvanceProfile11operationIdAA03FfiH12StatusRecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP20phase1CancelRevision11operationIdAA03FfiH12StatusRecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP20phase1QueueAddIntent7draftId16expectedRevisionAA20FfiDraftStatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP20phase1RevisionStatus11operationIdAA03FfigH6RecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP21configureDeviceRelays08writableH0ySaySSG_tKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP21configurePublicRelays08writableH0ySaySSG_tKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP21phase1AdvanceRevision11operationIdAA03FfiH12StatusRecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP21phase1CancelAddIntent7draftId16expectedRevisionAA20FfiDraftStatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP21phase1ReplaceSettings5inputAA03FfiH16TransitionRecordVAA0jghL0V_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP21phase1SignQueuedDraft7draftId16expectedRevisionAA03FfiI12StatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP22phase1MediaCacheStatus7contextAA03FfighI6RecordVAA0k12LocalNetworkL0V_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP22phase1RecoverAddIntent7draftIdAA20FfiDraftStatusRecordVSS_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP22phase1UploadDraftMedia5inputAA03FfiH12StatusRecordVAA0k7BlossomG5InputV_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP22phase1ValidateAddDraft5input15authoredAtUnixSyAA03FfihI5InputV_s6UInt64VtKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP23phase1RecoverDraftQueue7draftId17recoveredAtUnixMsAA03FfiH12StatusRecordVSS_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP23sdkBlossomConfigurationAA03FfigH6RecordVSgyKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP24configureSimulatorRelays08loopbackH0ySaySSG_tKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP24phase1SaveRevisionIntent5inputAA03FfiH12StatusRecordVAA0kh5InputM0V_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP25phase1SaveProfileMetadata5inputAA03FfiH12StatusRecordVAA0khi5InputM0V_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP25phase1SaveRetractionDraft7draftId5input15authoredAtUnixS09persistednO2MsAA03FfiI12StatusRecordVSS_AA0rhI5InputVs6UInt64VANtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP26phase1ApplyIdentityCommand16expectedRevision7commandAA27FfiSettingsTransitionRecordVs6UInt64V_AA0mhiP0VtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP26phase1UploadAddMediaIntent5inputAA20FfiDraftStatusRecordVAA0l7BlossomgJ0V_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP27phase1VerifiedMediaArtifact7context10artifactIdAA03FfighI6RecordVSgAA0m12LocalNetworkN0V_SStYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP29phase1InvalidateMediaArtifact7context10artifactIdSbAA21FfiLocalNetworkRecordV_SStYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP31phase1PrepareAddMediaBackground5inputAA24FfiNativeUploadJobRecordVAA0l7BlossomN6IntentV_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP32phase1CompleteAddMediaBackground5inputAA20FfiDraftStatusRecordVAA0L27NativeUploadCompletionInputV_tYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP34phase1InvalidateMediaConfiguration7context24configurationFingerprintSaySSGAA21FfiLocalNetworkRecordV_SStYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP4infoAA03FfiD10InfoRecordVyF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP8infoJsonSSyF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP8phase1Me7context9asOfUnixSAA03FfiG6RecordVAA0l12LocalNetworkM0V_s6UInt64VtYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings0A15RuntimeProtocolP8shutdownAA17FfiShutdownRecordVyYaKF","target":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP11isCancelledSbyF","target":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP11operationIdSSyF","target":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP6cancelyyF","target":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP11unsubscribeyyF","target":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP"},{"kind":"requirementOf","source":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP8isActiveSbyF","target":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP"}],"schema":"radroots.swift-api-snapshot.v1","symbols":[{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"uniffiEnsureRadrootsMobileFfiInitialized"},{"kind":"text","spelling":"()"}],"kind":"swift.func","path":["uniffiEnsureRadrootsMobileFfiInitialized()"],"precise":"s:19RadrootsKitBindings012uniffiEnsureA20MobileFfiInitializedyyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"uniffiForeignFutureHandleCountRadrootsMobileCore"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Si","spelling":"Int"}],"kind":"swift.func","path":["uniffiForeignFutureHandleCountRadrootsMobileCore()"],"precise":"s:19RadrootsKitBindings030uniffiForeignFutureHandleCountA10MobileCoreSiyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"RadrootsHostSigner"},{"kind":"text","spelling":" : AnyObject, "},{"kind":"typeIdentifier","preciseIdentifier":"s:s8SendableP","spelling":"Sendable"}],"kind":"swift.protocol","path":["RadrootsHostSigner"],"precise":"s:19RadrootsKitBindings0A10HostSignerP"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signerStatus"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18SignerStatusRecordV","spelling":"SignerStatusRecord"}],"kind":"swift.method","path":["RadrootsHostSigner","signerStatus()"],"precise":"s:19RadrootsKitBindings0A10HostSignerP12signerStatusAA0eG6RecordVyYaF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sign"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"request"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18HostSigningRequestV","spelling":"HostSigningRequest"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17HostSigningResultV","spelling":"HostSigningResult"}],"kind":"swift.method","path":["RadrootsHostSigner","sign(request:)"],"precise":"s:19RadrootsKitBindings0A10HostSignerP4sign7requestAA0D13SigningResultVAA0dH7RequestV_tYaF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"RadrootsErrorRecord"}],"kind":"swift.struct","path":["RadrootsErrorRecord"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["RadrootsErrorRecord","operationId"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV11operationIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"safeMessage"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["RadrootsErrorRecord","safeMessage"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV11safeMessageSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"capabilityId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["RadrootsErrorRecord","capabilityId"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV12capabilityIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"code"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"category"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"retryable"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"recoveryActions"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"capabilityId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"safeMessage"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["RadrootsErrorRecord","init(schemaVersion:code:category:retryable:recoveryActions:operationId:capabilityId:safeMessage:)"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV13schemaVersion4code8category9retryable15recoveryActions11operationId010capabilityN011safeMessageACs6UInt16V_S2SSbSaySSGSSSgAOSStcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["RadrootsErrorRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"recoveryActions"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["RadrootsErrorRecord","recoveryActions"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV15recoveryActionsSaySSGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings0A11ErrorRecordV","spelling":"RadrootsErrorRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings0A11ErrorRecordV","spelling":"RadrootsErrorRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["RadrootsErrorRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"code"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["RadrootsErrorRecord","code"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV4codeSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["RadrootsErrorRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"category"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["RadrootsErrorRecord","category"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV8categorySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"retryable"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["RadrootsErrorRecord","retryable"],"precise":"s:19RadrootsKitBindings0A11ErrorRecordV9retryableSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"RadrootsRuntimeObserver"},{"kind":"text","spelling":" : AnyObject, "},{"kind":"typeIdentifier","preciseIdentifier":"s:s8SendableP","spelling":"Sendable"}],"kind":"swift.protocol","path":["RadrootsRuntimeObserver"],"precise":"s:19RadrootsKitBindings0A15RuntimeObserverP"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"onChange"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"change"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV","spelling":"FfiRuntimeChangeRecord"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["RadrootsRuntimeObserver","onChange(change:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeObserverP8onChange6changeyAA03FfidG6RecordV_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"RadrootsRuntimeProtocol"},{"kind":"text","spelling":" : AnyObject, "},{"kind":"typeIdentifier","preciseIdentifier":"s:s8SendableP","spelling":"Sendable"}],"kind":"swift.protocol","path":["RadrootsRuntimeProtocol"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1Search"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"query"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"asOfUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiSearchResultRecordV","spelling":"FfiSearchResultRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1Search(context:query:limit:asOfUnixS:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP12phase1Search7context5query5limit9asOfUnixSSayAA03FfiG12ResultRecordVGAA0n12LocalNetworkP0V_SSs6UInt16Vs6UInt64VtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"probeBlossom"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","spelling":"FfiBlossomEvidenceRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","probeBlossom()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP12probeBlossomAA03FfiG14EvidenceRecordVyYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"uptimeMillis"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5Int64V","spelling":"Int64"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","uptimeMillis()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP12uptimeMilliss5Int64VyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"identityStatus"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","spelling":"FfiIdentityStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","identityStatus()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP14identityStatusAA011FfiIdentityG6RecordVyKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1Settings"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","spelling":"FfiMobileSettingsRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1Settings()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP14phase1SettingsAA09FfiMobileG6RecordVyYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkRelayStatus"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","spelling":"FfiRelayStatusReportRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","sdkRelayStatus()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP14sdkRelayStatusAA03FfigH12ReportRecordVSgyKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"persistedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1SaveDraft(draftId:input:authoredAtUnixS:expectedRevision:persistedAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP15phase1SaveDraft7draftId5input15authoredAtUnixS16expectedRevision09persistedmN2MsAA03FfiH12StatusRecordVSS_AA0s3AddH5InputVs6UInt64VAOSgAOtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SyncToday"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"nowUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"update"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","spelling":"FfiTodayProjectionUpdate"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","spelling":"FfiTodaySyncRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1SyncToday(context:nowUnixS:update:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP15phase1SyncToday7context8nowUnixS6updateAA03FfihG6RecordVAA0m12LocalNetworkN0V_s6UInt64VAA0mH16ProjectionUpdateOtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1TodayPage"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"asOfUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"cursor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?) "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayPageRecordV","spelling":"FfiTodayPageRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1TodayPage(context:limit:asOfUnixS:cursor:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP15phase1TodayPage7context5limit9asOfUnixS6cursorAA03FfigH6RecordVAA0o12LocalNetworkP0V_s6UInt16Vs6UInt64VSgSSSgtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkCapabilities"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiCapabilityRecordV","spelling":"FfiCapabilityRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","sdkCapabilities()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP15sdkCapabilitiesSayAA19FfiCapabilityRecordVGyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configureBlossom"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"hostKind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiBlossomHostKindO","spelling":"FfiBlossomHostKind"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"endpointAuthority"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO","spelling":"FfiBlossomEndpointAuthority"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"primaryOrigin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"fallbackOrigins"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","configureBlossom(hostKind:endpointAuthority:primaryOrigin:fallbackOrigins:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP16configureBlossom8hostKind17endpointAuthority13primaryOrigin15fallbackOriginsyAA03Ffig4HostI0O_AA0pg8EndpointK0OSSSaySSGtKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1AddSchemas"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","spelling":"FfiAddSchemaRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1AddSchemas()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP16phase1AddSchemasSayAA03FfiG12SchemaRecordVGyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1DraftHeads"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1DraftHeads(limit:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP16phase1DraftHeads5limitSayAA03FfiG12StatusRecordVGs6UInt16V_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1QueueDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"policy"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","spelling":"FfiQueuePolicyRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"queuedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1QueueDraft(draftId:expectedRevision:policy:queuedAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP16phase1QueueDraft7draftId16expectedRevision6policy14queuedAtUnixMsAA03FfiH12StatusRecordVSS_s6UInt64VAA0rg6PolicyT0VALtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkStorageStatus"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","spelling":"FfiStorageStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","sdkStorageStatus()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP16sdkStorageStatusAA03FfigH6RecordVyYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribeChanges"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"observer"},{"kind":"text","spelling":": any "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings0A15RuntimeObserverP","spelling":"RadrootsRuntimeObserver"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiSubscriptionHandleC","spelling":"FfiSubscriptionHandle"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","subscribeChanges(observer:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP16subscribeChanges8observerAA21FfiSubscriptionHandleCAA0aD8Observer_p_tKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CancelDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"cancelledAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1CancelDraft(draftId:expectedRevision:cancelledAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP17phase1CancelDraft7draftId16expectedRevision17cancelledAtUnixMsAA03FfiH12StatusRecordVSS_s6UInt64VAKtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1DraftStatus"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1DraftStatus(draftId:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP17phase1DraftStatus7draftIdAA03FfigH6RecordVSS_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1AdvanceDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1AdvanceDraft(draftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP18phase1AdvanceDraft7draftId16expectedRevisionAA03FfiH12StatusRecordVSS_s6UInt64VtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1LocalNetwork"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1LocalNetwork(context:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP18phase1LocalNetwork7contextAA03FfigH6RecordVAG_tKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RefreshToday"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"nowUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"update"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","spelling":"FfiTodayProjectionUpdate"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","spelling":"FfiTodayRefreshRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1RefreshToday(context:nowUnixS:update:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP18phase1RefreshToday7context8nowUnixS6updateAA03FfihG6RecordVAA0m12LocalNetworkN0V_s6UInt64VAA0mH16ProjectionUpdateOtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkBlossomEvidence"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","spelling":"FfiBlossomEvidenceRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","sdkBlossomEvidence()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP18sdkBlossomEvidenceAA03FfigH6RecordVSgyKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"setAppInfoPlatform"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"platform"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"bundleId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"buildNumber"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"buildSha"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","setAppInfoPlatform(platform:bundleId:version:buildNumber:buildSha:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP18setAppInfoPlatform8platform8bundleId7version11buildNumber0N3ShaySSSg_A4JtF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CancelProfile"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1CancelProfile(operationId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1CancelProfile11operationId16expectedRevisionAA03FfiH12StatusRecordVSS_s6UInt64VtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CardAddParity"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","spelling":"FfiCardAddParityRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1CardAddParity()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1CardAddParitySayAA03FfighI6RecordVGyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1ProfileStatus"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1ProfileStatus(operationId:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1ProfileStatus11operationIdAA03FfigH6RecordVSS_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RetrieveMedia"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"referenceFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiMediaOperationC","spelling":"FfiMediaOperation"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","spelling":"FfiVerifiedMediaArtifactRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1RetrieveMedia(context:referenceFingerprint:operation:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1RetrieveMedia7context20referenceFingerprint9operationAA011FfiVerifiedH14ArtifactRecordVAA0m12LocalNetworkP0V_SSAA0mH9OperationCtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveAddIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"existingDraftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?) "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1SaveAddIntent(input:existingDraftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP19phase1SaveAddIntent5input15existingDraftId16expectedRevisionAA03FfiL12StatusRecordVAA0phL5InputV_SSSgs6UInt64VSgtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1AdvanceProfile"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1AdvanceProfile(operationId:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP20phase1AdvanceProfile11operationIdAA03FfiH12StatusRecordVSS_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CancelRevision"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1CancelRevision(operationId:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP20phase1CancelRevision11operationIdAA03FfiH12StatusRecordVSS_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1QueueAddIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1QueueAddIntent(draftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP20phase1QueueAddIntent7draftId16expectedRevisionAA20FfiDraftStatusRecordVSS_s6UInt64VtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RevisionStatus"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1RevisionStatus(operationId:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP20phase1RevisionStatus11operationIdAA03FfigH6RecordVSS_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configureDeviceRelays"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"writableRelays"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","configureDeviceRelays(writableRelays:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP21configureDeviceRelays08writableH0ySaySSG_tKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configurePublicRelays"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"writableRelays"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","configurePublicRelays(writableRelays:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP21configurePublicRelays08writableH0ySaySSG_tKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1AdvanceRevision"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1AdvanceRevision(operationId:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP21phase1AdvanceRevision11operationIdAA03FfiH12StatusRecordVSS_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CancelAddIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1CancelAddIntent(draftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP21phase1CancelAddIntent7draftId16expectedRevisionAA20FfiDraftStatusRecordVSS_s6UInt64VtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1ReplaceSettings"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","spelling":"FfiReplaceSettingsRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","spelling":"FfiSettingsTransitionRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1ReplaceSettings(input:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP21phase1ReplaceSettings5inputAA03FfiH16TransitionRecordVAA0jghL0V_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SignQueuedDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1SignQueuedDraft(draftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP21phase1SignQueuedDraft7draftId16expectedRevisionAA03FfiI12StatusRecordVSS_s6UInt64VtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1MediaCacheStatus"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","spelling":"FfiMediaCacheStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1MediaCacheStatus(context:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP22phase1MediaCacheStatus7contextAA03FfighI6RecordVAA0k12LocalNetworkL0V_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RecoverAddIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1RecoverAddIntent(draftId:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP22phase1RecoverAddIntent7draftIdAA20FfiDraftStatusRecordVSS_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1UploadDraftMedia"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","spelling":"FfiBlossomUploadInput"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1UploadDraftMedia(input:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP22phase1UploadDraftMedia5inputAA03FfiH12StatusRecordVAA0k7BlossomG5InputV_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1ValidateAddDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1ValidateAddDraft(input:authoredAtUnixS:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP22phase1ValidateAddDraft5input15authoredAtUnixSyAA03FfihI5InputV_s6UInt64VtKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RecoverDraftQueue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"recoveredAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1RecoverDraftQueue(draftId:recoveredAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP23phase1RecoverDraftQueue7draftId17recoveredAtUnixMsAA03FfiH12StatusRecordVSS_s6UInt64VtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkBlossomConfiguration"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","spelling":"FfiBlossomConfigurationRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","sdkBlossomConfiguration()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP23sdkBlossomConfigurationAA03FfigH6RecordVSgyKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configureSimulatorRelays"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"loopbackRelays"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","configureSimulatorRelays(loopbackRelays:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP24configureSimulatorRelays08loopbackH0ySaySSG_tKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveRevisionIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","spelling":"FfiRevisionInputRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1SaveRevisionIntent(input:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP24phase1SaveRevisionIntent5inputAA03FfiH12StatusRecordVAA0kh5InputM0V_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveProfileMetadata"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","spelling":"FfiProfileMetadataInputRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1SaveProfileMetadata(input:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP25phase1SaveProfileMetadata5inputAA03FfiH12StatusRecordVAA0khi5InputM0V_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveRetractionDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","spelling":"FfiRetractionDraftInput"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"persistedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1SaveRetractionDraft(draftId:input:authoredAtUnixS:persistedAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP25phase1SaveRetractionDraft7draftId5input15authoredAtUnixS09persistednO2MsAA03FfiI12StatusRecordVSS_AA0rhI5InputVs6UInt64VANtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1ApplyIdentityCommand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"command"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","spelling":"FfiIdentityCommandRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","spelling":"FfiSettingsTransitionRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1ApplyIdentityCommand(expectedRevision:command:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP26phase1ApplyIdentityCommand16expectedRevision7commandAA27FfiSettingsTransitionRecordVs6UInt64V_AA0mhiP0VtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1UploadAddMediaIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","spelling":"FfiBlossomUploadIntent"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1UploadAddMediaIntent(input:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP26phase1UploadAddMediaIntent5inputAA20FfiDraftStatusRecordVAA0l7BlossomgJ0V_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1VerifiedMediaArtifact"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","spelling":"FfiVerifiedMediaArtifactRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1VerifiedMediaArtifact(context:artifactId:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP27phase1VerifiedMediaArtifact7context10artifactIdAA03FfighI6RecordVSgAA0m12LocalNetworkN0V_SStYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1InvalidateMediaArtifact"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1InvalidateMediaArtifact(context:artifactId:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP29phase1InvalidateMediaArtifact7context10artifactIdSbAA21FfiLocalNetworkRecordV_SStYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1PrepareAddMediaBackground"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","spelling":"FfiBlossomUploadIntent"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV","spelling":"FfiNativeUploadJobRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1PrepareAddMediaBackground(input:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP31phase1PrepareAddMediaBackground5inputAA24FfiNativeUploadJobRecordVAA0l7BlossomN6IntentV_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CompleteAddMediaBackground"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV","spelling":"FfiNativeUploadCompletionInput"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1CompleteAddMediaBackground(input:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP32phase1CompleteAddMediaBackground5inputAA20FfiDraftStatusRecordVAA0L27NativeUploadCompletionInputV_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1InvalidateMediaConfiguration"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"configurationFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1InvalidateMediaConfiguration(context:configurationFingerprint:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP34phase1InvalidateMediaConfiguration7context24configurationFingerprintSaySSGAA21FfiLocalNetworkRecordV_SStYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"info"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","spelling":"FfiRuntimeInfoRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","info()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP4infoAA03FfiD10InfoRecordVyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"infoJson"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","infoJson()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP8infoJsonSSyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1Me"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"asOfUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings11FfiMeRecordV","spelling":"FfiMeRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","phase1Me(context:asOfUnixS:)"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP8phase1Me7context9asOfUnixSAA03FfiG6RecordVAA0l12LocalNetworkM0V_s6UInt64VtYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shutdown"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiShutdownRecordV","spelling":"FfiShutdownRecord"}],"kind":"swift.method","path":["RadrootsRuntimeProtocol","shutdown()"],"precise":"s:19RadrootsKitBindings0A15RuntimeProtocolP8shutdownAA17FfiShutdownRecordVyYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"RadrootsRuntime"}],"kind":"swift.class","path":["RadrootsRuntime"],"precise":"s:19RadrootsKitBindings0A7RuntimeC"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1Search"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"query"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"asOfUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiSearchResultRecordV","spelling":"FfiSearchResultRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntime","phase1Search(context:query:limit:asOfUnixS:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC12phase1Search7context5query5limit9asOfUnixSSayAA03FfiF12ResultRecordVGAA0m12LocalNetworkO0V_SSs6UInt16Vs6UInt64VtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"probeBlossom"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","spelling":"FfiBlossomEvidenceRecord"}],"kind":"swift.method","path":["RadrootsRuntime","probeBlossom()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC12probeBlossomAA03FfiF14EvidenceRecordVyYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"uptimeMillis"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5Int64V","spelling":"Int64"}],"kind":"swift.method","path":["RadrootsRuntime","uptimeMillis()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC12uptimeMilliss5Int64VyF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"identityStatus"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","spelling":"FfiIdentityStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","identityStatus()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC14identityStatusAA011FfiIdentityF6RecordVyKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1Settings"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","spelling":"FfiMobileSettingsRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1Settings()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC14phase1SettingsAA09FfiMobileF6RecordVyYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkRelayStatus"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","spelling":"FfiRelayStatusReportRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.method","path":["RadrootsRuntime","sdkRelayStatus()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC14sdkRelayStatusAA03FfifG12ReportRecordVSgyKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"withHostSigner"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"applicationSupportDirectory"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"publicKeyHex"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sourceGenerationHex"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sourceGenerationCreatedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"protectedData"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO","spelling":"ProtectedDataAvailability"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"hostSigner"},{"kind":"text","spelling":": any "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings0A10HostSignerP","spelling":"RadrootsHostSigner"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings0A7RuntimeC","spelling":"RadrootsRuntime"}],"kind":"swift.type.method","path":["RadrootsRuntime","withHostSigner(applicationSupportDirectory:publicKeyHex:sourceGenerationHex:sourceGenerationCreatedAtUnixMs:protectedData:hostSigner:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC14withHostSigner27applicationSupportDirectory12publicKeyHex016sourceGenerationM00nO15CreatedAtUnixMs13protectedData04hostG0ACSS_S2Ss6UInt64VAA09ProtectedU12AvailabilityOAA0afG0_ptYaKFZ"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"persistedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1SaveDraft(draftId:input:authoredAtUnixS:expectedRevision:persistedAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC15phase1SaveDraft7draftId5input15authoredAtUnixS16expectedRevision09persistedlM2MsAA03FfiG12StatusRecordVSS_AA0r3AddG5InputVs6UInt64VAOSgAOtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SyncToday"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"nowUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"update"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","spelling":"FfiTodayProjectionUpdate"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","spelling":"FfiTodaySyncRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1SyncToday(context:nowUnixS:update:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC15phase1SyncToday7context8nowUnixS6updateAA03FfigF6RecordVAA0l12LocalNetworkM0V_s6UInt64VAA0lG16ProjectionUpdateOtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1TodayPage"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"asOfUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"cursor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?) "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayPageRecordV","spelling":"FfiTodayPageRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1TodayPage(context:limit:asOfUnixS:cursor:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC15phase1TodayPage7context5limit9asOfUnixS6cursorAA03FfifG6RecordVAA0n12LocalNetworkO0V_s6UInt16Vs6UInt64VSgSSSgtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkCapabilities"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiCapabilityRecordV","spelling":"FfiCapabilityRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntime","sdkCapabilities()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC15sdkCapabilitiesSayAA19FfiCapabilityRecordVGyF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configureBlossom"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"hostKind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiBlossomHostKindO","spelling":"FfiBlossomHostKind"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"endpointAuthority"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO","spelling":"FfiBlossomEndpointAuthority"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"primaryOrigin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"fallbackOrigins"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntime","configureBlossom(hostKind:endpointAuthority:primaryOrigin:fallbackOrigins:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC16configureBlossom8hostKind17endpointAuthority13primaryOrigin15fallbackOriginsyAA03Ffif4HostH0O_AA0of8EndpointJ0OSSSaySSGtKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1AddSchemas"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","spelling":"FfiAddSchemaRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntime","phase1AddSchemas()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC16phase1AddSchemasSayAA03FfiF12SchemaRecordVGyF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1DraftHeads"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"limit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntime","phase1DraftHeads(limit:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC16phase1DraftHeads5limitSayAA03FfiF12StatusRecordVGs6UInt16V_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1QueueDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"policy"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","spelling":"FfiQueuePolicyRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"queuedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1QueueDraft(draftId:expectedRevision:policy:queuedAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC16phase1QueueDraft7draftId16expectedRevision6policy14queuedAtUnixMsAA03FfiG12StatusRecordVSS_s6UInt64VAA0qf6PolicyS0VALtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkStorageStatus"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","spelling":"FfiStorageStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","sdkStorageStatus()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC16sdkStorageStatusAA03FfifG6RecordVyYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"subscribeChanges"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"observer"},{"kind":"text","spelling":": any "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings0A15RuntimeObserverP","spelling":"RadrootsRuntimeObserver"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiSubscriptionHandleC","spelling":"FfiSubscriptionHandle"}],"kind":"swift.method","path":["RadrootsRuntime","subscribeChanges(observer:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC16subscribeChanges8observerAA21FfiSubscriptionHandleCAA0aD8Observer_p_tKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CancelDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"cancelledAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1CancelDraft(draftId:expectedRevision:cancelledAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC17phase1CancelDraft7draftId16expectedRevision17cancelledAtUnixMsAA03FfiG12StatusRecordVSS_s6UInt64VAKtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1DraftStatus"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1DraftStatus(draftId:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC17phase1DraftStatus7draftIdAA03FfifG6RecordVSS_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1AdvanceDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1AdvanceDraft(draftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC18phase1AdvanceDraft7draftId16expectedRevisionAA03FfiG12StatusRecordVSS_s6UInt64VtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1LocalNetwork"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1LocalNetwork(context:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC18phase1LocalNetwork7contextAA03FfifG6RecordVAG_tKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RefreshToday"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"nowUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"update"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","spelling":"FfiTodayProjectionUpdate"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","spelling":"FfiTodayRefreshRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1RefreshToday(context:nowUnixS:update:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC18phase1RefreshToday7context8nowUnixS6updateAA03FfigF6RecordVAA0l12LocalNetworkM0V_s6UInt64VAA0lG16ProjectionUpdateOtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkBlossomEvidence"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","spelling":"FfiBlossomEvidenceRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.method","path":["RadrootsRuntime","sdkBlossomEvidence()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC18sdkBlossomEvidenceAA03FfifG6RecordVSgyKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"setAppInfoPlatform"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"platform"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"bundleId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"buildNumber"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"buildSha"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.method","path":["RadrootsRuntime","setAppInfoPlatform(platform:bundleId:version:buildNumber:buildSha:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC18setAppInfoPlatform8platform8bundleId7version11buildNumber0M3ShaySSSg_A4JtF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CancelProfile"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1CancelProfile(operationId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC19phase1CancelProfile11operationId16expectedRevisionAA03FfiG12StatusRecordVSS_s6UInt64VtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CardAddParity"},{"kind":"text","spelling":"() -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","spelling":"FfiCardAddParityRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntime","phase1CardAddParity()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC19phase1CardAddParitySayAA03FfifgH6RecordVGyF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1ProfileStatus"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1ProfileStatus(operationId:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC19phase1ProfileStatus11operationIdAA03FfifG6RecordVSS_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RetrieveMedia"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"referenceFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiMediaOperationC","spelling":"FfiMediaOperation"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","spelling":"FfiVerifiedMediaArtifactRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1RetrieveMedia(context:referenceFingerprint:operation:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC19phase1RetrieveMedia7context20referenceFingerprint9operationAA011FfiVerifiedG14ArtifactRecordVAA0l12LocalNetworkO0V_SSAA0lG9OperationCtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveAddIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"existingDraftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?) "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1SaveAddIntent(input:existingDraftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC19phase1SaveAddIntent5input15existingDraftId16expectedRevisionAA03FfiK12StatusRecordVAA0ogK5InputV_SSSgs6UInt64VSgtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1AdvanceProfile"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1AdvanceProfile(operationId:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC20phase1AdvanceProfile11operationIdAA03FfiG12StatusRecordVSS_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CancelRevision"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1CancelRevision(operationId:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC20phase1CancelRevision11operationIdAA03FfiG12StatusRecordVSS_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1QueueAddIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1QueueAddIntent(draftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC20phase1QueueAddIntent7draftId16expectedRevisionAA20FfiDraftStatusRecordVSS_s6UInt64VtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RevisionStatus"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1RevisionStatus(operationId:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC20phase1RevisionStatus11operationIdAA03FfifG6RecordVSS_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configureDeviceRelays"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"writableRelays"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntime","configureDeviceRelays(writableRelays:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC21configureDeviceRelays08writableG0ySaySSG_tKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configurePublicRelays"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"writableRelays"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntime","configurePublicRelays(writableRelays:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC21configurePublicRelays08writableG0ySaySSG_tKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1AdvanceRevision"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1AdvanceRevision(operationId:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC21phase1AdvanceRevision11operationIdAA03FfiG12StatusRecordVSS_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CancelAddIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1CancelAddIntent(draftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC21phase1CancelAddIntent7draftId16expectedRevisionAA20FfiDraftStatusRecordVSS_s6UInt64VtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1ReplaceSettings"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","spelling":"FfiReplaceSettingsRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","spelling":"FfiSettingsTransitionRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1ReplaceSettings(input:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC21phase1ReplaceSettings5inputAA03FfiG16TransitionRecordVAA0ifgK0V_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SignQueuedDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1SignQueuedDraft(draftId:expectedRevision:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC21phase1SignQueuedDraft7draftId16expectedRevisionAA03FfiH12StatusRecordVSS_s6UInt64VtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1MediaCacheStatus"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","spelling":"FfiMediaCacheStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1MediaCacheStatus(context:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC22phase1MediaCacheStatus7contextAA03FfifgH6RecordVAA0j12LocalNetworkK0V_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RecoverAddIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1RecoverAddIntent(draftId:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC22phase1RecoverAddIntent7draftIdAA20FfiDraftStatusRecordVSS_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1UploadDraftMedia"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","spelling":"FfiBlossomUploadInput"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1UploadDraftMedia(input:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC22phase1UploadDraftMedia5inputAA03FfiG12StatusRecordVAA0j7BlossomF5InputV_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1ValidateAddDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntime","phase1ValidateAddDraft(input:authoredAtUnixS:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC22phase1ValidateAddDraft5input15authoredAtUnixSyAA03FfigH5InputV_s6UInt64VtKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1RecoverDraftQueue"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"recoveredAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1RecoverDraftQueue(draftId:recoveredAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC23phase1RecoverDraftQueue7draftId17recoveredAtUnixMsAA03FfiG12StatusRecordVSS_s6UInt64VtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkBlossomConfiguration"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","spelling":"FfiBlossomConfigurationRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.method","path":["RadrootsRuntime","sdkBlossomConfiguration()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC23sdkBlossomConfigurationAA03FfifG6RecordVSgyKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configureSimulatorRelays"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"loopbackRelays"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]) "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.method","path":["RadrootsRuntime","configureSimulatorRelays(loopbackRelays:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC24configureSimulatorRelays08loopbackG0ySaySSG_tKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveRevisionIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","spelling":"FfiRevisionInputRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1SaveRevisionIntent(input:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC24phase1SaveRevisionIntent5inputAA03FfiG12StatusRecordVAA0jg5InputL0V_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveProfileMetadata"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","spelling":"FfiProfileMetadataInputRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1SaveProfileMetadata(input:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC25phase1SaveProfileMetadata5inputAA03FfiG12StatusRecordVAA0jgh5InputL0V_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1SaveRetractionDraft"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","spelling":"FfiRetractionDraftInput"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"persistedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1SaveRetractionDraft(draftId:input:authoredAtUnixS:persistedAtUnixMs:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC25phase1SaveRetractionDraft7draftId5input15authoredAtUnixS09persistedmN2MsAA03FfiH12StatusRecordVSS_AA0qgH5InputVs6UInt64VANtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1ApplyIdentityCommand"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"command"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","spelling":"FfiIdentityCommandRecord"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","spelling":"FfiSettingsTransitionRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1ApplyIdentityCommand(expectedRevision:command:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC26phase1ApplyIdentityCommand16expectedRevision7commandAA27FfiSettingsTransitionRecordVs6UInt64V_AA0lghO0VtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1UploadAddMediaIntent"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","spelling":"FfiBlossomUploadIntent"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1UploadAddMediaIntent(input:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC26phase1UploadAddMediaIntent5inputAA20FfiDraftStatusRecordVAA0k7BlossomfI0V_tYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"convenience"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"applicationSupportDirectory"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"publicKeyHex"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sourceGenerationHex"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sourceGenerationCreatedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"protectedData"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO","spelling":"ProtectedDataAvailability"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.init","path":["RadrootsRuntime","init(applicationSupportDirectory:publicKeyHex:sourceGenerationHex:sourceGenerationCreatedAtUnixMs:protectedData:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC27applicationSupportDirectory12publicKeyHex016sourceGenerationJ00kL15CreatedAtUnixMs13protectedDataACSS_S2Ss6UInt64VAA09ProtectedR12AvailabilityOtYaKcfc"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1VerifiedMediaArtifact"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","spelling":"FfiVerifiedMediaArtifactRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.method","path":["RadrootsRuntime","phase1VerifiedMediaArtifact(context:artifactId:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC27phase1VerifiedMediaArtifact7context10artifactIdAA03FfifgH6RecordVSgAA0l12LocalNetworkM0V_SStYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1InvalidateMediaArtifact"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.method","path":["RadrootsRuntime","phase1InvalidateMediaArtifact(context:artifactId:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC29phase1InvalidateMediaArtifact7context10artifactIdSbAA21FfiLocalNetworkRecordV_SStYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1PrepareAddMediaBackground"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","spelling":"FfiBlossomUploadIntent"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV","spelling":"FfiNativeUploadJobRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1PrepareAddMediaBackground(input:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC31phase1PrepareAddMediaBackground5inputAA24FfiNativeUploadJobRecordVAA0k7BlossomM6IntentV_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1CompleteAddMediaBackground"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"input"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV","spelling":"FfiNativeUploadCompletionInput"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1CompleteAddMediaBackground(input:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC32phase1CompleteAddMediaBackground5inputAA20FfiDraftStatusRecordVAA0K27NativeUploadCompletionInputV_tYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1InvalidateMediaConfiguration"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"configurationFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]"}],"kind":"swift.method","path":["RadrootsRuntime","phase1InvalidateMediaConfiguration(context:configurationFingerprint:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC34phase1InvalidateMediaConfiguration7context24configurationFingerprintSaySSGAA21FfiLocalNetworkRecordV_SStYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"info"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","spelling":"FfiRuntimeInfoRecord"}],"kind":"swift.method","path":["RadrootsRuntime","info()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC4infoAA03FfiD10InfoRecordVyF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"infoJson"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.method","path":["RadrootsRuntime","infoJson()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC8infoJsonSSyF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase1Me"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"context"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"asOfUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings11FfiMeRecordV","spelling":"FfiMeRecord"}],"kind":"swift.method","path":["RadrootsRuntime","phase1Me(context:asOfUnixS:)"],"precise":"s:19RadrootsKitBindings0A7RuntimeC8phase1Me7context9asOfUnixSAA03FfiF6RecordVAA0k12LocalNetworkL0V_s6UInt64VtYaKF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shutdown"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"async"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"throws"},{"kind":"text","spelling":" -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiShutdownRecordV","spelling":"FfiShutdownRecord"}],"kind":"swift.method","path":["RadrootsRuntime","shutdown()"],"precise":"s:19RadrootsKitBindings0A7RuntimeC8shutdownAA17FfiShutdownRecordVyYaKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"RadrootsAppError"}],"kind":"swift.enum","path":["RadrootsAppError"],"precise":"s:19RadrootsKitBindings0A8AppErrorO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"errorDescription"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"? { "},{"kind":"keyword","spelling":"get"},{"kind":"text","spelling":" }"}],"kind":"swift.property","path":["RadrootsAppError","errorDescription"],"precise":"s:19RadrootsKitBindings0A8AppErrorO16errorDescriptionSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"Failure"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"report"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings0A11ErrorRecordV","spelling":"RadrootsErrorRecord"},{"kind":"text","spelling":")"}],"kind":"swift.enum.case","path":["RadrootsAppError","Failure(report:)"],"precise":"s:19RadrootsKitBindings0A8AppErrorO7FailureyAcA0aE6RecordV_tcACmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMeRecord"}],"kind":"swift.struct","path":["FfiMeRecord"],"precise":"s:19RadrootsKitBindings11FfiMeRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"cards"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayCardRecordV","spelling":"FfiTodayCardRecord"},{"kind":"text","spelling":"])"}],"kind":"swift.init","path":["FfiMeRecord","init(schemaVersion:publicKey:profile:cards:)"],"precise":"s:19RadrootsKitBindings11FfiMeRecordV13schemaVersion9publicKey7profile5cardsACs6UInt16V_SSAA0d7ProfileF0VSgSayAA0d9TodayCardF0VGtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiMeRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings11FfiMeRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings11FfiMeRecordV","spelling":"FfiMeRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings11FfiMeRecordV","spelling":"FfiMeRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiMeRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings11FfiMeRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiMeRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings11FfiMeRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cards"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayCardRecordV","spelling":"FfiTodayCardRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiMeRecord","cards"],"precise":"s:19RadrootsKitBindings11FfiMeRecordV5cardsSayAA0d9TodayCardF0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiMeRecord","profile"],"precise":"s:19RadrootsKitBindings11FfiMeRecordV7profileAA0d7ProfileF0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiMeRecord","publicKey"],"precise":"s:19RadrootsKitBindings11FfiMeRecordV9publicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"initLogging"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"dir"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"fileName"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"isStdout"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":"?) "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.func","path":["initLogging(dir:fileName:isStdout:)"],"precise":"s:19RadrootsKitBindings11initLogging3dir8fileName8isStdoutySSSg_AFSbSgtKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiDraftKind"}],"kind":"swift.enum","path":["FfiDraftKind"],"precise":"s:19RadrootsKitBindings12FfiDraftKindO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"retraction"}],"kind":"swift.enum.case","path":["FfiDraftKind","retraction"],"precise":"s:19RadrootsKitBindings12FfiDraftKindO10retractionyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"add"}],"kind":"swift.enum.case","path":["FfiDraftKind","add"],"precise":"s:19RadrootsKitBindings12FfiDraftKindO3addyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMediaStage"}],"kind":"swift.enum","path":["FfiMediaStage"],"precise":"s:19RadrootsKitBindings13FfiMediaStageO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"failed"}],"kind":"swift.enum.case","path":["FfiMediaStage","failed"],"precise":"s:19RadrootsKitBindings13FfiMediaStageO6failedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"pending"}],"kind":"swift.enum.case","path":["FfiMediaStage","pending"],"precise":"s:19RadrootsKitBindings13FfiMediaStageO7pendingyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"orphaned"}],"kind":"swift.enum.case","path":["FfiMediaStage","orphaned"],"precise":"s:19RadrootsKitBindings13FfiMediaStageO8orphanedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"verified"}],"kind":"swift.enum.case","path":["FfiMediaStage","verified"],"precise":"s:19RadrootsKitBindings13FfiMediaStageO8verifiedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preparing"}],"kind":"swift.enum.case","path":["FfiMediaStage","preparing"],"precise":"s:19RadrootsKitBindings13FfiMediaStageO9preparingyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"uploading"}],"kind":"swift.enum.case","path":["FfiMediaStage","uploading"],"precise":"s:19RadrootsKitBindings13FfiMediaStageO9uploadingyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiOutboxState"}],"kind":"swift.enum","path":["FfiOutboxState"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"delivering"}],"kind":"swift.enum.case","path":["FfiOutboxState","delivering"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO10deliveringyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"readyToSign"}],"kind":"swift.enum.case","path":["FfiOutboxState","readyToSign"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO11readyToSignyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaPreparing"}],"kind":"swift.enum.case","path":["FfiOutboxState","mediaPreparing"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO14mediaPreparingyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaUploading"}],"kind":"swift.enum.case","path":["FfiOutboxState","mediaUploading"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO14mediaUploadingyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"partiallyDelivered"}],"kind":"swift.enum.case","path":["FfiOutboxState","partiallyDelivered"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO18partiallyDeliveredyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draft"}],"kind":"swift.enum.case","path":["FfiOutboxState","draft"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO5draftyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"queued"}],"kind":"swift.enum.case","path":["FfiOutboxState","queued"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO6queuedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signed"}],"kind":"swift.enum.case","path":["FfiOutboxState","signed"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO6signedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signing"}],"kind":"swift.enum.case","path":["FfiOutboxState","signing"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO7signingyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"complete"}],"kind":"swift.enum.case","path":["FfiOutboxState","complete"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO8completeyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"terminal"}],"kind":"swift.enum.case","path":["FfiOutboxState","terminal"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO8terminalyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cancelled"}],"kind":"swift.enum.case","path":["FfiOutboxState","cancelled"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO9cancelledyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"retryable"}],"kind":"swift.enum.case","path":["FfiOutboxState","retryable"],"precise":"s:19RadrootsKitBindings14FfiOutboxStateO9retryableyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiAddFieldKind"}],"kind":"swift.enum","path":["FfiAddFieldKind"],"precise":"s:19RadrootsKitBindings15FfiAddFieldKindO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"multilineText"}],"kind":"swift.enum.case","path":["FfiAddFieldKind","multilineText"],"precise":"s:19RadrootsKitBindings15FfiAddFieldKindO13multilineTextyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"date"}],"kind":"swift.enum.case","path":["FfiAddFieldKind","date"],"precise":"s:19RadrootsKitBindings15FfiAddFieldKindO4dateyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"text"}],"kind":"swift.enum.case","path":["FfiAddFieldKind","text"],"precise":"s:19RadrootsKitBindings15FfiAddFieldKindO4textyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"media"}],"kind":"swift.enum.case","path":["FfiAddFieldKind","media"],"precise":"s:19RadrootsKitBindings15FfiAddFieldKindO5mediayA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"choice"}],"kind":"swift.enum.case","path":["FfiAddFieldKind","choice"],"precise":"s:19RadrootsKitBindings15FfiAddFieldKindO6choiceyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"decimal"}],"kind":"swift.enum.case","path":["FfiAddFieldKind","decimal"],"precise":"s:19RadrootsKitBindings15FfiAddFieldKindO7decimalyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"dateTime"}],"kind":"swift.enum.case","path":["FfiAddFieldKind","dateTime"],"precise":"s:19RadrootsKitBindings15FfiAddFieldKindO8dateTimeyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"location"}],"kind":"swift.enum.case","path":["FfiAddFieldKind","location"],"precise":"s:19RadrootsKitBindings15FfiAddFieldKindO8locationyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiAddDraftInput"}],"kind":"swift.struct","path":["FfiAddDraftInput"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"foodStatus"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","foodStatus"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV10foodStatusSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"identifier"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","identifier"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV10identifierSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"}],"kind":"swift.property","path":["FfiAddDraftInput","commandType"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV11commandTypeAA0de7CommandI0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventTiming"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiEventTimingKindO","spelling":"FfiEventTimingKind"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","eventTiming"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV11eventTimingAA0d5EventI4KindOSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"priceAmount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","priceAmount"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV11priceAmountSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventEndDate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","eventEndDate"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV12eventEndDateSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventEndUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","eventEndUnixS"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV13eventEndUnixSs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventTimezone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","eventTimezone"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV13eventTimezoneSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"identifier"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"title"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"summary"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"location"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventTiming"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiEventTimingKindO","spelling":"FfiEventTimingKind"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventStartDate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventEndDate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventStartUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventEndUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventTimezone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"priceAmount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"unit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"quantity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"foodPublishedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"foodStatus"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"media"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":"])"}],"kind":"swift.init","path":["FfiAddDraftInput","init(schemaVersion:commandType:content:identifier:title:summary:location:eventTiming:eventStartDate:eventEndDate:eventStartUnixS:eventEndUnixS:eventTimezone:priceAmount:currency:unit:quantity:foodPublishedAtUnixS:foodStatus:media:)"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV13schemaVersion11commandType7content10identifier5title7summary8location11eventTiming0Q9StartDate0q3EndT00qS5UnixS0quV1S0Q8Timezone11priceAmount8currency4unit8quantity015foodPublishedAtV1S10foodStatus5mediaACs6UInt16V_AA0de7CommandK0OS2SSgA0_A0_A0_AA0d5EventR4KindOSgA0_A0_s6UInt64VSgA6_A0_A0_A0_A0_A0_A6_A0_SayAA0d13PreparedMediaG0VGtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiAddDraftInput","schemaVersion"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventStartDate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","eventStartDate"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV14eventStartDateSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventStartUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","eventStartUnixS"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV15eventStartUnixSs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"foodPublishedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","foodPublishedAtUnixS"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV20foodPublishedAtUnixSs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiAddDraftInput","==(_:_:)"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiAddDraftInput","hash(into:)"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","unit"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV4unitSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"media"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiAddDraftInput","media"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV5mediaSayAA0d13PreparedMediaG0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"title"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","title"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV5titleSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiAddDraftInput","content"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV7contentSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"summary"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","summary"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV7summarySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","currency"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV8currencySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"location"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","location"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV8locationSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"quantity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddDraftInput","quantity"],"precise":"s:19RadrootsKitBindings16FfiAddDraftInputV8quantitySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiAppInfoRecord"}],"kind":"swift.struct","path":["FfiAppInfoRecord"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shuttingDown"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiAppInfoRecord","shuttingDown"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV12shuttingDownSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"uptimeMillis"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5Int64V","spelling":"Int64"}],"kind":"swift.property","path":["FfiAppInfoRecord","uptimeMillis"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV12uptimeMilliss5Int64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"build"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","spelling":"FfiBuildInfoRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"startedUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5Int64V","spelling":"Int64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"uptimeMillis"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5Int64V","spelling":"Int64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"shuttingDown"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"platform"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","spelling":"FfiAppPlatformRecord"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiAppInfoRecord","init(schemaVersion:build:startedUnixMs:uptimeMillis:shuttingDown:platform:)"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV13schemaVersion5build13startedUnixMs12uptimeMillis12shuttingDown8platformACs6UInt16V_AA0d5BuildfG0Vs5Int64VAOSbAA0de8PlatformG0VSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiAppInfoRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"startedUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5Int64V","spelling":"Int64"}],"kind":"swift.property","path":["FfiAppInfoRecord","startedUnixMs"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV13startedUnixMss5Int64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAppInfoRecordV","spelling":"FfiAppInfoRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAppInfoRecordV","spelling":"FfiAppInfoRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiAppInfoRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiAppInfoRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"build"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","spelling":"FfiBuildInfoRecord"}],"kind":"swift.property","path":["FfiAppInfoRecord","build"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV5buildAA0d5BuildfG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"platform"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","spelling":"FfiAppPlatformRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAppInfoRecord","platform"],"precise":"s:19RadrootsKitBindings16FfiAppInfoRecordV8platformAA0de8PlatformG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiProfileRecord"}],"kind":"swift.struct","path":["FfiProfileRecord"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"displayName"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileRecord","displayName"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV11displayNameSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"displayName"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"about"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"picture"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","spelling":"FfiMediaReferenceRecord"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"banner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","spelling":"FfiMediaReferenceRecord"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"nip05"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"website"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"lightningAddress"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiProfileRecord","init(schemaVersion:authorPublicKey:name:displayName:about:picture:banner:nip05:website:lightningAddress:)"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV13schemaVersion15authorPublicKey4name11displayName5about7picture6banner5nip057website16lightningAddressACs6UInt16V_S2SSgA2pA0d14MediaReferenceF0VSgAs3Ptcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiProfileRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiProfileRecord","authorPublicKey"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV15authorPublicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lightningAddress"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileRecord","lightningAddress"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV16lightningAddressSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiProfileRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiProfileRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileRecord","name"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV4nameSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"about"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileRecord","about"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV5aboutSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nip05"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileRecord","nip05"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV5nip05SSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"banner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","spelling":"FfiMediaReferenceRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileRecord","banner"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV6bannerAA0d14MediaReferenceF0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"picture"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","spelling":"FfiMediaReferenceRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileRecord","picture"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV7pictureAA0d14MediaReferenceF0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"website"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileRecord","website"],"precise":"s:19RadrootsKitBindings16FfiProfileRecordV7websiteSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRevisionPhase"}],"kind":"swift.enum","path":["FfiRevisionPhase"],"precise":"s:19RadrootsKitBindings16FfiRevisionPhaseO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"partialEffect"}],"kind":"swift.enum.case","path":["FfiRevisionPhase","partialEffect"],"precise":"s:19RadrootsKitBindings16FfiRevisionPhaseO13partialEffectyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"replacementFailed"}],"kind":"swift.enum.case","path":["FfiRevisionPhase","replacementFailed"],"precise":"s:19RadrootsKitBindings16FfiRevisionPhaseO17replacementFailedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"retractionPending"}],"kind":"swift.enum.case","path":["FfiRevisionPhase","retractionPending"],"precise":"s:19RadrootsKitBindings16FfiRevisionPhaseO17retractionPendingyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"replacementPending"}],"kind":"swift.enum.case","path":["FfiRevisionPhase","replacementPending"],"precise":"s:19RadrootsKitBindings16FfiRevisionPhaseO18replacementPendingyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"complete"}],"kind":"swift.enum.case","path":["FfiRevisionPhase","complete"],"precise":"s:19RadrootsKitBindings16FfiRevisionPhaseO8completeyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cancelled"}],"kind":"swift.enum.case","path":["FfiRevisionPhase","cancelled"],"precise":"s:19RadrootsKitBindings16FfiRevisionPhaseO9cancelledyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiThreadProfile"}],"kind":"swift.enum","path":["FfiThreadProfile"],"precise":"s:19RadrootsKitBindings16FfiThreadProfileO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"reply"}],"kind":"swift.enum.case","path":["FfiThreadProfile","reply"],"precise":"s:19RadrootsKitBindings16FfiThreadProfileO5replyyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"comment"}],"kind":"swift.enum.case","path":["FfiThreadProfile","comment"],"precise":"s:19RadrootsKitBindings16FfiThreadProfileO7commentyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"profile"}],"kind":"swift.enum.case","path":["FfiThreadProfile","profile"],"precise":"s:19RadrootsKitBindings16FfiThreadProfileO7profileyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deletion"}],"kind":"swift.enum.case","path":["FfiThreadProfile","deletion"],"precise":"s:19RadrootsKitBindings16FfiThreadProfileO8deletionyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiTodayCardType"}],"kind":"swift.enum","path":["FfiTodayCardType"],"precise":"s:19RadrootsKitBindings16FfiTodayCardTypeO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"photoUpdate"}],"kind":"swift.enum.case","path":["FfiTodayCardType","photoUpdate"],"precise":"s:19RadrootsKitBindings16FfiTodayCardTypeO11photoUpdateyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"foodAvailability"}],"kind":"swift.enum.case","path":["FfiTodayCardType","foodAvailability"],"precise":"s:19RadrootsKitBindings16FfiTodayCardTypeO16foodAvailabilityyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ask"}],"kind":"swift.enum.case","path":["FfiTodayCardType","ask"],"precise":"s:19RadrootsKitBindings16FfiTodayCardTypeO3askyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"event"}],"kind":"swift.enum.case","path":["FfiTodayCardType","event"],"precise":"s:19RadrootsKitBindings16FfiTodayCardTypeO5eventyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"}],"kind":"swift.enum.case","path":["FfiTodayCardType","update"],"precise":"s:19RadrootsKitBindings16FfiTodayCardTypeO6updateyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiAddCommandType"}],"kind":"swift.enum","path":["FfiAddCommandType"],"precise":"s:19RadrootsKitBindings17FfiAddCommandTypeO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"createEvent"}],"kind":"swift.enum.case","path":["FfiAddCommandType","createEvent"],"precise":"s:19RadrootsKitBindings17FfiAddCommandTypeO11createEventyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"createUpdate"}],"kind":"swift.enum.case","path":["FfiAddCommandType","createUpdate"],"precise":"s:19RadrootsKitBindings17FfiAddCommandTypeO12createUpdateyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"createPhotoUpdate"}],"kind":"swift.enum.case","path":["FfiAddCommandType","createPhotoUpdate"],"precise":"s:19RadrootsKitBindings17FfiAddCommandTypeO17createPhotoUpdateyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"createFoodAvailability"}],"kind":"swift.enum.case","path":["FfiAddCommandType","createFoodAvailability"],"precise":"s:19RadrootsKitBindings17FfiAddCommandTypeO22createFoodAvailabilityyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"createAsk"}],"kind":"swift.enum.case","path":["FfiAddCommandType","createAsk"],"precise":"s:19RadrootsKitBindings17FfiAddCommandTypeO9createAskyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiAddFieldRecord"}],"kind":"swift.struct","path":["FfiAddFieldRecord"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"label"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings15FfiAddFieldKindO","spelling":"FfiAddFieldKind"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"required"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"choices"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"maxBytes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"maxItems"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiAddFieldRecord","init(schemaVersion:id:label:kind:required:choices:maxBytes:maxItems:)"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV13schemaVersion2id5label4kind8required7choices8maxBytes0O5ItemsACs6UInt16V_S2SAA0deF4KindOSbSaySSGs6UInt64VSgAMSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiAddFieldRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddFieldRecordV","spelling":"FfiAddFieldRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddFieldRecordV","spelling":"FfiAddFieldRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiAddFieldRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiAddFieldRecord","id"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV2idSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiAddFieldRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings15FfiAddFieldKindO","spelling":"FfiAddFieldKind"}],"kind":"swift.property","path":["FfiAddFieldRecord","kind"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV4kindAA0deF4KindOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiAddFieldRecord","label"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV5labelSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"choices"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiAddFieldRecord","choices"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV7choicesSaySSGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maxBytes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddFieldRecord","maxBytes"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV8maxBytess6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maxItems"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAddFieldRecord","maxItems"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV8maxItemss6UInt16VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"required"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiAddFieldRecord","required"],"precise":"s:19RadrootsKitBindings17FfiAddFieldRecordV8requiredSbvp"},{"access":"open","declaration":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMediaOperation"}],"kind":"swift.class","path":["FfiMediaOperation"],"precise":"s:19RadrootsKitBindings17FfiMediaOperationC"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isCancelled"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.method","path":["FfiMediaOperation","isCancelled()"],"precise":"s:19RadrootsKitBindings17FfiMediaOperationC11isCancelledSbyF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.method","path":["FfiMediaOperation","operationId()"],"precise":"s:19RadrootsKitBindings17FfiMediaOperationC11operationIdSSyF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cancel"},{"kind":"text","spelling":"()"}],"kind":"swift.method","path":["FfiMediaOperation","cancel()"],"precise":"s:19RadrootsKitBindings17FfiMediaOperationC6cancelyyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"convenience"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.init","path":["FfiMediaOperation","init()"],"precise":"s:19RadrootsKitBindings17FfiMediaOperationCACyKcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRevisionPolicy"}],"kind":"swift.enum","path":["FfiRevisionPolicy"],"precise":"s:19RadrootsKitBindings17FfiRevisionPolicyO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"replaceThenRetract"}],"kind":"swift.enum.case","path":["FfiRevisionPolicy","replaceThenRetract"],"precise":"s:19RadrootsKitBindings17FfiRevisionPolicyO18replaceThenRetractyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"addressableReplacement"}],"kind":"swift.enum.case","path":["FfiRevisionPolicy","addressableReplacement"],"precise":"s:19RadrootsKitBindings17FfiRevisionPolicyO22addressableReplacementyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiShutdownRecord"}],"kind":"swift.struct","path":["FfiShutdownRecord"],"precise":"s:19RadrootsKitBindings17FfiShutdownRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"alreadyClosed"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiShutdownRecord","alreadyClosed"],"precise":"s:19RadrootsKitBindings17FfiShutdownRecordV13alreadyClosedSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"alreadyClosed"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiShutdownRecord","init(schemaVersion:state:alreadyClosed:)"],"precise":"s:19RadrootsKitBindings17FfiShutdownRecordV13schemaVersion5state13alreadyClosedACs6UInt16V_SSSbtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiShutdownRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings17FfiShutdownRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiShutdownRecordV","spelling":"FfiShutdownRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiShutdownRecordV","spelling":"FfiShutdownRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiShutdownRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings17FfiShutdownRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiShutdownRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings17FfiShutdownRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiShutdownRecord","state"],"precise":"s:19RadrootsKitBindings17FfiShutdownRecordV5stateSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"HostSigningResult"}],"kind":"swift.struct","path":["HostSigningResult"],"precise":"s:19RadrootsKitBindings17HostSigningResultV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningResult","operationId"],"precise":"s:19RadrootsKitBindings17HostSigningResultV11operationIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signatureHex"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["HostSigningResult","signatureHex"],"precise":"s:19RadrootsKitBindings17HostSigningResultV12signatureHexSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outcome"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18HostSigningOutcomeO","spelling":"HostSigningOutcome"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"signerRequestId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"purpose"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18HostSigningPurposeO","spelling":"HostSigningPurpose"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"signatureHex"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"completedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["HostSigningResult","init(schemaVersion:outcome:operationId:signerRequestId:publicKey:purpose:signatureHex:completedAtUnixMs:)"],"precise":"s:19RadrootsKitBindings17HostSigningResultV13schemaVersion7outcome11operationId013signerRequestK09publicKey7purpose12signatureHex17completedAtUnixMsACs6UInt16V_AA0dE7OutcomeOS3SAA0dE7PurposeOSSSgs6UInt64Vtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["HostSigningResult","schemaVersion"],"precise":"s:19RadrootsKitBindings17HostSigningResultV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signerRequestId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningResult","signerRequestId"],"precise":"s:19RadrootsKitBindings17HostSigningResultV15signerRequestIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"completedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["HostSigningResult","completedAtUnixMs"],"precise":"s:19RadrootsKitBindings17HostSigningResultV17completedAtUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17HostSigningResultV","spelling":"HostSigningResult"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17HostSigningResultV","spelling":"HostSigningResult"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["HostSigningResult","==(_:_:)"],"precise":"s:19RadrootsKitBindings17HostSigningResultV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["HostSigningResult","hash(into:)"],"precise":"s:19RadrootsKitBindings17HostSigningResultV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outcome"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18HostSigningOutcomeO","spelling":"HostSigningOutcome"}],"kind":"swift.property","path":["HostSigningResult","outcome"],"precise":"s:19RadrootsKitBindings17HostSigningResultV7outcomeAA0dE7OutcomeOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"purpose"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18HostSigningPurposeO","spelling":"HostSigningPurpose"}],"kind":"swift.property","path":["HostSigningResult","purpose"],"precise":"s:19RadrootsKitBindings17HostSigningResultV7purposeAA0dE7PurposeOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningResult","publicKey"],"precise":"s:19RadrootsKitBindings17HostSigningResultV9publicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"initLoggingStdout"},{"kind":"text","spelling":"() "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.func","path":["initLoggingStdout()"],"precise":"s:19RadrootsKitBindings17initLoggingStdoutyyKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiAddSchemaRecord"}],"kind":"swift.struct","path":["FfiAddSchemaRecord"],"precise":"s:19RadrootsKitBindings18FfiAddSchemaRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"}],"kind":"swift.property","path":["FfiAddSchemaRecord","commandType"],"precise":"s:19RadrootsKitBindings18FfiAddSchemaRecordV11commandTypeAA0de7CommandI0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"label"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"fields"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddFieldRecordV","spelling":"FfiAddFieldRecord"},{"kind":"text","spelling":"])"}],"kind":"swift.init","path":["FfiAddSchemaRecord","init(schemaVersion:commandType:label:fields:)"],"precise":"s:19RadrootsKitBindings18FfiAddSchemaRecordV13schemaVersion11commandType5label6fieldsACs6UInt16V_AA0de7CommandK0OSSSayAA0de5FieldG0VGtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiAddSchemaRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings18FfiAddSchemaRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","spelling":"FfiAddSchemaRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiAddSchemaRecordV","spelling":"FfiAddSchemaRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiAddSchemaRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings18FfiAddSchemaRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiAddSchemaRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings18FfiAddSchemaRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiAddSchemaRecord","label"],"precise":"s:19RadrootsKitBindings18FfiAddSchemaRecordV5labelSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fields"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddFieldRecordV","spelling":"FfiAddFieldRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiAddSchemaRecord","fields"],"precise":"s:19RadrootsKitBindings18FfiAddSchemaRecordV6fieldsSayAA0de5FieldG0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiBlossomHostKind"}],"kind":"swift.enum","path":["FfiBlossomHostKind"],"precise":"s:19RadrootsKitBindings18FfiBlossomHostKindO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"physicalDevice"}],"kind":"swift.enum.case","path":["FfiBlossomHostKind","physicalDevice"],"precise":"s:19RadrootsKitBindings18FfiBlossomHostKindO14physicalDeviceyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"native"}],"kind":"swift.enum.case","path":["FfiBlossomHostKind","native"],"precise":"s:19RadrootsKitBindings18FfiBlossomHostKindO6nativeyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simulator"}],"kind":"swift.enum.case","path":["FfiBlossomHostKind","simulator"],"precise":"s:19RadrootsKitBindings18FfiBlossomHostKindO9simulatoryA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiBuildInfoRecord"}],"kind":"swift.struct","path":["FfiBuildInfoRecord"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"libRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBuildInfoRecord","libRevision"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV11libRevisionSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"crateVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBuildInfoRecord","crateVersion"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV12crateVersionSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"buildTimeUnix"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBuildInfoRecord","buildTimeUnix"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV13buildTimeUnixs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"crateName"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"crateVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"rustc"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"libRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"consumerRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"buildTimeUnix"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiBuildInfoRecord","init(schemaVersion:crateName:crateVersion:rustc:profile:libRevision:consumerRevision:buildTimeUnix:)"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV13schemaVersion9crateName0jI05rustc7profile11libRevision08consumerO013buildTimeUnixACs6UInt16V_S3SSgA3Ns6UInt64VSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiBuildInfoRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"consumerRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBuildInfoRecord","consumerRevision"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV16consumerRevisionSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","spelling":"FfiBuildInfoRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","spelling":"FfiBuildInfoRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiBuildInfoRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiBuildInfoRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rustc"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBuildInfoRecord","rustc"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV5rustcSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBuildInfoRecord","profile"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV7profileSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"crateName"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBuildInfoRecord","crateName"],"precise":"s:19RadrootsKitBindings18FfiBuildInfoRecordV9crateNameSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiDraftFormRecord"}],"kind":"swift.struct","path":["FfiDraftFormRecord"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"foodStatus"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","foodStatus"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV10foodStatusSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"identifier"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","identifier"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV10identifierSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"}],"kind":"swift.property","path":["FfiDraftFormRecord","commandType"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV11commandTypeAA0d10AddCommandI0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventTiming"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiEventTimingKindO","spelling":"FfiEventTimingKind"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","eventTiming"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV11eventTimingAA0d5EventI4KindOSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"priceAmount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","priceAmount"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV11priceAmountSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventEndDate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","eventEndDate"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV12eventEndDateSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventEndUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","eventEndUnixS"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV13eventEndUnixSs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventTimezone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","eventTimezone"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV13eventTimezoneSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"identifier"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"title"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"summary"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"location"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventTiming"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiEventTimingKindO","spelling":"FfiEventTimingKind"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventStartDate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventEndDate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventStartUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventEndUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventTimezone"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"priceAmount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"unit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"quantity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"foodPublishedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"foodStatus"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"media"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","spelling":"FfiDraftFormMediaRecord"},{"kind":"text","spelling":"])"}],"kind":"swift.init","path":["FfiDraftFormRecord","init(schemaVersion:commandType:content:identifier:title:summary:location:eventTiming:eventStartDate:eventEndDate:eventStartUnixS:eventEndUnixS:eventTimezone:priceAmount:currency:unit:quantity:foodPublishedAtUnixS:foodStatus:media:)"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV13schemaVersion11commandType7content10identifier5title7summary8location11eventTiming0Q9StartDate0q3EndT00qS5UnixS0quV1S0Q8Timezone11priceAmount8currency4unit8quantity015foodPublishedAtV1S10foodStatus5mediaACs6UInt16V_AA0d10AddCommandK0OS2SSgA0_A0_A0_AA0d5EventR4KindOSgA0_A0_s6UInt64VSgA6_A0_A0_A0_A0_A0_A6_A0_SayAA0def5MediaG0VGtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiDraftFormRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventStartDate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","eventStartDate"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV14eventStartDateSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventStartUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","eventStartUnixS"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV15eventStartUnixSs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"foodPublishedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","foodPublishedAtUnixS"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV20foodPublishedAtUnixSs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiDraftFormRecordV","spelling":"FfiDraftFormRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiDraftFormRecordV","spelling":"FfiDraftFormRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiDraftFormRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiDraftFormRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","unit"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV4unitSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"media"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","spelling":"FfiDraftFormMediaRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiDraftFormRecord","media"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV5mediaSayAA0def5MediaG0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"title"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","title"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV5titleSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftFormRecord","content"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV7contentSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"summary"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","summary"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV7summarySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"currency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","currency"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV8currencySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"location"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","location"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV8locationSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"quantity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftFormRecord","quantity"],"precise":"s:19RadrootsKitBindings18FfiDraftFormRecordV8quantitySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiEventTimingKind"}],"kind":"swift.enum","path":["FfiEventTimingKind"],"precise":"s:19RadrootsKitBindings18FfiEventTimingKindO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"timed"}],"kind":"swift.enum.case","path":["FfiEventTimingKind","timed"],"precise":"s:19RadrootsKitBindings18FfiEventTimingKindO5timedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allDay"}],"kind":"swift.enum.case","path":["FfiEventTimingKind","allDay"],"precise":"s:19RadrootsKitBindings18FfiEventTimingKindO6allDayyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiTodayCardRecord"}],"kind":"swift.struct","path":["FfiTodayCardRecord"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"contractId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiTodayCardRecord","contractId"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV10contractIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"foodStatus"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","foodStatus"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV10foodStatusSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rankDigest"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","rankDigest"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV10rankDigestSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"contextRank"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5UInt8V","spelling":"UInt8"}],"kind":"swift.property","path":["FfiTodayCardRecord","contextRank"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV11contextRanks5UInt8Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"foodSummary"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","foodSummary"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV11foodSummarySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"priceAmount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","priceAmount"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV11priceAmountSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorProfile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","authorProfile"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV13authorProfileAA0diG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventEndUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","eventEndUnixS"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV13eventEndUnixSs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"priceCurrency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","priceCurrency"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV13priceCurrencySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"cardId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"cardType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiTodayCardTypeO","spelling":"FfiTodayCardType"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sourceEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sourceAddress"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"contractId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"title"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"effectiveAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"eventStartUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"eventEndUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"location"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"priceAmount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"priceCurrency"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"priceUnit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"quantity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"foodSummary"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"foodPublishedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"foodStatus"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"contextRank"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5UInt8V","spelling":"UInt8"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"inclusionReason"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"media"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","spelling":"FfiMediaReferenceRecord"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"lifecycle"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiCardLifecycleStateO","spelling":"FfiCardLifecycleState"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"rankDigest"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"authorProfile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"thread"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","spelling":"FfiThreadEntryRecord"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"localOperationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"localOperationState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiTodayCardRecord","init(schemaVersion:cardId:cardType:sourceEventId:sourceAddress:authorPublicKey:contractId:title:content:authoredAtUnixS:effectiveAtUnixS:eventStartUnixS:eventEndUnixS:location:priceAmount:priceCurrency:priceUnit:quantity:foodSummary:foodPublishedAtUnixS:foodStatus:contextRank:inclusionReason:media:lifecycle:rankDigest:authorProfile:thread:localOperationId:localOperationState:)"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV13schemaVersion6cardId0J4Type011sourceEventK00M7Address15authorPublicKey08contractK05title7content15authoredAtUnixS09effectivewX1S010eventStartX1S0z3EndX1S8location11priceAmount13priceCurrency9priceUnit8quantity11foodSummary013foodPublishedwX1S10foodStatus11contextRank15inclusionReason5media9lifecycle10rankDigest0P7Profile6thread014localOperationK019localOperationStateACs6UInt16V_SSAA0defL0OS2SSgS2SA10_SSs6UInt64VA12_A12_SgA13_A10_A10_A10_A10_A10_A10_A13_A10_s5UInt8VSSSayAA0d14MediaReferenceG0VGAA0dF14LifecycleStateOA10_AA0d7ProfileG0VSgSayAA0d11ThreadEntryG0VGA10_A10_tcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiTodayCardRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sourceAddress"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","sourceAddress"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV13sourceAddressSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sourceEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiTodayCardRecord","sourceEventId"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV13sourceEventIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiTodayCardRecord","authorPublicKey"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV15authorPublicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodayCardRecord","authoredAtUnixS"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV15authoredAtUnixSs6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventStartUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","eventStartUnixS"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV15eventStartUnixSs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"inclusionReason"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiTodayCardRecord","inclusionReason"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV15inclusionReasonSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"effectiveAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodayCardRecord","effectiveAtUnixS"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV16effectiveAtUnixSs6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localOperationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","localOperationId"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV16localOperationIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localOperationState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","localOperationState"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV19localOperationStateSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"foodPublishedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","foodPublishedAtUnixS"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV20foodPublishedAtUnixSs6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayCardRecordV","spelling":"FfiTodayCardRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayCardRecordV","spelling":"FfiTodayCardRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiTodayCardRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiTodayCardRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"media"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","spelling":"FfiMediaReferenceRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiTodayCardRecord","media"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV5mediaSayAA0d14MediaReferenceG0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"title"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","title"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV5titleSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cardId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiTodayCardRecord","cardId"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV6cardIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"thread"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","spelling":"FfiThreadEntryRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiTodayCardRecord","thread"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV6threadSayAA0d11ThreadEntryG0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiTodayCardRecord","content"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV7contentSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cardType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiTodayCardTypeO","spelling":"FfiTodayCardType"}],"kind":"swift.property","path":["FfiTodayCardRecord","cardType"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV8cardTypeAA0defI0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"location"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","location"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV8locationSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"quantity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","quantity"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV8quantitySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lifecycle"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiCardLifecycleStateO","spelling":"FfiCardLifecycleState"}],"kind":"swift.property","path":["FfiTodayCardRecord","lifecycle"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV9lifecycleAA0dF14LifecycleStateOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"priceUnit"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayCardRecord","priceUnit"],"precise":"s:19RadrootsKitBindings18FfiTodayCardRecordV9priceUnitSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiTodayPageRecord"}],"kind":"swift.struct","path":["FfiTodayPageRecord"],"precise":"s:19RadrootsKitBindings18FfiTodayPageRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nextCursor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiTodayPageRecord","nextCursor"],"precise":"s:19RadrootsKitBindings18FfiTodayPageRecordV10nextCursorSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"asOfUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayCardRecordV","spelling":"FfiTodayCardRecord"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"nextCursor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiTodayPageRecord","init(schemaVersion:asOfUnixS:items:nextCursor:)"],"precise":"s:19RadrootsKitBindings18FfiTodayPageRecordV13schemaVersion9asOfUnixS5items10nextCursorACs6UInt16V_s6UInt64VSayAA0de4CardG0VGSSSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiTodayPageRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings18FfiTodayPageRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayPageRecordV","spelling":"FfiTodayPageRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayPageRecordV","spelling":"FfiTodayPageRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiTodayPageRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings18FfiTodayPageRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiTodayPageRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings18FfiTodayPageRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"items"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayCardRecordV","spelling":"FfiTodayCardRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiTodayPageRecord","items"],"precise":"s:19RadrootsKitBindings18FfiTodayPageRecordV5itemsSayAA0de4CardG0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"asOfUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodayPageRecord","asOfUnixS"],"precise":"s:19RadrootsKitBindings18FfiTodayPageRecordV9asOfUnixSs6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiTodaySyncRecord"}],"kind":"swift.struct","path":["FfiTodaySyncRecord"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"projection"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","spelling":"FfiTodayRefreshRecord"}],"kind":"swift.property","path":["FfiTodaySyncRecord","projection"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV10projectionAA0de7RefreshG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"relayState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO","spelling":"FfiTodayRelaySyncState"}],"kind":"swift.property","path":["FfiTodaySyncRecord","relayState"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV10relayStateAA0de5RelayfI0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"pagesFetched"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiTodaySyncRecord","pagesFetched"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV12pagesFetcheds6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"relayState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO","spelling":"FfiTodayRelaySyncState"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"pagesFetched"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"eventsObserved"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"eventsAdmitted"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"eventsRejected"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"projection"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","spelling":"FfiTodayRefreshRecord"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiTodaySyncRecord","init(schemaVersion:relayState:pagesFetched:eventsObserved:eventsAdmitted:eventsRejected:projection:)"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV13schemaVersion10relayState12pagesFetched14eventsObserved0N8Admitted0N8Rejected10projectionACs6UInt16V_AA0de5RelayfK0OALs6UInt64VA2pA0de7RefreshG0Vtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiTodaySyncRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventsAdmitted"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodaySyncRecord","eventsAdmitted"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV14eventsAdmitteds6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventsObserved"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodaySyncRecord","eventsObserved"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV14eventsObserveds6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventsRejected"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodaySyncRecord","eventsRejected"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV14eventsRejecteds6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","spelling":"FfiTodaySyncRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodaySyncRecordV","spelling":"FfiTodaySyncRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiTodaySyncRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiTodaySyncRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings18FfiTodaySyncRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"HostSigningOutcome"}],"kind":"swift.enum","path":["HostSigningOutcome"],"precise":"s:19RadrootsKitBindings18HostSigningOutcomeO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"invalidated"}],"kind":"swift.enum.case","path":["HostSigningOutcome","invalidated"],"precise":"s:19RadrootsKitBindings18HostSigningOutcomeO11invalidatedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unavailable"}],"kind":"swift.enum.case","path":["HostSigningOutcome","unavailable"],"precise":"s:19RadrootsKitBindings18HostSigningOutcomeO11unavailableyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"failed"}],"kind":"swift.enum.case","path":["HostSigningOutcome","failed"],"precise":"s:19RadrootsKitBindings18HostSigningOutcomeO6failedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"locked"}],"kind":"swift.enum.case","path":["HostSigningOutcome","locked"],"precise":"s:19RadrootsKitBindings18HostSigningOutcomeO6lockedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signed"}],"kind":"swift.enum.case","path":["HostSigningOutcome","signed"],"precise":"s:19RadrootsKitBindings18HostSigningOutcomeO6signedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rejected"}],"kind":"swift.enum.case","path":["HostSigningOutcome","rejected"],"precise":"s:19RadrootsKitBindings18HostSigningOutcomeO8rejectedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"timedOut"}],"kind":"swift.enum.case","path":["HostSigningOutcome","timedOut"],"precise":"s:19RadrootsKitBindings18HostSigningOutcomeO8timedOutyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cancelled"}],"kind":"swift.enum.case","path":["HostSigningOutcome","cancelled"],"precise":"s:19RadrootsKitBindings18HostSigningOutcomeO9cancelledyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"HostSigningPurpose"}],"kind":"swift.enum","path":["HostSigningPurpose"],"precise":"s:19RadrootsKitBindings18HostSigningPurposeO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nostrEvent"}],"kind":"swift.enum.case","path":["HostSigningPurpose","nostrEvent"],"precise":"s:19RadrootsKitBindings18HostSigningPurposeO10nostrEventyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"blossomUpload"}],"kind":"swift.enum.case","path":["HostSigningPurpose","blossomUpload"],"precise":"s:19RadrootsKitBindings18HostSigningPurposeO13blossomUploadyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"HostSigningRequest"}],"kind":"swift.struct","path":["HostSigningRequest"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signerRequestId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningRequest","signerRequestId"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV06signerF2IdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningRequest","artifactId"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV10artifactIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningRequest","operationId"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV11operationIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventIdDigest"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:10Foundation4DataV","spelling":"Data"}],"kind":"swift.property","path":["HostSigningRequest","eventIdDigest"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV13eventIdDigest10Foundation4DataVvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationKind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningRequest","operationKind"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV13operationKindSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operationKind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"signerRequestId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"purpose"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18HostSigningPurposeO","spelling":"HostSigningPurpose"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deadlineUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"eventIdDigest"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:10Foundation4DataV","spelling":"Data"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"createdAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"tags"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]], "},{"kind":"externalParam","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["HostSigningRequest","init(schemaVersion:operationKind:operationId:artifactId:signerRequestId:publicKey:purpose:deadlineUnixMs:eventIdDigest:expectedEventId:createdAtUnixS:kind:tags:content:)"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV13schemaVersion13operationKind0I2Id08artifactK006signerfK09publicKey7purpose14deadlineUnixMs05eventK6Digest013expectedEventK009createdAtR1S4kind4tags7contentACs6UInt16V_S5SAA0dE7PurposeOs6UInt64V10Foundation4DataVSSAWs6UInt32VSaySaySSGGSStcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["HostSigningRequest","schemaVersion"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"createdAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["HostSigningRequest","createdAtUnixS"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV14createdAtUnixSs6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deadlineUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["HostSigningRequest","deadlineUnixMs"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV14deadlineUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expectedEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningRequest","expectedEventId"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV15expectedEventIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18HostSigningRequestV","spelling":"HostSigningRequest"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18HostSigningRequestV","spelling":"HostSigningRequest"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["HostSigningRequest","==(_:_:)"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["HostSigningRequest","hash(into:)"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["HostSigningRequest","kind"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV4kinds6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"tags"},{"kind":"text","spelling":": [["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]]"}],"kind":"swift.property","path":["HostSigningRequest","tags"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV4tagsSaySaySSGGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningRequest","content"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV7contentSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"purpose"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18HostSigningPurposeO","spelling":"HostSigningPurpose"}],"kind":"swift.property","path":["HostSigningRequest","purpose"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV7purposeAA0dE7PurposeOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["HostSigningRequest","publicKey"],"precise":"s:19RadrootsKitBindings18HostSigningRequestV9publicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"SignerStatusRecord"}],"kind":"swift.struct","path":["SignerStatusRecord"],"precise":"s:19RadrootsKitBindings18SignerStatusRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"availability"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24SignerAvailabilityRecordO","spelling":"SignerAvailabilityRecord"}],"kind":"swift.property","path":["SignerStatusRecord","availability"],"precise":"s:19RadrootsKitBindings18SignerStatusRecordV12availabilityAA0d12AvailabilityF0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"availability"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24SignerAvailabilityRecordO","spelling":"SignerAvailabilityRecord"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["SignerStatusRecord","init(schemaVersion:availability:)"],"precise":"s:19RadrootsKitBindings18SignerStatusRecordV13schemaVersion12availabilityACs6UInt16V_AA0d12AvailabilityF0Otcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["SignerStatusRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings18SignerStatusRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18SignerStatusRecordV","spelling":"SignerStatusRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18SignerStatusRecordV","spelling":"SignerStatusRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["SignerStatusRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings18SignerStatusRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["SignerStatusRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings18SignerStatusRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiCapabilityRecord"}],"kind":"swift.struct","path":["FfiCapabilityRecord"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configured"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiCapabilityRecord","configured"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV10configuredSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"availability"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiCapabilityRecord","availability"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV12availabilitySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"compiled"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"configured"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"availability"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"maturity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiCapabilityRecord","init(schemaVersion:id:compiled:configured:availability:maturity:)"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV13schemaVersion2id8compiled10configured12availability8maturityACs6UInt16V_SSS2bS2Stcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiCapabilityRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiCapabilityRecordV","spelling":"FfiCapabilityRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiCapabilityRecordV","spelling":"FfiCapabilityRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiCapabilityRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiCapabilityRecord","id"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV2idSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiCapabilityRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"compiled"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiCapabilityRecord","compiled"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV8compiledSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"maturity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiCapabilityRecord","maturity"],"precise":"s:19RadrootsKitBindings19FfiCapabilityRecordV8maturitySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiDraftMediaRecord"}],"kind":"swift.struct","path":["FfiDraftMediaRecord"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"stage"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings13FfiMediaStageO","spelling":"FfiMediaStage"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"uploadAttempts"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5UInt8V","spelling":"UInt8"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"verifiedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"possibleOrphan"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"orphanReasonCode"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"orphanRecordedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiDraftMediaRecord","init(schemaVersion:url:stage:uploadAttempts:verifiedAtUnixMs:possibleOrphan:orphanReasonCode:orphanRecordedAtUnixMs:)"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV13schemaVersion3url5stage14uploadAttempts16verifiedAtUnixMs14possibleOrphan16orphanReasonCode0t8RecordedopQ0ACs6UInt16V_SSAA0dF5StageOs5UInt8Vs6UInt64VSgSbSSSgATtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiDraftMediaRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"possibleOrphan"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiDraftMediaRecord","possibleOrphan"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV14possibleOrphanSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"uploadAttempts"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5UInt8V","spelling":"UInt8"}],"kind":"swift.property","path":["FfiDraftMediaRecord","uploadAttempts"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV14uploadAttemptss5UInt8Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"orphanReasonCode"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftMediaRecord","orphanReasonCode"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV16orphanReasonCodeSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"verifiedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftMediaRecord","verifiedAtUnixMs"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV16verifiedAtUnixMss6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"orphanRecordedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftMediaRecord","orphanRecordedAtUnixMs"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV22orphanRecordedAtUnixMss6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","spelling":"FfiDraftMediaRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","spelling":"FfiDraftMediaRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiDraftMediaRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftMediaRecord","url"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV3urlSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiDraftMediaRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stage"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings13FfiMediaStageO","spelling":"FfiMediaStage"}],"kind":"swift.property","path":["FfiDraftMediaRecord","stage"],"precise":"s:19RadrootsKitBindings19FfiDraftMediaRecordV5stageAA0dF5StageOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiSearchResultType"}],"kind":"swift.enum","path":["FfiSearchResultType"],"precise":"s:19RadrootsKitBindings19FfiSearchResultTypeO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"card"}],"kind":"swift.enum.case","path":["FfiSearchResultType","card"],"precise":"s:19RadrootsKitBindings19FfiSearchResultTypeO4cardyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"profile"}],"kind":"swift.enum.case","path":["FfiSearchResultType","profile"],"precise":"s:19RadrootsKitBindings19FfiSearchResultTypeO7profileyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiAppPlatformRecord"}],"kind":"swift.struct","path":["FfiAppPlatformRecord"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"buildNumber"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAppPlatformRecord","buildNumber"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV11buildNumberSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"platform"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"bundleId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"buildNumber"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"buildSha"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiAppPlatformRecord","init(schemaVersion:platform:bundleId:version:buildNumber:buildSha:)"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV13schemaVersion8platform8bundleId7version11buildNumber0N3ShaACs6UInt16V_SSSgA4Ltcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiAppPlatformRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","spelling":"FfiAppPlatformRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiAppPlatformRecordV","spelling":"FfiAppPlatformRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiAppPlatformRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiAppPlatformRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"version"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAppPlatformRecord","version"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV7versionSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"buildSha"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAppPlatformRecord","buildSha"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV8buildShaSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bundleId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAppPlatformRecord","bundleId"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV8bundleIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"platform"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiAppPlatformRecord","platform"],"precise":"s:19RadrootsKitBindings20FfiAppPlatformRecordV8platformSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiDraftStatusRecord"}],"kind":"swift.struct","path":["FfiDraftStatusRecord"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiDraftStatusRecord","isRevision"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV10isRevisionSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"settlement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","spelling":"FfiOperationSettlementRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftStatusRecord","settlement"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV10settlementAA0d19OperationSettlementG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"}],"kind":"swift.property","path":["FfiDraftStatusRecord","commandType"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV11commandTypeAA0d10AddCommandI0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftStatusRecord","operationId"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV11operationIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"revision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings12FfiDraftKindO","spelling":"FfiDraftKind"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"form"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiDraftFormRecordV","spelling":"FfiDraftFormRecord"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings14FfiOutboxStateO","spelling":"FfiOutboxState"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"cardId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"createdAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"updatedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"media"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","spelling":"FfiDraftMediaRecord"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"settlement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","spelling":"FfiOperationSettlementRecord"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"isRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiDraftStatusRecord","init(schemaVersion:draftId:revision:authorPublicKey:kind:commandType:form:state:cardId:operationId:createdAtUnixMs:updatedAtUnixMs:media:settlement:isRevision:)"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV13schemaVersion7draftId8revision15authorPublicKey4kind11commandType4form5state04cardK009operationK015createdAtUnixMs07updatedxyZ05media10settlement10isRevisionACs6UInt16V_SSs6UInt64VSSAA0dE4KindOAA0d10AddCommandR0OAA0de4FormG0VSgAA0D11OutboxStateOS2SSgA2VSayAA0de5MediaG0VGAA0d19OperationSettlementG0VSgSbtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiDraftStatusRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftStatusRecord","authorPublicKey"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV15authorPublicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"createdAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiDraftStatusRecord","createdAtUnixMs"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV15createdAtUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"updatedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiDraftStatusRecord","updatedAtUnixMs"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV15updatedAtUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiDraftStatusRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"form"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiDraftFormRecordV","spelling":"FfiDraftFormRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiDraftStatusRecord","form"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV4formAA0de4FormG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiDraftStatusRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings12FfiDraftKindO","spelling":"FfiDraftKind"}],"kind":"swift.property","path":["FfiDraftStatusRecord","kind"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV4kindAA0dE4KindOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"media"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiDraftMediaRecordV","spelling":"FfiDraftMediaRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiDraftStatusRecord","media"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV5mediaSayAA0de5MediaG0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings14FfiOutboxStateO","spelling":"FfiOutboxState"}],"kind":"swift.property","path":["FfiDraftStatusRecord","state"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV5stateAA0D11OutboxStateOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cardId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftStatusRecord","cardId"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV6cardIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftStatusRecord","draftId"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV7draftIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"revision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiDraftStatusRecord","revision"],"precise":"s:19RadrootsKitBindings20FfiDraftStatusRecordV8revisions6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiIdentityLockState"}],"kind":"swift.enum","path":["FfiIdentityLockState"],"precise":"s:19RadrootsKitBindings20FfiIdentityLockStateO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"locked"}],"kind":"swift.enum.case","path":["FfiIdentityLockState","locked"],"precise":"s:19RadrootsKitBindings20FfiIdentityLockStateO6lockedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unlocked"}],"kind":"swift.enum.case","path":["FfiIdentityLockState","unlocked"],"precise":"s:19RadrootsKitBindings20FfiIdentityLockStateO8unlockedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiQueuePolicyRecord"}],"kind":"swift.struct","path":["FfiQueuePolicyRecord"],"precise":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cancellation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiCancellationPolicyO","spelling":"FfiCancellationPolicy"}],"kind":"swift.property","path":["FfiQueuePolicyRecord","cancellation"],"precise":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV12cancellationAA0d12CancellationF0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"satisfaction"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRelaySatisfactionO","spelling":"FfiRelaySatisfaction"}],"kind":"swift.property","path":["FfiQueuePolicyRecord","satisfaction"],"precise":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV12satisfactionAA0D17RelaySatisfactionOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"relayUrls"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"satisfaction"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRelaySatisfactionO","spelling":"FfiRelaySatisfaction"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deliveryDeadlineUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"cancellation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiCancellationPolicyO","spelling":"FfiCancellationPolicy"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiQueuePolicyRecord","init(schemaVersion:relayUrls:satisfaction:deliveryDeadlineUnixMs:cancellation:)"],"precise":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV13schemaVersion9relayUrls12satisfaction22deliveryDeadlineUnixMs12cancellationACs6UInt16V_SaySSGAA0D17RelaySatisfactionOs6UInt64VAA0d12CancellationF0Otcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiQueuePolicyRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deliveryDeadlineUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiQueuePolicyRecord","deliveryDeadlineUnixMs"],"precise":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV22deliveryDeadlineUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","spelling":"FfiQueuePolicyRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV","spelling":"FfiQueuePolicyRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiQueuePolicyRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiQueuePolicyRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"relayUrls"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiQueuePolicyRecord","relayUrls"],"precise":"s:19RadrootsKitBindings20FfiQueuePolicyRecordV9relayUrlsSaySSGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRelayAccessRecord"}],"kind":"swift.enum","path":["FfiRelayAccessRecord"],"precise":"s:19RadrootsKitBindings20FfiRelayAccessRecordO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"readOnly"}],"kind":"swift.enum.case","path":["FfiRelayAccessRecord","readOnly"],"precise":"s:19RadrootsKitBindings20FfiRelayAccessRecordO8readOnlyyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"readWrite"}],"kind":"swift.enum.case","path":["FfiRelayAccessRecord","readWrite"],"precise":"s:19RadrootsKitBindings20FfiRelayAccessRecordO9readWriteyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRelaySatisfaction"}],"kind":"swift.enum","path":["FfiRelaySatisfaction"],"precise":"s:19RadrootsKitBindings20FfiRelaySatisfactionO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allAccepted"}],"kind":"swift.enum.case","path":["FfiRelaySatisfaction","allAccepted"],"precise":"s:19RadrootsKitBindings20FfiRelaySatisfactionO11allAcceptedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"anyAccepted"}],"kind":"swift.enum.case","path":["FfiRelaySatisfaction","anyAccepted"],"precise":"s:19RadrootsKitBindings20FfiRelaySatisfactionO11anyAcceptedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allDelivered"}],"kind":"swift.enum.case","path":["FfiRelaySatisfaction","allDelivered"],"precise":"s:19RadrootsKitBindings20FfiRelaySatisfactionO12allDeliveredyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"anyDelivered"}],"kind":"swift.enum.case","path":["FfiRelaySatisfaction","anyDelivered"],"precise":"s:19RadrootsKitBindings20FfiRelaySatisfactionO12anyDeliveredyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRelayStatusRecord"}],"kind":"swift.struct","path":["FfiRelayStatusRecord"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"writeState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRelayStatusRecord","writeState"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV10writeStateSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"relayUrl"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"access"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRelayAccessRecordO","spelling":"FfiRelayAccessRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"readState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"writeState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"readLastAttemptUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"writeLastAttemptUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"readNextAttemptUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"writeNextAttemptUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiRelayStatusRecord","init(schemaVersion:relayUrl:access:readState:writeState:readLastAttemptUnixMs:writeLastAttemptUnixMs:readNextAttemptUnixMs:writeNextAttemptUnixMs:)"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV13schemaVersion8relayUrl6access9readState05writeN00M17LastAttemptUnixMs0opqrS00m4NextqrS00otqrS0ACs6UInt16V_SSAA0de6AccessG0OS2Ss6UInt64VSgA3Stcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiRelayStatusRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"readLastAttemptUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiRelayStatusRecord","readLastAttemptUnixMs"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV21readLastAttemptUnixMss6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"readNextAttemptUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiRelayStatusRecord","readNextAttemptUnixMs"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV21readNextAttemptUnixMss6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"writeLastAttemptUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiRelayStatusRecord","writeLastAttemptUnixMs"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV22writeLastAttemptUnixMss6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"writeNextAttemptUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiRelayStatusRecord","writeNextAttemptUnixMs"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV22writeNextAttemptUnixMss6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","spelling":"FfiRelayStatusRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","spelling":"FfiRelayStatusRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiRelayStatusRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiRelayStatusRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"access"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRelayAccessRecordO","spelling":"FfiRelayAccessRecord"}],"kind":"swift.property","path":["FfiRelayStatusRecord","access"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV6accessAA0de6AccessG0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"relayUrl"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRelayStatusRecord","relayUrl"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV8relayUrlSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"readState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRelayStatusRecord","readState"],"precise":"s:19RadrootsKitBindings20FfiRelayStatusRecordV9readStateSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRuntimeChangeKind"}],"kind":"swift.enum","path":["FfiRuntimeChangeKind"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"media"}],"kind":"swift.enum.case","path":["FfiRuntimeChangeKind","media"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO5mediayA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"relay"}],"kind":"swift.enum.case","path":["FfiRuntimeChangeKind","relay"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO5relayyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"today"}],"kind":"swift.enum.case","path":["FfiRuntimeChangeKind","today"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO5todayyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"drafts"}],"kind":"swift.enum.case","path":["FfiRuntimeChangeKind","drafts"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO6draftsyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"initial"}],"kind":"swift.enum.case","path":["FfiRuntimeChangeKind","initial"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO7initialyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"profile"}],"kind":"swift.enum.case","path":["FfiRuntimeChangeKind","profile"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO7profileyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"identity"}],"kind":"swift.enum.case","path":["FfiRuntimeChangeKind","identity"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO8identityyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"settings"}],"kind":"swift.enum.case","path":["FfiRuntimeChangeKind","settings"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO8settingsyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lifecycle"}],"kind":"swift.enum.case","path":["FfiRuntimeChangeKind","lifecycle"],"precise":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO9lifecycleyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRuntimeInfoRecord"}],"kind":"swift.struct","path":["FfiRuntimeInfoRecord"],"precise":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"app"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAppInfoRecordV","spelling":"FfiAppInfoRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sdk"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","spelling":"FfiBuildInfoRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sdkClosed"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiRuntimeInfoRecord","init(schemaVersion:app:sdk:sdkClosed:)"],"precise":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV13schemaVersion3app3sdk0K6ClosedACs6UInt16V_AA0d3AppfG0VAA0d5BuildfG0VSbtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiRuntimeInfoRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","spelling":"FfiRuntimeInfoRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV","spelling":"FfiRuntimeInfoRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiRuntimeInfoRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"app"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAppInfoRecordV","spelling":"FfiAppInfoRecord"}],"kind":"swift.property","path":["FfiRuntimeInfoRecord","app"],"precise":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV3appAA0d3AppfG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdk"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiBuildInfoRecordV","spelling":"FfiBuildInfoRecord"}],"kind":"swift.property","path":["FfiRuntimeInfoRecord","sdk"],"precise":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV3sdkAA0d5BuildfG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiRuntimeInfoRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sdkClosed"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiRuntimeInfoRecord","sdkClosed"],"precise":"s:19RadrootsKitBindings20FfiRuntimeInfoRecordV9sdkClosedSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiThreadEntryRecord"}],"kind":"swift.struct","path":["FfiThreadEntryRecord"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorProfile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiThreadEntryRecord","authorProfile"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV13authorProfileAA0diG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"parentEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiThreadEntryRecord","parentEventId"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV13parentEventIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"eventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiThreadProfileO","spelling":"FfiThreadProfile"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"root"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"parentEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authorProfile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiThreadEntryRecord","init(schemaVersion:eventId:authorPublicKey:content:authoredAtUnixS:profile:root:parentEventId:authorProfile:)"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV13schemaVersion7eventId15authorPublicKey7content15authoredAtUnixS7profile4root011parentEventK00L7ProfileACs6UInt16V_S3Ss6UInt64VAA0deW0OS2SAA0dwG0VSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiThreadEntryRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiThreadEntryRecord","authorPublicKey"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV15authorPublicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authoredAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiThreadEntryRecord","authoredAtUnixS"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV15authoredAtUnixSs6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","spelling":"FfiThreadEntryRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiThreadEntryRecordV","spelling":"FfiThreadEntryRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiThreadEntryRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiThreadEntryRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"root"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiThreadEntryRecord","root"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV4rootSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"content"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiThreadEntryRecord","content"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV7contentSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"eventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiThreadEntryRecord","eventId"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV7eventIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiThreadProfileO","spelling":"FfiThreadProfile"}],"kind":"swift.property","path":["FfiThreadEntryRecord","profile"],"precise":"s:19RadrootsKitBindings20FfiThreadEntryRecordV7profileAA0dE7ProfileOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiBlossomUploadInput"}],"kind":"swift.struct","path":["FfiBlossomUploadInput"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomUploadInput","artifactId"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV10artifactIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomUploadInput","operationId"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV11operationIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"media"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authorizationContent"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authorizationCreatedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authorizationLifetimeSeconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"signingDeadlineUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"signingCancellation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiCancellationPolicyO","spelling":"FfiCancellationPolicy"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"verifiedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"updatedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiBlossomUploadInput","init(schemaVersion:draftId:expectedRevision:media:authorizationContent:authorizationCreatedAtUnixS:authorizationLifetimeSeconds:operationId:artifactId:signingDeadlineUnixMs:signingCancellation:verifiedAtUnixMs:updatedAtUnixMs:)"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV13schemaVersion7draftId16expectedRevision5media20authorizationContent0O14CreatedAtUnixS0O15LifetimeSeconds09operationK008artifactK0015signingDeadlineS2Ms0X12Cancellation08verifiedrsZ007updatedrsZ0ACs6UInt16V_SSs6UInt64VAA0d13PreparedMediaG0VSSA2TS2SAtA0D18CancellationPolicyOA2Ttcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiBlossomUploadInput","schemaVersion"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"updatedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiBlossomUploadInput","updatedAtUnixMs"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV15updatedAtUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiBlossomUploadInput","expectedRevision"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV16expectedRevisions6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"verifiedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiBlossomUploadInput","verifiedAtUnixMs"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV16verifiedAtUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signingCancellation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiCancellationPolicyO","spelling":"FfiCancellationPolicy"}],"kind":"swift.property","path":["FfiBlossomUploadInput","signingCancellation"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV19signingCancellationAA0dI6PolicyOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorizationContent"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomUploadInput","authorizationContent"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV20authorizationContentSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signingDeadlineUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiBlossomUploadInput","signingDeadlineUnixMs"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV21signingDeadlineUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorizationCreatedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiBlossomUploadInput","authorizationCreatedAtUnixS"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV27authorizationCreatedAtUnixSs6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorizationLifetimeSeconds"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiBlossomUploadInput","authorizationLifetimeSeconds"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV28authorizationLifetimeSecondss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","spelling":"FfiBlossomUploadInput"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiBlossomUploadInputV","spelling":"FfiBlossomUploadInput"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiBlossomUploadInput","==(_:_:)"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiBlossomUploadInput","hash(into:)"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"media"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"}],"kind":"swift.property","path":["FfiBlossomUploadInput","media"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV5mediaAA0d13PreparedMediaG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomUploadInput","draftId"],"precise":"s:19RadrootsKitBindings21FfiBlossomUploadInputV7draftIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiCancellationPolicy"}],"kind":"swift.enum","path":["FfiCancellationPolicy"],"precise":"s:19RadrootsKitBindings21FfiCancellationPolicyO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localCooperative"}],"kind":"swift.enum.case","path":["FfiCancellationPolicy","localCooperative"],"precise":"s:19RadrootsKitBindings21FfiCancellationPolicyO16localCooperativeyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preservePublishedRequest"}],"kind":"swift.enum.case","path":["FfiCancellationPolicy","preservePublishedRequest"],"precise":"s:19RadrootsKitBindings21FfiCancellationPolicyO24preservePublishedRequestyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiCardLifecycleState"}],"kind":"swift.enum","path":["FfiCardLifecycleState"],"precise":"s:19RadrootsKitBindings21FfiCardLifecycleStateO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"past"}],"kind":"swift.enum.case","path":["FfiCardLifecycleState","past"],"precise":"s:19RadrootsKitBindings21FfiCardLifecycleStateO4pastyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sold"}],"kind":"swift.enum.case","path":["FfiCardLifecycleState","sold"],"precise":"s:19RadrootsKitBindings21FfiCardLifecycleStateO4soldyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"active"}],"kind":"swift.enum.case","path":["FfiCardLifecycleState","active"],"precise":"s:19RadrootsKitBindings21FfiCardLifecycleStateO6activeyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiLocalNetworkRecord"}],"kind":"swift.struct","path":["FfiLocalNetworkRecord"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"generation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiLocalNetworkRecord","generation"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV10generations6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"label"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"relayUrls"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"locality"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"followedAuthors"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"generation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiLocalNetworkRecord","init(schemaVersion:id:label:relayUrls:locality:followedAuthors:generation:)"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV13schemaVersion2id5label9relayUrls8locality15followedAuthors10generationACs6UInt16V_S2SSaySSGSSSgAMs6UInt64Vtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiLocalNetworkRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"followedAuthors"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiLocalNetworkRecord","followedAuthors"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV15followedAuthorsSaySSGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV","spelling":"FfiLocalNetworkRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiLocalNetworkRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiLocalNetworkRecord","id"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV2idSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiLocalNetworkRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"label"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiLocalNetworkRecord","label"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV5labelSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"locality"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiLocalNetworkRecord","locality"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV8localitySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"relayUrls"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiLocalNetworkRecord","relayUrls"],"precise":"s:19RadrootsKitBindings21FfiLocalNetworkRecordV9relayUrlsSaySSGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiPreparedMediaInput"}],"kind":"swift.struct","path":["FfiPreparedMediaInput"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"opaqueReference"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"fileDescriptor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sha256"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"mediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"byteSize"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"alt"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"preparedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiPreparedMediaInput","init(schemaVersion:opaqueReference:fileDescriptor:sha256:mediaType:byteSize:width:height:alt:preparedAtUnixS:)"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV13schemaVersion15opaqueReference14fileDescriptor6sha2569mediaType8byteSize5width6height3alt15preparedAtUnixSACs6UInt16V_SSs6UInt64VS2SAQs6UInt32VASSSAQtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiPreparedMediaInput","schemaVersion"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fileDescriptor"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiPreparedMediaInput","fileDescriptor"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV14fileDescriptors6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"opaqueReference"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiPreparedMediaInput","opaqueReference"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV15opaqueReferenceSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preparedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiPreparedMediaInput","preparedAtUnixS"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV15preparedAtUnixSs6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiPreparedMediaInput","==(_:_:)"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"alt"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiPreparedMediaInput","alt"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV3altSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiPreparedMediaInput","hash(into:)"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["FfiPreparedMediaInput","width"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV5widths6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["FfiPreparedMediaInput","height"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV6heights6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sha256"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiPreparedMediaInput","sha256"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV6sha256SSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"byteSize"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiPreparedMediaInput","byteSize"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV8byteSizes6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiPreparedMediaInput","mediaType"],"precise":"s:19RadrootsKitBindings21FfiPreparedMediaInputV9mediaTypeSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiSearchResultRecord"}],"kind":"swift.struct","path":["FfiSearchResultRecord"],"precise":"s:19RadrootsKitBindings21FfiSearchResultRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"resultType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiSearchResultTypeO","spelling":"FfiSearchResultType"}],"kind":"swift.property","path":["FfiSearchResultRecord","resultType"],"precise":"s:19RadrootsKitBindings21FfiSearchResultRecordV10resultTypeAA0defI0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"resultType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings19FfiSearchResultTypeO","spelling":"FfiSearchResultType"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"stableId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"card"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayCardRecordV","spelling":"FfiTodayCardRecord"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiSearchResultRecord","init(schemaVersion:resultType:stableId:card:profile:)"],"precise":"s:19RadrootsKitBindings21FfiSearchResultRecordV13schemaVersion10resultType8stableId4card7profileACs6UInt16V_AA0defK0OSSAA0d9TodayCardG0VSgAA0d7ProfileG0VSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiSearchResultRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings21FfiSearchResultRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiSearchResultRecordV","spelling":"FfiSearchResultRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiSearchResultRecordV","spelling":"FfiSearchResultRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiSearchResultRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings21FfiSearchResultRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"card"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings18FfiTodayCardRecordV","spelling":"FfiTodayCardRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiSearchResultRecord","card"],"precise":"s:19RadrootsKitBindings21FfiSearchResultRecordV4cardAA0d9TodayCardG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiSearchResultRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings21FfiSearchResultRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiProfileRecordV","spelling":"FfiProfileRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiSearchResultRecord","profile"],"precise":"s:19RadrootsKitBindings21FfiSearchResultRecordV7profileAA0d7ProfileG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"stableId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiSearchResultRecord","stableId"],"precise":"s:19RadrootsKitBindings21FfiSearchResultRecordV8stableIdSSvp"},{"access":"open","declaration":[{"kind":"keyword","spelling":"class"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiSubscriptionHandle"}],"kind":"swift.class","path":["FfiSubscriptionHandle"],"precise":"s:19RadrootsKitBindings21FfiSubscriptionHandleC"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unsubscribe"},{"kind":"text","spelling":"()"}],"kind":"swift.method","path":["FfiSubscriptionHandle","unsubscribe()"],"precise":"s:19RadrootsKitBindings21FfiSubscriptionHandleC11unsubscribeyyF"},{"access":"open","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isActive"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.method","path":["FfiSubscriptionHandle","isActive()"],"precise":"s:19RadrootsKitBindings21FfiSubscriptionHandleC8isActiveSbyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiTodayRefreshRecord"}],"kind":"swift.struct","path":["FfiTodayRefreshRecord"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sourceEvents"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodayRefreshRecord","sourceEvents"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV12sourceEventss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"visibleCards"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodayRefreshRecord","visibleCards"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV12visibleCardss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"update"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","spelling":"FfiTodayProjectionUpdate"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sourceEvents"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"visibleCards"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"profiles"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"threadEntries"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"contentGeneration"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"changed"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiTodayRefreshRecord","init(schemaVersion:update:sourceEvents:visibleCards:profiles:threadEntries:contentGeneration:changed:)"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV13schemaVersion6update12sourceEvents12visibleCards8profiles13threadEntries17contentGeneration7changedACs6UInt16V_AA0dE16ProjectionUpdateOs6UInt64VA4QSbtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiTodayRefreshRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"threadEntries"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodayRefreshRecord","threadEntries"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV13threadEntriess6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"contentGeneration"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodayRefreshRecord","contentGeneration"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV17contentGenerations6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","spelling":"FfiTodayRefreshRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV","spelling":"FfiTodayRefreshRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiTodayRefreshRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiTodayRefreshRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"update"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO","spelling":"FfiTodayProjectionUpdate"}],"kind":"swift.property","path":["FfiTodayRefreshRecord","update"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV6updateAA0dE16ProjectionUpdateOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"changed"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiTodayRefreshRecord","changed"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV7changedSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"profiles"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiTodayRefreshRecord","profiles"],"precise":"s:19RadrootsKitBindings21FfiTodayRefreshRecordV8profiless6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiBlossomUploadIntent"}],"kind":"swift.struct","path":["FfiBlossomUploadIntent"],"precise":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"media"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiBlossomUploadIntent","init(schemaVersion:draftId:expectedRevision:media:)"],"precise":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV13schemaVersion7draftId16expectedRevision5mediaACs6UInt16V_SSs6UInt64VAA0D18PreparedMediaInputVtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiBlossomUploadIntent","schemaVersion"],"precise":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiBlossomUploadIntent","expectedRevision"],"precise":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV16expectedRevisions6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","spelling":"FfiBlossomUploadIntent"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV","spelling":"FfiBlossomUploadIntent"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiBlossomUploadIntent","==(_:_:)"],"precise":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiBlossomUploadIntent","hash(into:)"],"precise":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"media"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"}],"kind":"swift.property","path":["FfiBlossomUploadIntent","media"],"precise":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV5mediaAA0D18PreparedMediaInputVvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomUploadIntent","draftId"],"precise":"s:19RadrootsKitBindings22FfiBlossomUploadIntentV7draftIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiCardAddParityRecord"}],"kind":"swift.struct","path":["FfiCardAddParityRecord"],"precise":"s:19RadrootsKitBindings22FfiCardAddParityRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"}],"kind":"swift.property","path":["FfiCardAddParityRecord","commandType"],"precise":"s:19RadrootsKitBindings22FfiCardAddParityRecordV11commandTypeAA0df7CommandJ0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"cardType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiTodayCardTypeO","spelling":"FfiTodayCardType"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiCardAddParityRecord","init(schemaVersion:cardType:commandType:)"],"precise":"s:19RadrootsKitBindings22FfiCardAddParityRecordV13schemaVersion8cardType07commandL0ACs6UInt16V_AA0d5TodayeL0OAA0df7CommandL0Otcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiCardAddParityRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings22FfiCardAddParityRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","spelling":"FfiCardAddParityRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiCardAddParityRecordV","spelling":"FfiCardAddParityRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiCardAddParityRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings22FfiCardAddParityRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiCardAddParityRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings22FfiCardAddParityRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cardType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiTodayCardTypeO","spelling":"FfiTodayCardType"}],"kind":"swift.property","path":["FfiCardAddParityRecord","cardType"],"precise":"s:19RadrootsKitBindings22FfiCardAddParityRecordV8cardTypeAA0d5TodayeJ0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiIdentityCommandKind"}],"kind":"swift.enum","path":["FfiIdentityCommandKind"],"precise":"s:19RadrootsKitBindings22FfiIdentityCommandKindO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"beginImport"}],"kind":"swift.enum.case","path":["FfiIdentityCommandKind","beginImport"],"precise":"s:19RadrootsKitBindings22FfiIdentityCommandKindO11beginImportyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cancelImport"}],"kind":"swift.enum.case","path":["FfiIdentityCommandKind","cancelImport"],"precise":"s:19RadrootsKitBindings22FfiIdentityCommandKindO12cancelImportyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"completeImport"}],"kind":"swift.enum.case","path":["FfiIdentityCommandKind","completeImport"],"precise":"s:19RadrootsKitBindings22FfiIdentityCommandKindO14completeImportyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lock"}],"kind":"swift.enum.case","path":["FfiIdentityCommandKind","lock"],"precise":"s:19RadrootsKitBindings22FfiIdentityCommandKindO4lockyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"select"}],"kind":"swift.enum.case","path":["FfiIdentityCommandKind","select"],"precise":"s:19RadrootsKitBindings22FfiIdentityCommandKindO6selectyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unlock"}],"kind":"swift.enum.case","path":["FfiIdentityCommandKind","unlock"],"precise":"s:19RadrootsKitBindings22FfiIdentityCommandKindO6unlockyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"recover"}],"kind":"swift.enum.case","path":["FfiIdentityCommandKind","recover"],"precise":"s:19RadrootsKitBindings22FfiIdentityCommandKindO7recoveryA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiIdentityStateRecord"}],"kind":"swift.struct","path":["FfiIdentityStateRecord"],"precise":"s:19RadrootsKitBindings22FfiIdentityStateRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lockState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiIdentityLockStateO","spelling":"FfiIdentityLockState"}],"kind":"swift.property","path":["FfiIdentityStateRecord","lockState"],"precise":"s:19RadrootsKitBindings22FfiIdentityStateRecordV04lockF0AA0de4LockF0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"activeIdentityId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiIdentityStateRecord","activeIdentityId"],"precise":"s:19RadrootsKitBindings22FfiIdentityStateRecordV06activeE2IdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"identities"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","spelling":"FfiSettingsIdentityRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiIdentityStateRecord","identities"],"precise":"s:19RadrootsKitBindings22FfiIdentityStateRecordV10identitiesSayAA0d8SettingseG0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"identities"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","spelling":"FfiSettingsIdentityRecord"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"activeIdentityId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"lockState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiIdentityLockStateO","spelling":"FfiIdentityLockState"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"pendingImportOperationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiIdentityStateRecord","init(schemaVersion:identities:activeIdentityId:lockState:pendingImportOperationId:)"],"precise":"s:19RadrootsKitBindings22FfiIdentityStateRecordV13schemaVersion10identities06activeE2Id04lockF0022pendingImportOperationL0ACs6UInt16V_SayAA0d8SettingseG0VGSSSgAA0de4LockF0OANtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiIdentityStateRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings22FfiIdentityStateRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"pendingImportOperationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiIdentityStateRecord","pendingImportOperationId"],"precise":"s:19RadrootsKitBindings22FfiIdentityStateRecordV24pendingImportOperationIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","spelling":"FfiIdentityStateRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","spelling":"FfiIdentityStateRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiIdentityStateRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings22FfiIdentityStateRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiIdentityStateRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings22FfiIdentityStateRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiProfileStatusRecord"}],"kind":"swift.struct","path":["FfiProfileStatusRecord"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deliveryId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileStatusRecord","deliveryId"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV10deliveryIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"settlement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","spelling":"FfiOperationSettlementRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileStatusRecord","settlement"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV10settlementAA0d19OperationSettlementG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiProfileStatusRecord","operationId"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV11operationIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"revision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings14FfiOutboxStateO","spelling":"FfiOutboxState"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deliveryId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"createdAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"updatedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"settlement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","spelling":"FfiOperationSettlementRecord"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiProfileStatusRecord","init(schemaVersion:operationId:revision:authorPublicKey:state:deliveryId:createdAtUnixMs:updatedAtUnixMs:settlement:)"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV13schemaVersion11operationId8revision15authorPublicKey5state08deliveryK015createdAtUnixMs07updatedstU010settlementACs6UInt16V_SSs6UInt64VSSAA0D11OutboxStateOSSSgA2pA0d19OperationSettlementG0VSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiProfileStatusRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiProfileStatusRecord","authorPublicKey"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV15authorPublicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"createdAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiProfileStatusRecord","createdAtUnixMs"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV15createdAtUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"updatedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiProfileStatusRecord","updatedAtUnixMs"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV15updatedAtUnixMss6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiProfileStatusRecordV","spelling":"FfiProfileStatusRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiProfileStatusRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiProfileStatusRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings14FfiOutboxStateO","spelling":"FfiOutboxState"}],"kind":"swift.property","path":["FfiProfileStatusRecord","state"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV5stateAA0D11OutboxStateOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"revision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiProfileStatusRecord","revision"],"precise":"s:19RadrootsKitBindings22FfiProfileStatusRecordV8revisions6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRevisionInputRecord"}],"kind":"swift.struct","path":["FfiRevisionInputRecord"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"replacement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"}],"kind":"swift.property","path":["FfiRevisionInputRecord","replacement"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV11replacementAA0d8AddDraftF0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"cardId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sourceEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sourceAddress"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"replacement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiAddDraftInputV","spelling":"FfiAddDraftInput"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiRevisionInputRecord","init(schemaVersion:cardId:sourceEventId:sourceAddress:authorPublicKey:replacement:)"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV13schemaVersion6cardId011sourceEventK00L7Address15authorPublicKey11replacementACs6UInt16V_S3SSgSSAA0d8AddDraftF0Vtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiRevisionInputRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sourceAddress"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiRevisionInputRecord","sourceAddress"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV13sourceAddressSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sourceEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRevisionInputRecord","sourceEventId"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV13sourceEventIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorPublicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRevisionInputRecord","authorPublicKey"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV15authorPublicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","spelling":"FfiRevisionInputRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiRevisionInputRecordV","spelling":"FfiRevisionInputRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiRevisionInputRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiRevisionInputRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cardId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRevisionInputRecord","cardId"],"precise":"s:19RadrootsKitBindings22FfiRevisionInputRecordV6cardIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRuntimeChangeRecord"}],"kind":"swift.struct","path":["FfiRuntimeChangeRecord"],"precise":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"generation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiRuntimeChangeRecord","generation"],"precise":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV10generations6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"generation"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO","spelling":"FfiRuntimeChangeKind"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"entityId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiRuntimeChangeRecord","init(schemaVersion:generation:kind:entityId:)"],"precise":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV13schemaVersion10generation4kind8entityIdACs6UInt16V_s6UInt64VAA0deF4KindOSSSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiRuntimeChangeRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV","spelling":"FfiRuntimeChangeRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV","spelling":"FfiRuntimeChangeRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiRuntimeChangeRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiRuntimeChangeRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRuntimeChangeKindO","spelling":"FfiRuntimeChangeKind"}],"kind":"swift.property","path":["FfiRuntimeChangeRecord","kind"],"precise":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV4kindAA0deF4KindOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"entityId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiRuntimeChangeRecord","entityId"],"precise":"s:19RadrootsKitBindings22FfiRuntimeChangeRecordV8entityIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiStorageStatusRecord"}],"kind":"swift.struct","path":["FfiStorageStatusRecord"],"precise":"s:19RadrootsKitBindings22FfiStorageStatusRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"backend"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"openMode"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"shutdown"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"integrity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiStorageStatusRecord","init(schemaVersion:backend:openMode:shutdown:integrity:)"],"precise":"s:19RadrootsKitBindings22FfiStorageStatusRecordV13schemaVersion7backend8openMode8shutdown9integrityACs6UInt16V_S4Stcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiStorageStatusRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings22FfiStorageStatusRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","spelling":"FfiStorageStatusRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiStorageStatusRecordV","spelling":"FfiStorageStatusRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiStorageStatusRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings22FfiStorageStatusRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiStorageStatusRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings22FfiStorageStatusRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"backend"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiStorageStatusRecord","backend"],"precise":"s:19RadrootsKitBindings22FfiStorageStatusRecordV7backendSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"openMode"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiStorageStatusRecord","openMode"],"precise":"s:19RadrootsKitBindings22FfiStorageStatusRecordV8openModeSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"shutdown"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiStorageStatusRecord","shutdown"],"precise":"s:19RadrootsKitBindings22FfiStorageStatusRecordV8shutdownSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"integrity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiStorageStatusRecord","integrity"],"precise":"s:19RadrootsKitBindings22FfiStorageStatusRecordV9integritySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiTodayRelaySyncState"}],"kind":"swift.enum","path":["FfiTodayRelaySyncState"],"precise":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"offline"}],"kind":"swift.enum.case","path":["FfiTodayRelaySyncState","offline"],"precise":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO7offlineyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"partial"}],"kind":"swift.enum.case","path":["FfiTodayRelaySyncState","partial"],"precise":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO7partialyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"complete"}],"kind":"swift.enum.case","path":["FfiTodayRelaySyncState","complete"],"precise":"s:19RadrootsKitBindings22FfiTodayRelaySyncStateO8completeyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiDraftFormMediaRecord"}],"kind":"swift.struct","path":["FfiDraftFormMediaRecord"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"opaqueReference"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sha256"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"mediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"byteSize"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"alt"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"preparedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiDraftFormMediaRecord","init(schemaVersion:opaqueReference:url:sha256:mediaType:byteSize:width:height:alt:preparedAtUnixS:)"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV13schemaVersion15opaqueReference3url6sha2569mediaType8byteSize5width6height3alt15preparedAtUnixSACs6UInt16V_S4Ss6UInt64Vs6UInt32VASSSAQtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"opaqueReference"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","opaqueReference"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV15opaqueReferenceSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"preparedAtUnixS"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","preparedAtUnixS"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV15preparedAtUnixSs6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","spelling":"FfiDraftFormMediaRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV","spelling":"FfiDraftFormMediaRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiDraftFormMediaRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"alt"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","alt"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV3altSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","url"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV3urlSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiDraftFormMediaRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","width"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV5widths6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","height"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV6heights6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sha256"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","sha256"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV6sha256SSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"byteSize"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","byteSize"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV8byteSizes6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiDraftFormMediaRecord","mediaType"],"precise":"s:19RadrootsKitBindings23FfiDraftFormMediaRecordV9mediaTypeSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiIdentityStatusRecord"}],"kind":"swift.struct","path":["FfiIdentityStatusRecord"],"precise":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"hostSignerConfigured"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiIdentityStatusRecord","init(schemaVersion:publicKey:hostSignerConfigured:)"],"precise":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV13schemaVersion9publicKey20hostSignerConfiguredACs6UInt16V_SSSbtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiIdentityStatusRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hostSignerConfigured"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiIdentityStatusRecord","hostSignerConfigured"],"precise":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV20hostSignerConfiguredSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","spelling":"FfiIdentityStatusRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV","spelling":"FfiIdentityStatusRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiIdentityStatusRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiIdentityStatusRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiIdentityStatusRecord","publicKey"],"precise":"s:19RadrootsKitBindings23FfiIdentityStatusRecordV9publicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMediaReferenceRecord"}],"kind":"swift.struct","path":["FfiMediaReferenceRecord"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"verification"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiMediaVerificationStateO","spelling":"FfiMediaVerificationState"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","verification"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV12verificationAA0dE17VerificationStateOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"referenceFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"sha256"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"mediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"byteSize"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"alt"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"verification"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiMediaVerificationStateO","spelling":"FfiMediaVerificationState"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiMediaReferenceRecord","init(schemaVersion:referenceFingerprint:url:sha256:mediaType:width:height:byteSize:alt:verification:)"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV13schemaVersion20referenceFingerprint3url6sha2569mediaType5width6height8byteSize3alt12verificationACs6UInt16V_S3SSgAPs6UInt32VSgASs6UInt64VSgApA0dE17VerificationStateOtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"referenceFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","referenceFingerprint"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV20referenceFingerprintSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","spelling":"FfiMediaReferenceRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV","spelling":"FfiMediaReferenceRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiMediaReferenceRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"alt"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","alt"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV3altSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","url"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV3urlSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiMediaReferenceRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","width"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV5widths6UInt32VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","height"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV6heights6UInt32VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"sha256"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","sha256"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV6sha256SSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"byteSize"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","byteSize"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV8byteSizes6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiMediaReferenceRecord","mediaType"],"precise":"s:19RadrootsKitBindings23FfiMediaReferenceRecordV9mediaTypeSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMobileSettingsRecord"}],"kind":"swift.struct","path":["FfiMobileSettingsRecord"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localStorage"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","spelling":"FfiLocalStoragePolicyRecord"}],"kind":"swift.property","path":["FfiMobileSettingsRecord","localStorage"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV12localStorageAA0d5Locali6PolicyG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaNetwork"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","spelling":"FfiMediaNetworkPolicyRecord"}],"kind":"swift.property","path":["FfiMobileSettingsRecord","mediaNetwork"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV12mediaNetworkAA0d5Mediai6PolicyG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"revision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"identity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","spelling":"FfiIdentityStateRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"relays"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","spelling":"FfiRelayPreferencesRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"blossom"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","spelling":"FfiBlossomPreferencesRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"mediaNetwork"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","spelling":"FfiMediaNetworkPolicyRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"localStorage"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","spelling":"FfiLocalStoragePolicyRecord"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiMobileSettingsRecord","init(schemaVersion:revision:identity:relays:blossom:mediaNetwork:localStorage:)"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV13schemaVersion8revision8identity6relays7blossom12mediaNetwork12localStorageACs6UInt16V_s6UInt64VAA0d13IdentityStateG0VAA0d16RelayPreferencesG0VAA0d7BlossomwG0VAA0d5Mediao6PolicyG0VAA0d5LocalqzG0Vtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiMobileSettingsRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","spelling":"FfiMobileSettingsRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","spelling":"FfiMobileSettingsRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiMobileSettingsRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiMobileSettingsRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"relays"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","spelling":"FfiRelayPreferencesRecord"}],"kind":"swift.property","path":["FfiMobileSettingsRecord","relays"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV6relaysAA0d16RelayPreferencesG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"blossom"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","spelling":"FfiBlossomPreferencesRecord"}],"kind":"swift.property","path":["FfiMobileSettingsRecord","blossom"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV7blossomAA0d18BlossomPreferencesG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"identity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiIdentityStateRecordV","spelling":"FfiIdentityStateRecord"}],"kind":"swift.property","path":["FfiMobileSettingsRecord","identity"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV8identityAA0d13IdentityStateG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"revision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiMobileSettingsRecord","revision"],"precise":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV8revisions6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRetractionDraftInput"}],"kind":"swift.struct","path":["FfiRetractionDraftInput"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"targetKind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["FfiRetractionDraftInput","targetKind"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV10targetKinds6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"}],"kind":"swift.property","path":["FfiRetractionDraftInput","commandType"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV11commandTypeAA0d10AddCommandI0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"targetCardId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRetractionDraftInput","targetCardId"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV12targetCardIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"commandType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiAddCommandTypeO","spelling":"FfiAddCommandType"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"targetCardId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"targetEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"targetKind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"targetAddress"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"reason"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiRetractionDraftInput","init(schemaVersion:commandType:targetCardId:targetEventId:targetKind:targetAddress:reason:)"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV13schemaVersion11commandType12targetCardId0l5EventN00L4Kind0L7Address6reasonACs6UInt16V_AA0d10AddCommandK0OS2Ss6UInt32VSSSgSStcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiRetractionDraftInput","schemaVersion"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"targetAddress"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiRetractionDraftInput","targetAddress"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV13targetAddressSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"targetEventId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRetractionDraftInput","targetEventId"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV13targetEventIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","spelling":"FfiRetractionDraftInput"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRetractionDraftInputV","spelling":"FfiRetractionDraftInput"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiRetractionDraftInput","==(_:_:)"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiRetractionDraftInput","hash(into:)"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"reason"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRetractionDraftInput","reason"],"precise":"s:19RadrootsKitBindings23FfiRetractionDraftInputV6reasonSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRevisionStatusRecord"}],"kind":"swift.struct","path":["FfiRevisionStatusRecord"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"retraction"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiRevisionStatusRecord","retraction"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV10retractionAA0d5DraftfG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRevisionStatusRecord","operationId"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV11operationIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"replacement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.property","path":["FfiRevisionStatusRecord","replacement"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV11replacementAA0d5DraftfG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"replacement"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"retraction"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"policy"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiRevisionPolicyO","spelling":"FfiRevisionPolicy"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"phase"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiRevisionPhaseO","spelling":"FfiRevisionPhase"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiRevisionStatusRecord","init(schemaVersion:operationId:replacement:retraction:policy:phase:)"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV13schemaVersion11operationId11replacement10retraction6policy5phaseACs6UInt16V_SSAA0d5DraftfG0VAMSgAA0dE6PolicyOAA0dE5PhaseOtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiRevisionStatusRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV","spelling":"FfiRevisionStatusRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiRevisionStatusRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiRevisionStatusRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"phase"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings16FfiRevisionPhaseO","spelling":"FfiRevisionPhase"}],"kind":"swift.property","path":["FfiRevisionStatusRecord","phase"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV5phaseAA0dE5PhaseOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"policy"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings17FfiRevisionPolicyO","spelling":"FfiRevisionPolicy"}],"kind":"swift.property","path":["FfiRevisionStatusRecord","policy"],"precise":"s:19RadrootsKitBindings23FfiRevisionStatusRecordV6policyAA0dE6PolicyOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiBlossomEvidenceRecord"}],"kind":"swift.struct","path":["FfiBlossomEvidenceRecord"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"errorPhase"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","errorPhase"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV10errorPhaseSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"httpStatus"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","httpStatus"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV10httpStatuss6UInt16VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"origin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"configFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"lastSuccessfulState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"transportSecurity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"observedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"httpStatus"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"errorCode"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"serverErrorCode"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"errorPhase"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"retryable"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"possibleOrphan"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"attempts"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5UInt8V","spelling":"UInt8"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiBlossomEvidenceRecord","init(schemaVersion:origin:configFingerprint:state:lastSuccessfulState:transportSecurity:observedAtUnixMs:httpStatus:errorCode:serverErrorCode:errorPhase:retryable:possibleOrphan:attempts:)"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV13schemaVersion6origin17configFingerprint5state19lastSuccessfulState17transportSecurity16observedAtUnixMs10httpStatus9errorCode011serverErrorZ00Y5Phase9retryable14possibleOrphan8attemptsACs6UInt16V_S5Ss6UInt64VSgASSgSSSgA2XS2bs5UInt8Vtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"possibleOrphan"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","possibleOrphan"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV14possibleOrphanSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"serverErrorCode"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","serverErrorCode"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV15serverErrorCodeSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"observedAtUnixMs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","observedAtUnixMs"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV16observedAtUnixMss6UInt64VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","configFingerprint"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV17configFingerprintSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"transportSecurity"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","transportSecurity"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV17transportSecuritySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"lastSuccessfulState"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","lastSuccessfulState"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV19lastSuccessfulStateSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","spelling":"FfiBlossomEvidenceRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV","spelling":"FfiBlossomEvidenceRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiBlossomEvidenceRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiBlossomEvidenceRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","state"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV5stateSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"origin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","origin"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV6originSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"attempts"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s5UInt8V","spelling":"UInt8"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","attempts"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV8attemptss5UInt8Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"errorCode"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","errorCode"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV9errorCodeSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"retryable"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiBlossomEvidenceRecord","retryable"],"precise":"s:19RadrootsKitBindings24FfiBlossomEvidenceRecordV9retryableSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiIdentityCommandRecord"}],"kind":"swift.struct","path":["FfiIdentityCommandRecord"],"precise":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"identityId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiIdentityCommandRecord","identityId"],"precise":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV10identityIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiIdentityCommandRecord","operationId"],"precise":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV11operationIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiIdentityCommandKindO","spelling":"FfiIdentityCommandKind"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"identityId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiIdentityCommandRecord","init(schemaVersion:kind:operationId:identityId:publicKey:)"],"precise":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV13schemaVersion4kind11operationId08identityL09publicKeyACs6UInt16V_AA0deF4KindOSSSgA2Mtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiIdentityCommandRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","spelling":"FfiIdentityCommandRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV","spelling":"FfiIdentityCommandRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiIdentityCommandRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiIdentityCommandRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"kind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings22FfiIdentityCommandKindO","spelling":"FfiIdentityCommandKind"}],"kind":"swift.property","path":["FfiIdentityCommandRecord","kind"],"precise":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV4kindAA0deF4KindOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiIdentityCommandRecord","publicKey"],"precise":"s:19RadrootsKitBindings24FfiIdentityCommandRecordV9publicKeySSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiNativeUploadJobRecord"}],"kind":"swift.struct","path":["FfiNativeUploadJobRecord"],"precise":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiNativeUploadJobRecord","operationId"],"precise":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV11operationIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"draft"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"remoteUrl"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authorizationHeader"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedSha256"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"mediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"byteSize"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiNativeUploadJobRecord","init(schemaVersion:operationId:draft:remoteUrl:authorizationHeader:expectedSha256:mediaType:byteSize:)"],"precise":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV13schemaVersion11operationId5draft9remoteUrl19authorizationHeader14expectedSha2569mediaType8byteSizeACs6UInt16V_SSAA0d11DraftStatusH0VS4Ss6UInt64Vtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiNativeUploadJobRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expectedSha256"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiNativeUploadJobRecord","expectedSha256"],"precise":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV14expectedSha256SSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authorizationHeader"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiNativeUploadJobRecord","authorizationHeader"],"precise":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV19authorizationHeaderSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV","spelling":"FfiNativeUploadJobRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV","spelling":"FfiNativeUploadJobRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiNativeUploadJobRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiNativeUploadJobRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draft"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiDraftStatusRecordV","spelling":"FfiDraftStatusRecord"}],"kind":"swift.property","path":["FfiNativeUploadJobRecord","draft"],"precise":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV5draftAA0d11DraftStatusH0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"byteSize"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiNativeUploadJobRecord","byteSize"],"precise":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV8byteSizes6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiNativeUploadJobRecord","mediaType"],"precise":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV9mediaTypeSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"remoteUrl"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiNativeUploadJobRecord","remoteUrl"],"precise":"s:19RadrootsKitBindings24FfiNativeUploadJobRecordV9remoteUrlSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRelayAccessPreference"}],"kind":"swift.enum","path":["FfiRelayAccessPreference"],"precise":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"readOnly"}],"kind":"swift.enum.case","path":["FfiRelayAccessPreference","readOnly"],"precise":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO8readOnlyyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"readWrite"}],"kind":"swift.enum.case","path":["FfiRelayAccessPreference","readWrite"],"precise":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO9readWriteyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRelayPreferenceRecord"}],"kind":"swift.struct","path":["FfiRelayPreferenceRecord"],"precise":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"access"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO","spelling":"FfiRelayAccessPreference"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiRelayPreferenceRecord","init(schemaVersion:url:access:)"],"precise":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV13schemaVersion3url6accessACs6UInt16V_SSAA0de6AccessF0Otcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiRelayPreferenceRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","spelling":"FfiRelayPreferenceRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","spelling":"FfiRelayPreferenceRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiRelayPreferenceRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"url"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRelayPreferenceRecord","url"],"precise":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV3urlSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiRelayPreferenceRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"access"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiRelayAccessPreferenceO","spelling":"FfiRelayAccessPreference"}],"kind":"swift.property","path":["FfiRelayPreferenceRecord","access"],"precise":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV6accessAA0de6AccessF0Ovp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiReplaceSettingsRecord"}],"kind":"swift.struct","path":["FfiReplaceSettingsRecord"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"localStorage"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","spelling":"FfiLocalStoragePolicyRecord"}],"kind":"swift.property","path":["FfiReplaceSettingsRecord","localStorage"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV12localStorageAA0d5Locali6PolicyG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaNetwork"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","spelling":"FfiMediaNetworkPolicyRecord"}],"kind":"swift.property","path":["FfiReplaceSettingsRecord","mediaNetwork"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV12mediaNetworkAA0d5Mediai6PolicyG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"relays"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","spelling":"FfiRelayPreferencesRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"blossom"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","spelling":"FfiBlossomPreferencesRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"mediaNetwork"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","spelling":"FfiMediaNetworkPolicyRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"localStorage"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","spelling":"FfiLocalStoragePolicyRecord"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiReplaceSettingsRecord","init(schemaVersion:expectedRevision:relays:blossom:mediaNetwork:localStorage:)"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV13schemaVersion16expectedRevision6relays7blossom12mediaNetwork12localStorageACs6UInt16V_s6UInt64VAA0d16RelayPreferencesG0VAA0d7BlossomuG0VAA0d5Mediao6PolicyG0VAA0d5LocalqxG0Vtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiReplaceSettingsRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiReplaceSettingsRecord","expectedRevision"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV16expectedRevisions6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","spelling":"FfiReplaceSettingsRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV","spelling":"FfiReplaceSettingsRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiReplaceSettingsRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiReplaceSettingsRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"relays"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","spelling":"FfiRelayPreferencesRecord"}],"kind":"swift.property","path":["FfiReplaceSettingsRecord","relays"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV6relaysAA0d16RelayPreferencesG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"blossom"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","spelling":"FfiBlossomPreferencesRecord"}],"kind":"swift.property","path":["FfiReplaceSettingsRecord","blossom"],"precise":"s:19RadrootsKitBindings24FfiReplaceSettingsRecordV7blossomAA0d18BlossomPreferencesG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiTodayProjectionUpdate"}],"kind":"swift.enum","path":["FfiTodayProjectionUpdate"],"precise":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"incremental"}],"kind":"swift.enum.case","path":["FfiTodayProjectionUpdate","incremental"],"precise":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO11incrementalyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"rebuild"}],"kind":"swift.enum.case","path":["FfiTodayProjectionUpdate","rebuild"],"precise":"s:19RadrootsKitBindings24FfiTodayProjectionUpdateO7rebuildyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"SignerAvailabilityRecord"}],"kind":"swift.enum","path":["SignerAvailabilityRecord"],"precise":"s:19RadrootsKitBindings24SignerAvailabilityRecordO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unavailable"}],"kind":"swift.enum.case","path":["SignerAvailabilityRecord","unavailable"],"precise":"s:19RadrootsKitBindings24SignerAvailabilityRecordO11unavailableyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"busy"}],"kind":"swift.enum.case","path":["SignerAvailabilityRecord","busy"],"precise":"s:19RadrootsKitBindings24SignerAvailabilityRecordO4busyyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ready"}],"kind":"swift.enum.case","path":["SignerAvailabilityRecord","ready"],"precise":"s:19RadrootsKitBindings24SignerAvailabilityRecordO5readyyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"locked"}],"kind":"swift.enum.case","path":["SignerAvailabilityRecord","locked"],"precise":"s:19RadrootsKitBindings24SignerAvailabilityRecordO6lockedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMediaCacheStatusRecord"}],"kind":"swift.struct","path":["FfiMediaCacheStatusRecord"],"precise":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"totalBytes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiMediaCacheStatusRecord","totalBytes"],"precise":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV10totalBytess6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"artifactCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["FfiMediaCacheStatusRecord","artifactCount"],"precise":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV13artifactCounts6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"artifactCount"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"totalBytes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"configurationFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiMediaCacheStatusRecord","init(schemaVersion:artifactCount:totalBytes:configurationFingerprint:)"],"precise":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV13schemaVersion13artifactCount10totalBytes24configurationFingerprintACs6UInt16V_s6UInt32Vs6UInt64VSSSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiMediaCacheStatusRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configurationFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiMediaCacheStatusRecord","configurationFingerprint"],"precise":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV24configurationFingerprintSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","spelling":"FfiMediaCacheStatusRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV","spelling":"FfiMediaCacheStatusRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiMediaCacheStatusRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiMediaCacheStatusRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings25FfiMediaCacheStatusRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMediaOperationProtocol"},{"kind":"text","spelling":" : AnyObject, "},{"kind":"typeIdentifier","preciseIdentifier":"s:s8SendableP","spelling":"Sendable"}],"kind":"swift.protocol","path":["FfiMediaOperationProtocol"],"precise":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isCancelled"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.method","path":["FfiMediaOperationProtocol","isCancelled()"],"precise":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP11isCancelledSbyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.method","path":["FfiMediaOperationProtocol","operationId()"],"precise":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP11operationIdSSyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cancel"},{"kind":"text","spelling":"()"}],"kind":"swift.method","path":["FfiMediaOperationProtocol","cancel()"],"precise":"s:19RadrootsKitBindings25FfiMediaOperationProtocolP6cancelyyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMediaVerificationState"}],"kind":"swift.enum","path":["FfiMediaVerificationState"],"precise":"s:19RadrootsKitBindings25FfiMediaVerificationStateO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unavailable"}],"kind":"swift.enum.case","path":["FfiMediaVerificationState","unavailable"],"precise":"s:19RadrootsKitBindings25FfiMediaVerificationStateO11unavailableyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"failed"}],"kind":"swift.enum.case","path":["FfiMediaVerificationState","failed"],"precise":"s:19RadrootsKitBindings25FfiMediaVerificationStateO6failedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"pending"}],"kind":"swift.enum.case","path":["FfiMediaVerificationState","pending"],"precise":"s:19RadrootsKitBindings25FfiMediaVerificationStateO7pendingyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"verified"}],"kind":"swift.enum.case","path":["FfiMediaVerificationState","verified"],"precise":"s:19RadrootsKitBindings25FfiMediaVerificationStateO8verifiedyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRelayPreferencesRecord"}],"kind":"swift.struct","path":["FfiRelayPreferencesRecord"],"precise":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"environment"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","spelling":"FfiMobileNetworkEnvironment"}],"kind":"swift.property","path":["FfiRelayPreferencesRecord","environment"],"precise":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV11environmentAA0D24MobileNetworkEnvironmentOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"environment"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","spelling":"FfiMobileNetworkEnvironment"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"endpoints"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","spelling":"FfiRelayPreferenceRecord"},{"kind":"text","spelling":"])"}],"kind":"swift.init","path":["FfiRelayPreferencesRecord","init(schemaVersion:environment:endpoints:)"],"precise":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV13schemaVersion11environment9endpointsACs6UInt16V_AA0D24MobileNetworkEnvironmentOSayAA0de10PreferenceG0VGtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiRelayPreferencesRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","spelling":"FfiRelayPreferencesRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV","spelling":"FfiRelayPreferencesRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiRelayPreferencesRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiRelayPreferencesRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"endpoints"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings24FfiRelayPreferenceRecordV","spelling":"FfiRelayPreferenceRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiRelayPreferencesRecord","endpoints"],"precise":"s:19RadrootsKitBindings25FfiRelayPreferencesRecordV9endpointsSayAA0de10PreferenceG0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiSettingsIdentityRecord"}],"kind":"swift.struct","path":["FfiSettingsIdentityRecord"],"precise":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiSettingsIdentityRecord","init(schemaVersion:id:publicKey:)"],"precise":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV13schemaVersion2id9publicKeyACs6UInt16V_S2Stcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiSettingsIdentityRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","spelling":"FfiSettingsIdentityRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV","spelling":"FfiSettingsIdentityRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiSettingsIdentityRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"id"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiSettingsIdentityRecord","id"],"precise":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV2idSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiSettingsIdentityRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publicKey"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiSettingsIdentityRecord","publicKey"],"precise":"s:19RadrootsKitBindings25FfiSettingsIdentityRecordV9publicKeySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"ProtectedDataAvailability"}],"kind":"swift.enum","path":["ProtectedDataAvailability"],"precise":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unavailable"}],"kind":"swift.enum.case","path":["ProtectedDataAvailability","unavailable"],"precise":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO11unavailableyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"available"}],"kind":"swift.enum.case","path":["ProtectedDataAvailability","available"],"precise":"s:19RadrootsKitBindings25ProtectedDataAvailabilityO9availableyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiRelayStatusReportRecord"}],"kind":"swift.struct","path":["FfiRelayStatusReportRecord"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"readAvailability"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"writeAvailability"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"relays"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","spelling":"FfiRelayStatusRecord"},{"kind":"text","spelling":"])"}],"kind":"swift.init","path":["FfiRelayStatusReportRecord","init(schemaVersion:profile:state:readAvailability:writeAvailability:relays:)"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV13schemaVersion7profile5state16readAvailability05writeN06relaysACs6UInt16V_S4SSayAA0defH0VGtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiRelayStatusReportRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"readAvailability"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRelayStatusReportRecord","readAvailability"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV16readAvailabilitySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"writeAvailability"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRelayStatusReportRecord","writeAvailability"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV17writeAvailabilitySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","spelling":"FfiRelayStatusReportRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV","spelling":"FfiRelayStatusReportRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiRelayStatusReportRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiRelayStatusReportRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"state"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRelayStatusReportRecord","state"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV5stateSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"relays"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings20FfiRelayStatusRecordV","spelling":"FfiRelayStatusRecord"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiRelayStatusReportRecord","relays"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV6relaysSayAA0defH0VGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"profile"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiRelayStatusReportRecord","profile"],"precise":"s:19RadrootsKitBindings26FfiRelayStatusReportRecordV7profileSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiBlossomEndpointAuthority"}],"kind":"swift.enum","path":["FfiBlossomEndpointAuthority"],"precise":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publicWebPki"}],"kind":"swift.enum.case","path":["FfiBlossomEndpointAuthority","publicWebPki"],"precise":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO12publicWebPkiyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"loopbackDevelopment"}],"kind":"swift.enum.case","path":["FfiBlossomEndpointAuthority","loopbackDevelopment"],"precise":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO19loopbackDevelopmentyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"privateNetworkDevelopment"}],"kind":"swift.enum.case","path":["FfiBlossomEndpointAuthority","privateNetworkDevelopment"],"precise":"s:19RadrootsKitBindings27FfiBlossomEndpointAuthorityO25privateNetworkDevelopmentyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiBlossomPreferencesRecord"}],"kind":"swift.struct","path":["FfiBlossomPreferencesRecord"],"precise":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"environment"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","spelling":"FfiMobileNetworkEnvironment"}],"kind":"swift.property","path":["FfiBlossomPreferencesRecord","environment"],"precise":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV11environmentAA0D24MobileNetworkEnvironmentOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"primaryOrigin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomPreferencesRecord","primaryOrigin"],"precise":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV13primaryOriginSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"environment"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO","spelling":"FfiMobileNetworkEnvironment"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"authority"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO","spelling":"FfiBlossomAuthorityPreference"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"primaryOrigin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"fallbackOrigins"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"])"}],"kind":"swift.init","path":["FfiBlossomPreferencesRecord","init(schemaVersion:environment:authority:primaryOrigin:fallbackOrigins:)"],"precise":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV13schemaVersion11environment9authority13primaryOrigin15fallbackOriginsACs6UInt16V_AA0D24MobileNetworkEnvironmentOAA0dE19AuthorityPreferenceOSSSaySSGtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiBlossomPreferencesRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fallbackOrigins"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiBlossomPreferencesRecord","fallbackOrigins"],"precise":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV15fallbackOriginsSaySSGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","spelling":"FfiBlossomPreferencesRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV","spelling":"FfiBlossomPreferencesRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiBlossomPreferencesRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiBlossomPreferencesRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"authority"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO","spelling":"FfiBlossomAuthorityPreference"}],"kind":"swift.property","path":["FfiBlossomPreferencesRecord","authority"],"precise":"s:19RadrootsKitBindings27FfiBlossomPreferencesRecordV9authorityAA0dE19AuthorityPreferenceOvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiLocalStoragePolicyRecord"}],"kind":"swift.struct","path":["FfiLocalStoragePolicyRecord"],"precise":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"mediaCacheBytes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"mediaCacheArtifacts"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiLocalStoragePolicyRecord","init(schemaVersion:mediaCacheBytes:mediaCacheArtifacts:)"],"precise":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV13schemaVersion15mediaCacheBytes0kL9ArtifactsACs6UInt16V_s6UInt64Vs6UInt32Vtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiLocalStoragePolicyRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaCacheBytes"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiLocalStoragePolicyRecord","mediaCacheBytes"],"precise":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV15mediaCacheBytess6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaCacheArtifacts"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["FfiLocalStoragePolicyRecord","mediaCacheArtifacts"],"precise":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV19mediaCacheArtifactss6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","spelling":"FfiLocalStoragePolicyRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV","spelling":"FfiLocalStoragePolicyRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiLocalStoragePolicyRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiLocalStoragePolicyRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings27FfiLocalStoragePolicyRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMediaNetworkPolicyRecord"}],"kind":"swift.struct","path":["FfiMediaNetworkPolicyRecord"],"precise":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"allowCellularDownloads"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"allowCellularUploads"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"allowBackgroundTransfers"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiMediaNetworkPolicyRecord","init(schemaVersion:allowCellularDownloads:allowCellularUploads:allowBackgroundTransfers:)"],"precise":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV13schemaVersion22allowCellularDownloads0kL7Uploads0K19BackgroundTransfersACs6UInt16V_S3btcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiMediaNetworkPolicyRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allowCellularUploads"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiMediaNetworkPolicyRecord","allowCellularUploads"],"precise":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV20allowCellularUploadsSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allowCellularDownloads"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiMediaNetworkPolicyRecord","allowCellularDownloads"],"precise":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV22allowCellularDownloadsSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"allowBackgroundTransfers"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiMediaNetworkPolicyRecord","allowBackgroundTransfers"],"precise":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV24allowBackgroundTransfersSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","spelling":"FfiMediaNetworkPolicyRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV","spelling":"FfiMediaNetworkPolicyRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiMediaNetworkPolicyRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiMediaNetworkPolicyRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings27FfiMediaNetworkPolicyRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiMobileNetworkEnvironment"}],"kind":"swift.enum","path":["FfiMobileNetworkEnvironment"],"precise":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"physicalDevice"}],"kind":"swift.enum.case","path":["FfiMobileNetworkEnvironment","physicalDevice"],"precise":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO14physicalDeviceyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"`public`"}],"kind":"swift.enum.case","path":["FfiMobileNetworkEnvironment","public"],"precise":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO6publicyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"simulator"}],"kind":"swift.enum.case","path":["FfiMobileNetworkEnvironment","simulator"],"precise":"s:19RadrootsKitBindings27FfiMobileNetworkEnvironmentO9simulatoryA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiSettingsTransitionRecord"}],"kind":"swift.struct","path":["FfiSettingsTransitionRecord"],"precise":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"settings"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","spelling":"FfiMobileSettingsRecord"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"runtimeRestartRequired"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"outboxRequeueRequired"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"mediaCacheInvalidationRequired"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiSettingsTransitionRecord","init(schemaVersion:settings:runtimeRestartRequired:outboxRequeueRequired:mediaCacheInvalidationRequired:)"],"precise":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV13schemaVersion8settings22runtimeRestartRequired013outboxRequeueM0022mediaCacheInvalidationM0ACs6UInt16V_AA0d6MobileeG0VS3btcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiSettingsTransitionRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"outboxRequeueRequired"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiSettingsTransitionRecord","outboxRequeueRequired"],"precise":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV21outboxRequeueRequiredSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"runtimeRestartRequired"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiSettingsTransitionRecord","runtimeRestartRequired"],"precise":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV22runtimeRestartRequiredSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","spelling":"FfiSettingsTransitionRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV","spelling":"FfiSettingsTransitionRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiSettingsTransitionRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaCacheInvalidationRequired"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.property","path":["FfiSettingsTransitionRecord","mediaCacheInvalidationRequired"],"precise":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV30mediaCacheInvalidationRequiredSbvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiSettingsTransitionRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"settings"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings23FfiMobileSettingsRecordV","spelling":"FfiMobileSettingsRecord"}],"kind":"swift.property","path":["FfiSettingsTransitionRecord","settings"],"precise":"s:19RadrootsKitBindings27FfiSettingsTransitionRecordV8settingsAA0d6MobileeG0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiOperationSettlementRecord"}],"kind":"swift.struct","path":["FfiOperationSettlementRecord"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deliveryPlans"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","deliveryPlans"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV13deliveryPlanss6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"indeterminate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","indeterminate"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV13indeterminates6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"artifacts"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"signed"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"admitted"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"pending"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"retryable"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"indeterminate"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"failedTerminal"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"cancelled"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deliveryPlans"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deliverySatisfied"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deliveryPending"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deliveryRetryable"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deliveryExhausted"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deliveryFailedTerminal"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"deliveryCancelled"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiOperationSettlementRecord","init(schemaVersion:artifacts:signed:admitted:pending:retryable:indeterminate:failedTerminal:cancelled:deliveryPlans:deliverySatisfied:deliveryPending:deliveryRetryable:deliveryExhausted:deliveryFailedTerminal:deliveryCancelled:)"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV13schemaVersion9artifacts6signed8admitted7pending9retryable13indeterminate14failedTerminal9cancelled13deliveryPlans0S9Satisfied0S7Pending0S9Retryable0S9Exhausted0s6FailedQ00S9CancelledACs6UInt16V_A15Utcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"failedTerminal"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","failedTerminal"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV14failedTerminals6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deliveryPending"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","deliveryPending"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV15deliveryPendings6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deliveryCancelled"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","deliveryCancelled"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV17deliveryCancelleds6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deliveryExhausted"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","deliveryExhausted"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV17deliveryExhausteds6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deliveryRetryable"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","deliveryRetryable"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV17deliveryRetryables6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deliverySatisfied"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","deliverySatisfied"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV17deliverySatisfieds6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"deliveryFailedTerminal"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","deliveryFailedTerminal"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV22deliveryFailedTerminals6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","spelling":"FfiOperationSettlementRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV","spelling":"FfiOperationSettlementRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiOperationSettlementRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiOperationSettlementRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"signed"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","signed"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV6signeds6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"pending"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","pending"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV7pendings6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"admitted"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","admitted"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV8admitteds6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"artifacts"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","artifacts"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV9artifactss6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"cancelled"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","cancelled"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV9cancelleds6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"retryable"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiOperationSettlementRecord","retryable"],"precise":"s:19RadrootsKitBindings28FfiOperationSettlementRecordV9retryables6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"enum"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiBlossomAuthorityPreference"}],"kind":"swift.enum","path":["FfiBlossomAuthorityPreference"],"precise":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"publicWebPki"}],"kind":"swift.enum.case","path":["FfiBlossomAuthorityPreference","publicWebPki"],"precise":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO12publicWebPkiyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"loopbackDevelopment"}],"kind":"swift.enum.case","path":["FfiBlossomAuthorityPreference","loopbackDevelopment"],"precise":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO19loopbackDevelopmentyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"case"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"privateNetworkDevelopment"}],"kind":"swift.enum.case","path":["FfiBlossomAuthorityPreference","privateNetworkDevelopment"],"precise":"s:19RadrootsKitBindings29FfiBlossomAuthorityPreferenceO25privateNetworkDevelopmentyA2CmF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiBlossomConfigurationRecord"}],"kind":"swift.struct","path":["FfiBlossomConfigurationRecord"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"primaryOrigin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomConfigurationRecord","primaryOrigin"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV13primaryOriginSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"hostKind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"endpointAuthority"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"primaryOrigin"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"fallbackOrigins"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"], "},{"kind":"externalParam","spelling":"configFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiBlossomConfigurationRecord","init(schemaVersion:hostKind:endpointAuthority:primaryOrigin:fallbackOrigins:configFingerprint:)"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV13schemaVersion8hostKind17endpointAuthority13primaryOrigin15fallbackOrigins17configFingerprintACs6UInt16V_S3SSaySSGSStcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiBlossomConfigurationRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"fallbackOrigins"},{"kind":"text","spelling":": ["},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"]"}],"kind":"swift.property","path":["FfiBlossomConfigurationRecord","fallbackOrigins"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV15fallbackOriginsSaySSGvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"configFingerprint"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomConfigurationRecord","configFingerprint"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV17configFingerprintSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"endpointAuthority"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomConfigurationRecord","endpointAuthority"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV17endpointAuthoritySSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","spelling":"FfiBlossomConfigurationRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV","spelling":"FfiBlossomConfigurationRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiBlossomConfigurationRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiBlossomConfigurationRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hostKind"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiBlossomConfigurationRecord","hostKind"],"precise":"s:19RadrootsKitBindings29FfiBlossomConfigurationRecordV8hostKindSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiProfileMetadataInputRecord"}],"kind":"swift.struct","path":["FfiProfileMetadataInputRecord"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"displayName"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileMetadataInputRecord","displayName"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV11displayNameSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"displayName"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"about"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"picture"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"banner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"nip05"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"bot"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":"?)"}],"kind":"swift.init","path":["FfiProfileMetadataInputRecord","init(schemaVersion:name:displayName:about:picture:banner:nip05:bot:)"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV13schemaVersion4name11displayName5about7picture6banner5nip053botACs6UInt16V_S2SSgAnA0d13PreparedMediaG0VSgAqNSbSgtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiProfileMetadataInputRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","spelling":"FfiProfileMetadataInputRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV","spelling":"FfiProfileMetadataInputRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiProfileMetadataInputRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"bot"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileMetadataInputRecord","bot"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV3botSbSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiProfileMetadataInputRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"name"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiProfileMetadataInputRecord","name"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV4nameSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"about"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileMetadataInputRecord","about"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV5aboutSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"nip05"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileMetadataInputRecord","nip05"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV5nip05SSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"banner"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileMetadataInputRecord","banner"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV6bannerAA0d13PreparedMediaG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"picture"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiProfileMetadataInputRecord","picture"],"precise":"s:19RadrootsKitBindings29FfiProfileMetadataInputRecordV7pictureAA0d13PreparedMediaG0VSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"protocol"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiSubscriptionHandleProtocol"},{"kind":"text","spelling":" : AnyObject, "},{"kind":"typeIdentifier","preciseIdentifier":"s:s8SendableP","spelling":"Sendable"}],"kind":"swift.protocol","path":["FfiSubscriptionHandleProtocol"],"precise":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"unsubscribe"},{"kind":"text","spelling":"()"}],"kind":"swift.method","path":["FfiSubscriptionHandleProtocol","unsubscribe()"],"precise":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP11unsubscribeyyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"isActive"},{"kind":"text","spelling":"() -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.method","path":["FfiSubscriptionHandleProtocol","isActive()"],"precise":"s:19RadrootsKitBindings29FfiSubscriptionHandleProtocolP8isActiveSbyF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiNativeUploadCompletionInput"}],"kind":"swift.struct","path":["FfiNativeUploadCompletionInput"],"precise":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"statusCode"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiNativeUploadCompletionInput","statusCode"],"precise":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV10statusCodes6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"responseBody"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:10Foundation4DataV","spelling":"Data"}],"kind":"swift.property","path":["FfiNativeUploadCompletionInput","responseBody"],"precise":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV12responseBody10Foundation4DataVvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"media"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"statusCode"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"responseMediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"responseContentEncoding"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"responseBody"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:10Foundation4DataV","spelling":"Data"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiNativeUploadCompletionInput","init(schemaVersion:draftId:expectedRevision:media:statusCode:responseMediaType:responseContentEncoding:responseBody:)"],"precise":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV13schemaVersion7draftId16expectedRevision5media10statusCode17responseMediaType0R15ContentEncoding0R4BodyACs6UInt16V_SSs6UInt64VAA0d8PreparedsH0VAMSSSgAR10Foundation4DataVtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiNativeUploadCompletionInput","schemaVersion"],"precise":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"expectedRevision"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiNativeUploadCompletionInput","expectedRevision"],"precise":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV16expectedRevisions6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"responseMediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiNativeUploadCompletionInput","responseMediaType"],"precise":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV17responseMediaTypeSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"responseContentEncoding"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiNativeUploadCompletionInput","responseContentEncoding"],"precise":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV23responseContentEncodingSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV","spelling":"FfiNativeUploadCompletionInput"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV","spelling":"FfiNativeUploadCompletionInput"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiNativeUploadCompletionInput","==(_:_:)"],"precise":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiNativeUploadCompletionInput","hash(into:)"],"precise":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"media"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings21FfiPreparedMediaInputV","spelling":"FfiPreparedMediaInput"}],"kind":"swift.property","path":["FfiNativeUploadCompletionInput","media"],"precise":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV5mediaAA0d13PreparedMediaH0Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"draftId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiNativeUploadCompletionInput","draftId"],"precise":"s:19RadrootsKitBindings30FfiNativeUploadCompletionInputV7draftIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"struct"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"FfiVerifiedMediaArtifactRecord"}],"kind":"swift.struct","path":["FfiVerifiedMediaArtifactRecord"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiVerifiedMediaArtifactRecord","artifactId"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV10artifactIdSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?"}],"kind":"swift.property","path":["FfiVerifiedMediaArtifactRecord","operationId"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV11operationIdSSSgvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"init"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"operationId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":"?, "},{"kind":"externalParam","spelling":"artifactId"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"byteSize"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"mediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":", "},{"kind":"externalParam","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"},{"kind":"text","spelling":")"}],"kind":"swift.init","path":["FfiVerifiedMediaArtifactRecord","init(schemaVersion:operationId:artifactId:byteSize:mediaType:width:height:)"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV13schemaVersion11operationId08artifactL08byteSize9mediaType5width6heightACs6UInt16V_SSSgSSs6UInt64VSSs6UInt32VAQtcfc"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"schemaVersion"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt16V","spelling":"UInt16"}],"kind":"swift.property","path":["FfiVerifiedMediaArtifactRecord","schemaVersion"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV13schemaVersions6UInt16Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"static"},{"kind":"text","spelling":" "},{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"=="},{"kind":"text","spelling":" "},{"kind":"text","spelling":"("},{"kind":"internalParam","spelling":"lhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","spelling":"FfiVerifiedMediaArtifactRecord"},{"kind":"text","spelling":", "},{"kind":"internalParam","spelling":"rhs"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV","spelling":"FfiVerifiedMediaArtifactRecord"},{"kind":"text","spelling":") -> "},{"kind":"typeIdentifier","preciseIdentifier":"s:Sb","spelling":"Bool"}],"kind":"swift.func.op","path":["FfiVerifiedMediaArtifactRecord","==(_:_:)"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV2eeoiySbAC_ACtFZ"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"hash"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"into"},{"kind":"text","spelling":" "},{"kind":"internalParam","spelling":"hasher"},{"kind":"text","spelling":": "},{"kind":"keyword","spelling":"inout"},{"kind":"text","spelling":" "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6HasherV","spelling":"Hasher"},{"kind":"text","spelling":")"}],"kind":"swift.method","path":["FfiVerifiedMediaArtifactRecord","hash(into:)"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV4hash4intoys6HasherVz_tF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"width"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["FfiVerifiedMediaArtifactRecord","width"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV5widths6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"height"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt32V","spelling":"UInt32"}],"kind":"swift.property","path":["FfiVerifiedMediaArtifactRecord","height"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV6heights6UInt32Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"byteSize"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:s6UInt64V","spelling":"UInt64"}],"kind":"swift.property","path":["FfiVerifiedMediaArtifactRecord","byteSize"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV8byteSizes6UInt64Vvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"var"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"mediaType"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"}],"kind":"swift.property","path":["FfiVerifiedMediaArtifactRecord","mediaType"],"precise":"s:19RadrootsKitBindings30FfiVerifiedMediaArtifactRecordV9mediaTypeSSvp"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"logInfo"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"msg"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.func","path":["logInfo(msg:)"],"precise":"s:19RadrootsKitBindings7logInfo3msgySS_tKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"logDebug"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"msg"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.func","path":["logDebug(msg:)"],"precise":"s:19RadrootsKitBindings8logDebug3msgySS_tKF"},{"access":"public","declaration":[{"kind":"keyword","spelling":"func"},{"kind":"text","spelling":" "},{"kind":"identifier","spelling":"logError"},{"kind":"text","spelling":"("},{"kind":"externalParam","spelling":"msg"},{"kind":"text","spelling":": "},{"kind":"typeIdentifier","preciseIdentifier":"s:SS","spelling":"String"},{"kind":"text","spelling":") "},{"kind":"keyword","spelling":"throws"}],"kind":"swift.func","path":["logError(msg:)"],"precise":"s:19RadrootsKitBindings8logError3msgySS_tKF"}]}
diff --git a/RadrootsFFI/provenance.json b/RadrootsFFI/provenance.json
@@ -10,12 +10,12 @@
"files": [],
"provenance": {
"repository": "https://github.com/radrootslabs/lib",
- "revision": "828c462255b52a3d9bbfe8ef90b7bc38395bedfa",
+ "revision": "18973e0aa62ae809b0495d5812b0c5ac8c7774ff",
"architecture": "radroots.crates.release.v2",
"catalog_sha256": "8c27cebf6825f9ed74e122513c661f6dd31837dddb39d0988014121d8ab05e75",
- "lockfile_sha256": "8d357ab3ab9bf96d3fab442e003880b2d9a0a030a8c9b8f1ea90903d2b308e5d",
- "source_archive_sha256": "84bf11f91b21fcd7dde5426440f383a5ddc0f14d731ab607471e924ecf5266bc",
- "source_date_epoch": 1786386437,
+ "lockfile_sha256": "b3be85e6245b38bd14f296cb3f6de9381bfb4e830115f9c7484337be70561d44",
+ "source_archive_sha256": "5b08a33a766e6d1da73e61927d7063474eb223ee8f0dc4532230c8d59c301b2c",
+ "source_date_epoch": 1786394158,
"builder_id": "radroots_ios_app",
"features": []
}
diff --git a/RadrootsFFI/source.lock b/RadrootsFFI/source.lock
@@ -1,11 +1,11 @@
override RADROOTS_FIELD_LIB_GIT_URL := https://github.com/radrootslabs/lib
-override RADROOTS_FIELD_LIB_GIT_REV := 828c462255b52a3d9bbfe8ef90b7bc38395bedfa
+override RADROOTS_FIELD_LIB_GIT_REV := 18973e0aa62ae809b0495d5812b0c5ac8c7774ff
override RADROOTS_FIELD_FFI_CRATE_VERSION := 0.1.0-alpha
-override RADROOTS_FIELD_SOURCE_DATE_EPOCH := 1786386437
-override RADROOTS_FIELD_FFI_DEVICE_SHA256 := 70831a8f9a8a08574c1fa78e2856d6ea5b25667b355931746794c905e199e7b2
-override RADROOTS_FIELD_FFI_SIMULATOR_SHA256 := 1ed33747fee4406604fd19d0e2944e9ec62c77600d1cbaaa334af1c10c9e6885
-override RADROOTS_FIELD_FFI_SWIFT_SHA256 := 23ac38c313c228e2f8352dcf5c5806575cd1ea2e17e86494f4817b7dc78e8d7d
-override RADROOTS_FIELD_FFI_HEADER_SHA256 := dd1fcbf12fee446491da3ff12ec7673cdd981d8931f17ef9753785c54ca6d7f9
+override RADROOTS_FIELD_SOURCE_DATE_EPOCH := 1786394158
+override RADROOTS_FIELD_FFI_DEVICE_SHA256 := ed7d82c7699c01f95fa463f045468d5d1e66ad6c4b5f509a33b3ed7b7a7b04dc
+override RADROOTS_FIELD_FFI_SIMULATOR_SHA256 := 0f205a84828279982f4666f82fb04fb6a746827672f305433ab3bd85e761e564
+override RADROOTS_FIELD_FFI_SWIFT_SHA256 := c184546e4221df2f489b8ca8431c64e1920618f5715f757fcb9be2105830f05e
+override RADROOTS_FIELD_FFI_HEADER_SHA256 := d457c013123eb6edd3e1a12a7b8d34549121066c3d3d1a3beb571ab761fe761e
override RADROOTS_FIELD_FFI_MODULEMAP_SHA256 := b228e67197e2c64b6f5b17a270faf640efc0e298e354b0b3301679e7c4dc321a
-override RADROOTS_FIELD_FFI_API_SHA256 := 259ca56b9211e6d93bbf43e82ea46dd980969a94d84fc63a35236956b1c01e8f
-override RADROOTS_FIELD_FFI_XCFRAMEWORK_SHA256 := 63a37252971a45c7c05cc4d6d09bd74b0c925704643c4c0acefa214986c33ead
+override RADROOTS_FIELD_FFI_API_SHA256 := 1c8b3f941e51e8e00f177246c6293d4426d644eb0c90efbdece4ac8004cfe5f3
+override RADROOTS_FIELD_FFI_XCFRAMEWORK_SHA256 := f97fa193f8751737f3a311df5e62a1cbe138441689ab6879c7669e032d154787
diff --git a/RadrootsTests/RadrootsAddStoreTests.swift b/RadrootsTests/RadrootsAddStoreTests.swift
@@ -1,693 +1,962 @@
-@testable import RadrootsApp
import XCTest
-final class RadrootsAddStoreTests: XCTestCase {
- @MainActor
- func testAllFiveFormsCompleteThroughRuntimeAndSubmittedSnapshotsFreeze() async throws {
- let backend = AddBackend()
- let client = try await Self.startedClient(backend)
- let store = RadrootsAddStore(
- runtimeClient: client,
- media: AddMediaHarness(),
- now: { 1_800_000_000 }
- )
- await store.configure(snapshot: backend.snapshot())
- await store.start()
-
- for type in RadrootsAddCommandType.allCases {
- store.newDraft(type: type)
- configure(store, type: type)
- if type == .createPhotoUpdate {
- await store.importPhotos()
- XCTAssertEqual(store.form.media.count, 1)
- XCTAssertNil(store.form.media.first?.remoteURL)
- }
- await store.submit()
- XCTAssertEqual(store.activeDraft?.commandType, type)
- XCTAssertEqual(store.activeDraft?.state, .complete)
- XCTAssertEqual(store.activeDraft?.form, store.form)
- if type == .createPhotoUpdate {
- XCTAssertEqual(
- store.form.media.first?.remoteURL,
- "http://127.0.0.1:3000/\(String(repeating: "0", count: 64)).png"
- )
- let didUpload = await backend.didUploadMedia()
- XCTAssertTrue(didUpload)
- }
- }
-
- let frozen = store.form
- store.updateForm(\.content, "mutated after submit")
- store.selectType(.createUpdate)
- XCTAssertEqual(store.form, frozen)
- XCTAssertFalse(store.isFormEditable)
- XCTAssertEqual(store.drafts.filter { $0.kind == .add }.count, 5)
- _ = try await client.stop()
- }
-
- @MainActor
- func testOfflineSubmitPersistsQueuedSnapshotForRetryAndReopen() async throws {
- let backend = AddBackend(advanceOffline: true)
- let client = try await Self.startedClient(backend)
- let store = RadrootsAddStore(runtimeClient: client, now: { 1_800_000_000 })
- await store.configure(snapshot: backend.snapshot())
- await store.start()
- store.updateForm(\.content, "Saved while the farm is offline")
-
- await store.submit()
-
- let queued = try XCTUnwrap(store.activeDraft)
- XCTAssertEqual(queued.state, .queued)
- XCTAssertEqual(queued.form?.content, "Saved while the farm is offline")
- XCTAssertTrue(store.message?.contains("Saved for retry") == true)
- store.reopen(queued)
- XCTAssertEqual(store.form, queued.form)
- XCTAssertFalse(store.isFormEditable)
- _ = try await client.stop()
- }
-
- @MainActor
- func testRetractionAndRevisedCopyRemainIndependentHonestOperations() async throws {
- let backend = AddBackend(advanceOffline: true)
- let client = try await Self.startedClient(backend)
- let store = RadrootsAddStore(runtimeClient: client, now: { 1_800_000_000 })
- await store.configure(snapshot: backend.snapshot())
- await store.start()
-
- await store.retractAndRevise(Self.card())
-
- XCTAssertEqual(store.drafts.first(where: { $0.kind == .retraction })?.state, .queued)
- XCTAssertNil(store.activeDraft)
- XCTAssertEqual(store.form.commandType, .createFoodAvailability)
- XCTAssertEqual(store.form.identifier, "carrots")
- XCTAssertEqual(store.form.summary, "Fresh carrots")
- XCTAssertEqual(store.form.foodPublishedAtUnixSeconds, 1_799_999_900)
- XCTAssertEqual(store.form.foodStatus, "active")
- XCTAssertTrue(store.message?.contains("separate revised copy") == true)
- _ = try await client.stop()
- }
-
- @MainActor
- func testStopFencesLateDraftCompletion() async throws {
- let backend = AddBackend(saveDelayNanoseconds: 50_000_000)
- let client = try await Self.startedClient(backend)
- let store = RadrootsAddStore(runtimeClient: client, now: { 1_800_000_000 })
- await store.configure(snapshot: backend.snapshot())
- await store.start()
- store.updateForm(\.content, "Late draft")
-
- let save = Task { await store.save() }
- try await Task.sleep(nanoseconds: 2_000_000)
- store.stop()
- await save.value
-
- XCTAssertNil(store.activeDraft)
- XCTAssertFalse(store.isWorking)
- _ = try await client.stop()
- }
-
- @MainActor
- func testPhotoServiceProbeSurfacesCanonicalEvidence() async throws {
- let backend = AddBackend()
- let client = try await Self.startedClient(backend)
- let store = RadrootsAddStore(runtimeClient: client, media: AddMediaHarness())
- await store.configure(snapshot: backend.snapshot())
-
- await store.checkPhotoService()
-
- XCTAssertEqual(store.blossomEvidence?.state, "reachable")
- XCTAssertEqual(store.blossomEvidence?.configFingerprint, String(repeating: "f", count: 64))
- XCTAssertEqual(store.mediaSupport, .init(library: true, camera: true))
- XCTAssertEqual(store.message, "Photo service is reachable.")
- _ = try await client.stop()
- }
+@testable import RadrootsApp
- @MainActor
- func testSuspendAndResumePreserveLateDurableDraftCompletion() async throws {
- let backend = AddBackend(saveDelayNanoseconds: 50_000_000)
- let client = try await Self.startedClient(backend)
- let store = RadrootsAddStore(runtimeClient: client, now: { 1_800_000_000 })
- await store.configure(snapshot: backend.snapshot())
- await store.start()
- store.updateForm(\.content, "Background draft")
-
- let save = Task { await store.save() }
- try await Task.sleep(nanoseconds: 2_000_000)
- store.suspend()
- await store.start()
- await save.value
-
- XCTAssertEqual(store.activeDraft?.form?.content, "Background draft")
- XCTAssertEqual(store.message, "Draft saved on this device.")
- XCTAssertFalse(store.isWorking)
- _ = try await client.stop()
- }
+final class RadrootsAddStoreTests: XCTestCase {
+ @MainActor
+ func testAllFiveFormsCompleteThroughRuntimeAndSubmittedSnapshotsFreeze() async throws {
+ let backend = AddBackend()
+ let client = try await Self.startedClient(backend)
+ let store = RadrootsAddStore(
+ runtimeClient: client,
+ media: AddMediaHarness()
+ )
+ await store.configure(snapshot: backend.snapshot())
+ await store.start()
- @MainActor
- func testSubmitWithoutWritableRelayVerifiesMediaAndPreservesDraftForRetry() async throws {
- let backend = AddBackend(includeWritableRelay: false)
- let client = try await Self.startedClient(backend)
- let store = RadrootsAddStore(
- runtimeClient: client,
- media: AddMediaHarness(),
- now: { 1_800_000_000 }
- )
- await store.configure(snapshot: backend.snapshot())
- await store.start()
- store.selectType(.createPhotoUpdate)
- store.updateForm(\.content, "Carrots from today")
+ for type in RadrootsAddCommandType.allCases {
+ store.newDraft(type: type)
+ configure(store, type: type)
+ if type == .createPhotoUpdate {
await store.importPhotos()
-
- await store.submit()
-
- XCTAssertEqual(store.activeDraft?.state, .readyToSign)
- XCTAssertEqual(store.activeDraft?.media.first?.stage, .verified)
+ XCTAssertEqual(store.form.media.count, 1)
+ XCTAssertNil(store.form.media.first?.remoteURL)
+ }
+ await store.submit()
+ XCTAssertEqual(store.activeDraft?.commandType, type)
+ XCTAssertEqual(store.activeDraft?.state, .complete)
+ XCTAssertEqual(store.activeDraft?.form, store.form)
+ if type == .createPhotoUpdate {
XCTAssertEqual(
- store.message,
- "Photo verified and draft saved. Configure a writable relay to publish."
- )
- XCTAssertNil(store.lastFailureCode)
- _ = try await client.stop()
- }
-
- @MainActor
- func testSubmitRetainsRedactedFailureCodeForSupportAndAccessibility() async throws {
- let failure = RadrootsRuntimeFailure(
- schemaVersion: 1,
- code: "media_handle_unavailable",
- category: "validation",
- retryable: false,
- recoveryActions: [],
- operationID: "add.save",
- capabilityID: nil,
- safeMessage: "The request is invalid."
+ store.form.media.first?.remoteURL,
+ "http://127.0.0.1:3000/\(String(repeating: "0", count: 64)).png"
)
- let backend = AddBackend(saveFailure: failure)
- let client = try await Self.startedClient(backend)
- let store = RadrootsAddStore(runtimeClient: client, now: { 1_800_000_000 })
- await store.configure(snapshot: backend.snapshot())
- await store.start()
- store.updateForm(\.content, "Prepared media failure")
-
- await store.submit()
-
- XCTAssertEqual(store.message, failure.safeMessage)
- XCTAssertEqual(store.lastFailureCode, failure.code)
- XCTAssertNil(store.activeDraft)
- _ = try await client.stop()
- }
-
- @MainActor
- private func configure(_ store: RadrootsAddStore, type: RadrootsAddCommandType) {
- switch type {
- case .createUpdate:
- store.updateForm(\.content, "Harvest update")
- case .createPhotoUpdate:
- store.updateForm(\.content, "Carrots from today")
- case .createAsk:
- store.updateForm(\.content, "Who has seed potatoes?")
- case .createEvent:
- store.updateForm(\.identifier, Optional("market-day"))
- store.updateForm(\.title, Optional("Market day"))
- store.updateForm(\.eventTiming, Optional(RadrootsEventTiming.timed))
- store.updateForm(\.eventStartUnixSeconds, Optional(UInt64(1_800_003_600)))
- store.updateForm(\.location, Optional("Town square"))
- case .createFoodAvailability:
- store.updateForm(\.identifier, Optional("carrots"))
- store.updateForm(\.title, Optional("Carrots"))
- store.updateForm(\.location, Optional("Town square"))
- store.updateForm(\.priceAmount, Optional("3"))
- store.updateForm(\.currency, Optional("CAD"))
- store.updateForm(\.unit, Optional("lb"))
- }
- }
-
- private static func startedClient(_ backend: AddBackend) async throws -> RadrootsRuntimeClient {
- let client = RadrootsRuntimeClient { _ in
- await RadrootsRuntimeBackendStart(backend: backend, snapshot: backend.snapshot())
- }
- _ = try await client.start(configuration: configuration())
- return client
- }
-
- private static func configuration() -> RadrootsRuntimeLaunchConfiguration {
- RadrootsRuntimeLaunchConfiguration(
- applicationSupportDirectory: "/tmp/radroots-add-tests",
- publicKeyHex: String(repeating: "ab", count: 32),
- sourceGenerationHex: String(repeating: "cd", count: 32),
- sourceGenerationCreatedAtUnixMilliseconds: 1,
- protectedData: .available,
- networkProfile: .simulator,
- writableRelays: ["ws://127.0.0.1:7447"],
- blossom: RadrootsBlossomEndpointConfiguration(
- hostKind: .simulator,
- endpointAuthority: .loopbackDevelopment,
- primaryOrigin: "http://127.0.0.1:3000",
- fallbackOrigins: []
- ),
- app: RadrootsRuntimeAppMetadata(
- bundleIdentifier: "org.radroots.add-tests",
- version: "0.1.0-alpha",
- buildNumber: "1",
- buildSHA: nil
- ),
- signerGeneration: "add-tests",
- signer: AddSigner()
- )
- }
-
- private static func card() -> RadrootsTodayCard {
- RadrootsTodayCard(
- id: String(repeating: "c", count: 64),
- type: .foodAvailability,
- sourceEventID: String(repeating: "e", count: 64),
- sourceAddress: "30402:\(String(repeating: "a", count: 64)):carrots",
- authorPublicKey: String(repeating: "a", count: 64),
- contractID: "radroots.food_availability.v1",
- title: "Carrots",
- content: "Freshly picked",
- authoredAtUnixSeconds: 1_800_000_000,
- effectiveAtUnixSeconds: 1_800_000_000,
- eventStartUnixSeconds: nil,
- eventEndUnixSeconds: nil,
- location: "Town square",
- priceAmount: "3",
- priceCurrency: "CAD",
- priceUnit: "lb",
- quantity: "12",
- foodSummary: "Fresh carrots",
- foodPublishedAtUnixSeconds: 1_799_999_900,
- foodStatus: "active",
- contextRank: 1,
- inclusionReason: "local",
- media: [],
- lifecycle: .active,
- rankDigest: nil,
- authorProfile: nil,
- thread: [],
- localOperationID: nil,
- localOperationState: nil
- )
- }
+ let didUpload = await backend.didUploadMedia()
+ XCTAssertTrue(didUpload)
+ }
+ }
+
+ let frozen = store.form
+ store.updateForm(\.content, "mutated after submit")
+ store.selectType(.createUpdate)
+ XCTAssertEqual(store.form, frozen)
+ XCTAssertFalse(store.isFormEditable)
+ XCTAssertEqual(store.drafts.filter { $0.kind == .add }.count, 5)
+ _ = try await client.stop()
+ }
+
+ @MainActor
+ func testOfflineSubmitPersistsQueuedSnapshotForRetryAndReopen() async throws {
+ let backend = AddBackend(advanceOffline: true)
+ let client = try await Self.startedClient(backend)
+ let store = RadrootsAddStore(runtimeClient: client)
+ await store.configure(snapshot: backend.snapshot())
+ await store.start()
+ store.updateForm(\.content, "Saved while the farm is offline")
+
+ await store.submit()
+
+ let queued = try XCTUnwrap(store.activeDraft)
+ XCTAssertEqual(queued.state, .queued)
+ XCTAssertEqual(queued.form?.content, "Saved while the farm is offline")
+ XCTAssertTrue(store.message?.contains("Saved for retry") == true)
+ store.reopen(queued)
+ XCTAssertEqual(store.form, queued.form)
+ XCTAssertFalse(store.isFormEditable)
+ _ = try await client.stop()
+ }
+
+ @MainActor
+ func testRevisionUsesLosslessRustOwnedReplacementPlan() async throws {
+ let backend = AddBackend(advanceOffline: true)
+ let client = try await Self.startedClient(backend)
+ let store = RadrootsAddStore(runtimeClient: client)
+ await store.configure(snapshot: backend.snapshot())
+ await store.start()
+ store.selectType(.createFoodAvailability)
+ configure(store, type: .createFoodAvailability)
+ await store.save()
+ let source = try XCTUnwrap(store.activeDraft)
+
+ await store.retractAndRevise(Self.card(localOperationID: source.id))
+
+ XCTAssertNil(store.activeDraft)
+ XCTAssertEqual(store.form, source.form)
+ store.updateForm(\.content, "Corrected harvest details")
+ await store.submit()
+ XCTAssertTrue(store.activeDraft?.isRevision == true)
+ XCTAssertEqual(store.activeDraft?.state, .complete)
+ let revisionPlanCount = await backend.revisionPlanCount()
+ XCTAssertEqual(revisionPlanCount, 1)
+ XCTAssertNil(store.drafts.first(where: { $0.kind == .retraction }))
+ _ = try await client.stop()
+ }
+
+ @MainActor
+ func testStopFencesSaveQueueAndAdvanceAndPermitsCleanRestart() async throws {
+ for phase in AddDelayPhase.allCases {
+ let backend = AddBackend(delayedPhase: phase)
+ let client = try await Self.startedClient(backend)
+ let store = RadrootsAddStore(runtimeClient: client)
+ await store.configure(snapshot: backend.snapshot())
+ await store.start()
+ store.updateForm(\.content, "Restart after \(phase)")
+
+ let submit = Task { await store.submit() }
+ try await Task.sleep(nanoseconds: 2_000_000)
+ let visibleAtStop = store.activeDraft
+ store.stop()
+ await submit.value
+
+ XCTAssertEqual(store.activeDraft, visibleAtStop)
+ XCTAssertFalse(store.isWorking)
+
+ await store.start()
+ XCTAssertEqual(store.state, .ready)
+ if let durable = store.drafts.first {
+ store.reopen(durable)
+ }
+ await store.submit()
+ XCTAssertEqual(store.activeDraft?.state, .complete)
+ XCTAssertFalse(store.isWorking)
+ _ = try await client.stop()
+ }
+ }
+
+ @MainActor
+ func testStopDuringBackgroundUploadPermitsDurableRestart() async throws {
+ let backend = AddBackend()
+ let client = try await Self.startedClient(backend)
+ let store = RadrootsAddStore(
+ runtimeClient: client,
+ media: AddMediaHarness(delayFirstUpload: true)
+ )
+ await store.configure(snapshot: backend.snapshot())
+ await store.start()
+ store.selectType(.createPhotoUpdate)
+ store.updateForm(\.content, "Restart the background upload")
+ await store.importPhotos()
+
+ let submit = Task { await store.submit() }
+ try await Task.sleep(nanoseconds: 2_000_000)
+ let visibleAtStop = store.activeDraft
+ store.stop()
+ await submit.value
+
+ XCTAssertEqual(store.activeDraft, visibleAtStop)
+ XCTAssertFalse(store.isWorking)
+
+ await store.start()
+ let durable = try XCTUnwrap(store.drafts.first)
+ XCTAssertEqual(durable.state, .mediaUploading)
+ store.reopen(durable)
+ await store.submit()
+ XCTAssertEqual(store.activeDraft?.state, .complete)
+ XCTAssertEqual(store.activeDraft?.media.first?.stage, .verified)
+ _ = try await client.stop()
+ }
+
+ @MainActor
+ func testPhotoServiceProbeSurfacesCanonicalEvidence() async throws {
+ let backend = AddBackend()
+ let client = try await Self.startedClient(backend)
+ let store = RadrootsAddStore(runtimeClient: client, media: AddMediaHarness())
+ await store.configure(snapshot: backend.snapshot())
+
+ await store.checkPhotoService()
+
+ XCTAssertEqual(store.blossomEvidence?.state, "reachable")
+ XCTAssertEqual(store.blossomEvidence?.configFingerprint, String(repeating: "f", count: 64))
+ XCTAssertEqual(store.mediaSupport, .init(library: true, camera: true))
+ XCTAssertEqual(store.message, "Photo service is reachable.")
+ _ = try await client.stop()
+ }
+
+ @MainActor
+ func testPhotoLimitRejectsTwentyFirstImportAndCapture() async throws {
+ let backend = AddBackend()
+ let client = try await Self.startedClient(backend)
+ let store = RadrootsAddStore(runtimeClient: client, media: AddMediaHarness())
+ await store.configure(snapshot: backend.snapshot())
+ await store.start()
+ store.selectType(.createPhotoUpdate)
+
+ for _ in 0..<20 {
+ await store.importPhotos()
+ }
+ XCTAssertEqual(store.form.media.count, 20)
+ XCTAssertFalse(store.canAddMedia)
+
+ await store.importPhotos()
+ await store.capturePhoto()
+ XCTAssertEqual(store.form.media.count, 20)
+ _ = try await client.stop()
+ }
+
+ @MainActor
+ func testSuspendAndResumePreserveLateDurableDraftCompletion() async throws {
+ let backend = AddBackend(delayedPhase: .save)
+ let client = try await Self.startedClient(backend)
+ let store = RadrootsAddStore(runtimeClient: client)
+ await store.configure(snapshot: backend.snapshot())
+ await store.start()
+ store.updateForm(\.content, "Background draft")
+
+ let save = Task { await store.save() }
+ try await Task.sleep(nanoseconds: 2_000_000)
+ store.suspend()
+ await store.start()
+ await save.value
+
+ XCTAssertEqual(store.activeDraft?.form?.content, "Background draft")
+ XCTAssertEqual(store.message, "Draft saved on this device.")
+ XCTAssertFalse(store.isWorking)
+ _ = try await client.stop()
+ }
+
+ @MainActor
+ func testSubmitWithoutWritableRelayVerifiesMediaAndPreservesDraftForRetry() async throws {
+ let backend = AddBackend(includeWritableRelay: false)
+ let client = try await Self.startedClient(backend)
+ let store = RadrootsAddStore(
+ runtimeClient: client,
+ media: AddMediaHarness()
+ )
+ await store.configure(snapshot: backend.snapshot())
+ await store.start()
+ store.selectType(.createPhotoUpdate)
+ store.updateForm(\.content, "Carrots from today")
+ await store.importPhotos()
+
+ await store.submit()
+
+ XCTAssertEqual(store.activeDraft?.state, .readyToSign)
+ XCTAssertEqual(store.activeDraft?.media.first?.stage, .verified)
+ XCTAssertEqual(
+ store.message,
+ "Photo verified and draft saved. Configure a writable relay to publish."
+ )
+ XCTAssertNil(store.lastFailureCode)
+ _ = try await client.stop()
+ }
+
+ @MainActor
+ func testSubmitRetainsRedactedFailureCodeForSupportAndAccessibility() async throws {
+ let failure = RadrootsRuntimeFailure(
+ schemaVersion: 1,
+ code: "media_handle_unavailable",
+ category: "validation",
+ retryable: false,
+ recoveryActions: [],
+ operationID: "add.save",
+ capabilityID: nil,
+ safeMessage: "The request is invalid."
+ )
+ let backend = AddBackend(saveFailure: failure)
+ let client = try await Self.startedClient(backend)
+ let store = RadrootsAddStore(runtimeClient: client)
+ await store.configure(snapshot: backend.snapshot())
+ await store.start()
+ store.updateForm(\.content, "Prepared media failure")
+
+ await store.submit()
+
+ XCTAssertEqual(store.message, failure.safeMessage)
+ XCTAssertEqual(store.lastFailureCode, failure.code)
+ XCTAssertNil(store.activeDraft)
+ _ = try await client.stop()
+ }
+
+ @MainActor
+ private func configure(_ store: RadrootsAddStore, type: RadrootsAddCommandType) {
+ switch type {
+ case .createUpdate:
+ store.updateForm(\.content, "Harvest update")
+ case .createPhotoUpdate:
+ store.updateForm(\.content, "Carrots from today")
+ case .createAsk:
+ store.updateForm(\.content, "Who has seed potatoes?")
+ case .createEvent:
+ store.updateForm(\.identifier, Optional("market-day"))
+ store.updateForm(\.title, Optional("Market day"))
+ store.updateForm(\.eventTiming, Optional(RadrootsEventTiming.timed))
+ store.updateForm(\.eventStartUnixSeconds, Optional(UInt64(1_800_003_600)))
+ store.updateForm(\.location, Optional("Town square"))
+ case .createFoodAvailability:
+ store.updateForm(\.identifier, Optional("carrots"))
+ store.updateForm(\.title, Optional("Carrots"))
+ store.updateForm(\.location, Optional("Town square"))
+ store.updateForm(\.priceAmount, Optional("3"))
+ store.updateForm(\.currency, Optional("CAD"))
+ store.updateForm(\.unit, Optional("lb"))
+ }
+ }
+
+ private static func startedClient(_ backend: AddBackend) async throws -> RadrootsRuntimeClient {
+ let client = RadrootsRuntimeClient { _ in
+ await RadrootsRuntimeBackendStart(backend: backend, snapshot: backend.snapshot())
+ }
+ _ = try await client.start(configuration: configuration())
+ return client
+ }
+
+ private static func configuration() -> RadrootsRuntimeLaunchConfiguration {
+ RadrootsRuntimeLaunchConfiguration(
+ applicationSupportDirectory: "/tmp/radroots-add-tests",
+ publicKeyHex: String(repeating: "ab", count: 32),
+ sourceGenerationHex: String(repeating: "cd", count: 32),
+ sourceGenerationCreatedAtUnixMilliseconds: 1,
+ protectedData: .available,
+ networkProfile: .simulator,
+ writableRelays: ["ws://127.0.0.1:7447"],
+ blossom: RadrootsBlossomEndpointConfiguration(
+ hostKind: .simulator,
+ endpointAuthority: .loopbackDevelopment,
+ primaryOrigin: "http://127.0.0.1:3000",
+ fallbackOrigins: []
+ ),
+ app: RadrootsRuntimeAppMetadata(
+ bundleIdentifier: "org.radroots.add-tests",
+ version: "0.1.0-alpha",
+ buildNumber: "1",
+ buildSHA: nil
+ ),
+ signerGeneration: "add-tests",
+ signer: AddSigner()
+ )
+ }
+
+ private static func card(localOperationID: String? = nil) -> RadrootsTodayCard {
+ RadrootsTodayCard(
+ id: String(repeating: "c", count: 64),
+ type: .foodAvailability,
+ sourceEventID: String(repeating: "e", count: 64),
+ sourceAddress: "30402:\(String(repeating: "a", count: 64)):carrots",
+ authorPublicKey: String(repeating: "a", count: 64),
+ contractID: "radroots.food_availability.v1",
+ title: "Carrots",
+ content: "Freshly picked",
+ authoredAtUnixSeconds: 1_800_000_000,
+ effectiveAtUnixSeconds: 1_800_000_000,
+ eventStartUnixSeconds: nil,
+ eventEndUnixSeconds: nil,
+ location: "Town square",
+ priceAmount: "3",
+ priceCurrency: "CAD",
+ priceUnit: "lb",
+ quantity: "12",
+ foodSummary: "Fresh carrots",
+ foodPublishedAtUnixSeconds: 1_799_999_900,
+ foodStatus: "active",
+ contextRank: 1,
+ inclusionReason: "local",
+ media: [],
+ lifecycle: .active,
+ rankDigest: nil,
+ authorProfile: nil,
+ thread: [],
+ localOperationID: localOperationID,
+ localOperationState: nil
+ )
+ }
}
private struct AddSigner: RadrootsRuntimeSigner {
- func availability() async -> RadrootsRuntimeSignerAvailability {
- .ready
- }
+ func availability() async -> RadrootsRuntimeSignerAvailability {
+ .ready
+ }
- func sign(_: RadrootsRuntimeSigningRequest) async -> RadrootsRuntimeSigningOutcome {
- .failed
- }
+ func sign(_: RadrootsRuntimeSigningRequest) async -> RadrootsRuntimeSigningOutcome {
+ .failed
+ }
}
private actor AddMediaHarness: RadrootsAddMediaHandling {
- private let item = RadrootsPreparedMedia(
- opaqueReference: "media:\(String(repeating: "0", count: 64))",
- remoteURL: nil,
- sha256: String(repeating: "0", count: 64),
- mediaType: "image/png",
- byteSize: 4,
- width: 2,
- height: 2,
- alt: "Carrots",
- preparedAtUnixSeconds: 1_800_000_000
+ private let delayFirstUpload: Bool
+ private var uploadAttempts = 0
+ private let item = RadrootsPreparedMedia(
+ opaqueReference: "media:\(String(repeating: "0", count: 64))",
+ remoteURL: nil,
+ sha256: String(repeating: "0", count: 64),
+ mediaType: "image/png",
+ byteSize: 4,
+ width: 2,
+ height: 2,
+ alt: "Carrots",
+ preparedAtUnixSeconds: 1_800_000_000
+ )
+
+ init(delayFirstUpload: Bool = false) {
+ self.delayFirstUpload = delayFirstUpload
+ }
+
+ func support() -> RadrootsAddMediaSupport {
+ .init(library: true, camera: true)
+ }
+
+ func importImages(limit _: Int) -> [RadrootsPreparedMedia] {
+ [item]
+ }
+
+ func captureImage() -> RadrootsPreparedMedia {
+ item
+ }
+
+ func open(_ media: [RadrootsPreparedMedia]) -> RadrootsOpenedMedia {
+ RadrootsOpenedMedia(
+ handles: media.map { RadrootsPreparedMediaHandle(media: $0, fileDescriptor: 1) },
+ files: []
)
+ }
+
+ func uploadInBackground(
+ job: RadrootsNativeUploadJob,
+ media _: RadrootsPreparedMedia
+ ) async throws -> RadrootsAddBackgroundUploadReceipt {
+ uploadAttempts += 1
+ if delayFirstUpload, uploadAttempts == 1 {
+ try await Task.sleep(nanoseconds: 50_000_000)
+ }
+ return RadrootsAddBackgroundUploadReceipt(
+ identifier: "radroots.add.\(job.draft.id).\(job.draft.revision).\(job.operationID)",
+ statusCode: 200,
+ mediaType: "application/json",
+ contentEncoding: nil,
+ body: Data("{}".utf8)
+ )
+ }
+}
- func support() -> RadrootsAddMediaSupport {
- .init(library: true, camera: true)
- }
-
- func importImages(limit _: Int) -> [RadrootsPreparedMedia] {
- [item]
- }
-
- func captureImage() -> RadrootsPreparedMedia {
- item
- }
-
- func open(_ media: [RadrootsPreparedMedia]) -> RadrootsOpenedMedia {
- RadrootsOpenedMedia(
- handles: media.map { RadrootsPreparedMediaHandle(media: $0, fileDescriptor: 1) },
- files: []
- )
- }
+private enum AddDelayPhase: String, CaseIterable {
+ case save
+ case queue
+ case advance
}
private actor AddBackend: RadrootsRuntimeBackend {
- private let advanceOffline: Bool
- private let saveDelayNanoseconds: UInt64
- private let saveFailure: RadrootsRuntimeFailure?
- private let includeWritableRelay: Bool
- private var values: [String: RadrootsDraftStatus] = [:]
- private var uploadedMedia = false
- private var closed = false
-
- init(
- advanceOffline: Bool = false,
- saveDelayNanoseconds: UInt64 = 0,
- saveFailure: RadrootsRuntimeFailure? = nil,
- includeWritableRelay: Bool = true
- ) {
- self.advanceOffline = advanceOffline
- self.saveDelayNanoseconds = saveDelayNanoseconds
- self.saveFailure = saveFailure
- self.includeWritableRelay = includeWritableRelay
- }
-
- func snapshot() -> RadrootsRuntimeSnapshot {
- RadrootsRuntimeSnapshot(
- identity: RadrootsRuntimeIdentity(
- publicKeyHex: String(repeating: "ab", count: 32),
- hostSignerConfigured: true
- ),
- relay: RadrootsRelayStatus(
- profile: "simulator",
- state: "configured",
- readAvailability: "unobserved",
- writeAvailability: "unobserved",
- relays: includeWritableRelay ? [
- RadrootsRelayEndpointStatus(
- url: "ws://127.0.0.1:7447",
- access: "read_write",
- readState: "unobserved",
- writeState: "unobserved",
- readLastAttemptUnixMilliseconds: nil,
- writeLastAttemptUnixMilliseconds: nil,
- readNextAttemptUnixMilliseconds: nil,
- writeNextAttemptUnixMilliseconds: nil
- ),
- ] : []
- ),
- blossomConfiguration: RadrootsBlossomConfigurationStatus(
- schemaVersion: 1,
- hostKind: "simulator",
- endpointAuthority: "loopback_development",
- primaryOrigin: "http://127.0.0.1:3000",
- fallbackOrigins: [],
- configFingerprint: String(repeating: "f", count: 64)
- ),
- blossomEvidence: nil,
- crateName: "radroots_mobile_ffi",
- crateVersion: "0.1.0-alpha",
- isClosed: closed
- )
- }
-
- func todayPage(request _: RadrootsTodayPageRequest) throws -> RadrootsTodayPage {
- throw unsupported()
- }
-
- func refreshToday(
- context _: RadrootsLocalNetwork,
- nowUnixSeconds _: UInt64,
- update _: RadrootsTodayProjectionUpdate
- ) throws -> RadrootsTodayRefreshReceipt {
- throw unsupported()
- }
-
- func addSchemas() -> [RadrootsAddSchema] {
- RadrootsAddCommandType.allCases.map {
- RadrootsAddSchema(schemaVersion: 1, commandType: $0, label: $0.label, fields: [])
- }
- }
-
- func saveAddIntent(
- input: RadrootsAddRuntimeInput,
- existingDraftID: String?,
- expectedRevision: UInt64?
- ) async throws -> RadrootsDraftStatus {
- if let saveFailure {
- throw saveFailure
- }
- if saveDelayNanoseconds > 0 {
- try await Task.sleep(nanoseconds: saveDelayNanoseconds)
- }
- let id = existingDraftID ?? String(format: "%032x", values.count + 1)
- let savedMedia = input.form.media.map {
- RadrootsPreparedMedia(
- opaqueReference: $0.opaqueReference,
- remoteURL: "http://127.0.0.1:3000/\($0.sha256).png",
- sha256: $0.sha256,
- mediaType: $0.mediaType,
- byteSize: $0.byteSize,
- width: $0.width,
- height: $0.height,
- alt: $0.alt,
- preparedAtUnixSeconds: $0.preparedAtUnixSeconds
- )
- }
- var storedForm = input.form
- storedForm.media = savedMedia
- let status = makeStatus(
- id: id,
- revision: (expectedRevision ?? 0) + 1,
- kind: .add,
- commandType: input.form.commandType,
- form: storedForm,
- state: savedMedia.isEmpty ? .draft : .mediaPreparing,
- updatedAt: 1_800_000_000_000 + UInt64(values.count),
- media: savedMedia.map {
- RadrootsDraftMediaStatus(
- url: $0.remoteURL!,
- stage: .pending,
- uploadAttempts: 0,
- verifiedAtUnixMilliseconds: nil,
- possibleOrphan: false,
- orphanReasonCode: nil,
- orphanRecordedAtUnixMilliseconds: nil
- )
- }
- )
- values[id] = status
- return status
- }
-
- func probeBlossom() -> RadrootsBlossomEvidence {
- RadrootsBlossomEvidence(
- schemaVersion: 2,
- origin: "http://127.0.0.1:3000",
- configFingerprint: String(repeating: "f", count: 64),
- state: "reachable",
- lastSuccessfulState: "probe",
- transportSecurity: "loopback_plaintext",
- observedAtUnixMilliseconds: 1_800_000_000_000,
- httpStatus: 404,
- errorCode: nil,
- serverErrorCode: nil,
- errorPhase: nil,
- retryable: false,
- possibleOrphan: false,
- attempts: 1
- )
- }
-
- func saveRetractionDraft(
- id: String,
- input: RadrootsRetractionDraftInput,
- authoredAtUnixSeconds _: UInt64,
- persistedAtUnixMilliseconds: UInt64
- ) -> RadrootsDraftStatus {
- let status = makeStatus(
- id: id,
- revision: 1,
- kind: .retraction,
- commandType: input.commandType,
- form: nil,
- state: .draft,
- updatedAt: persistedAtUnixMilliseconds,
- media: []
- )
- values[id] = status
- return status
- }
-
- func draftStatus(id: String) throws -> RadrootsDraftStatus {
- guard let value = values[id] else { throw unsupported() }
- return value
- }
-
- func draftHeads(limit: UInt16) -> [RadrootsDraftStatus] {
- Array(values.values.prefix(Int(limit)))
- }
-
- func queueAddIntent(
- id: String,
- expectedRevision: UInt64
- ) throws -> RadrootsDraftStatus {
- guard includeWritableRelay else {
- throw RadrootsRuntimeFailure(
- schemaVersion: 1,
- code: "writable_relay_unavailable",
- category: "relay",
- retryable: true,
- recoveryActions: ["configure_relay", "retry"],
- operationID: id,
- capabilityID: "nostr_sink",
- safeMessage: "No writable relay is configured."
+ private let advanceOffline: Bool
+ private let saveFailure: RadrootsRuntimeFailure?
+ private let includeWritableRelay: Bool
+ private let delayedPhase: AddDelayPhase?
+ private var values: [String: RadrootsDraftStatus] = [:]
+ private var uploadedMedia = false
+ private var revisionPlans = 0
+ private var delayConsumed = false
+ private var closed = false
+
+ init(
+ advanceOffline: Bool = false,
+ saveFailure: RadrootsRuntimeFailure? = nil,
+ includeWritableRelay: Bool = true,
+ delayedPhase: AddDelayPhase? = nil
+ ) {
+ self.advanceOffline = advanceOffline
+ self.saveFailure = saveFailure
+ self.includeWritableRelay = includeWritableRelay
+ self.delayedPhase = delayedPhase
+ }
+
+ func snapshot() -> RadrootsRuntimeSnapshot {
+ RadrootsRuntimeSnapshot(
+ identity: RadrootsRuntimeIdentity(
+ publicKeyHex: String(repeating: "ab", count: 32),
+ hostSignerConfigured: true
+ ),
+ relay: RadrootsRelayStatus(
+ profile: "simulator",
+ state: "configured",
+ readAvailability: "unobserved",
+ writeAvailability: "unobserved",
+ relays: includeWritableRelay
+ ? [
+ RadrootsRelayEndpointStatus(
+ url: "ws://127.0.0.1:7447",
+ access: .readWrite,
+ readState: "unobserved",
+ writeState: "unobserved",
+ readLastAttemptUnixMilliseconds: nil,
+ writeLastAttemptUnixMilliseconds: nil,
+ readNextAttemptUnixMilliseconds: nil,
+ writeNextAttemptUnixMilliseconds: nil
)
+ ] : []
+ ),
+ blossomConfiguration: RadrootsBlossomConfigurationStatus(
+ schemaVersion: 1,
+ hostKind: "simulator",
+ endpointAuthority: "loopback_development",
+ primaryOrigin: "http://127.0.0.1:3000",
+ fallbackOrigins: [],
+ configFingerprint: String(repeating: "f", count: 64)
+ ),
+ blossomEvidence: nil,
+ crateName: "radroots_mobile_ffi",
+ crateVersion: "0.1.0-alpha",
+ isClosed: closed
+ )
+ }
+
+ func todayPage(request _: RadrootsTodayPageRequest) throws -> RadrootsTodayPage {
+ throw unsupported()
+ }
+
+ func refreshToday(
+ context _: RadrootsLocalNetwork,
+ nowUnixSeconds _: UInt64,
+ update _: RadrootsTodayProjectionUpdate
+ ) throws -> RadrootsTodayRefreshReceipt {
+ throw unsupported()
+ }
+
+ func addSchemas() -> [RadrootsAddSchema] {
+ RadrootsAddCommandType.allCases.map { type in
+ let maximum: UInt16? =
+ switch type {
+ case .createUpdate: nil
+ case .createEvent: 1
+ case .createPhotoUpdate, .createAsk, .createFoodAvailability: 20
}
- let current = try draftStatus(id: id)
- guard current.revision == expectedRevision else { throw unsupported() }
- let value = replacing(current, revision: current.revision + 1, state: .queued, updatedAt: current.updatedAtUnixMilliseconds + 1)
- values[id] = value
- return value
- }
-
- func recoverAddIntent(id: String) throws -> RadrootsDraftStatus {
- let current = try draftStatus(id: id)
- let value = replacing(current, revision: current.revision + 1, state: .queued, updatedAt: current.updatedAtUnixMilliseconds + 1)
- values[id] = value
- return value
- }
-
- func uploadAddMediaIntent(input: RadrootsBlossomUploadIntent) throws -> RadrootsDraftStatus {
- uploadedMedia = true
- let current = try draftStatus(id: input.draftID)
- let verified = current.media.map {
- RadrootsDraftMediaStatus(
- url: $0.url,
- stage: .verified,
- uploadAttempts: $0.uploadAttempts + 1,
- verifiedAtUnixMilliseconds: current.updatedAtUnixMilliseconds + 1,
- possibleOrphan: false,
- orphanReasonCode: nil,
- orphanRecordedAtUnixMilliseconds: nil
+ return RadrootsAddSchema(
+ schemaVersion: 1,
+ commandType: type,
+ label: type.label,
+ fields: maximum.map {
+ [
+ RadrootsAddField(
+ schemaVersion: 1,
+ id: "media",
+ label: "Photos",
+ kind: .media,
+ required: false,
+ choices: [],
+ maxBytes: 10 * 1024 * 1024,
+ maxItems: $0
)
- }
- let value = replacing(
- current,
- revision: current.revision + 1,
- state: .readyToSign,
- updatedAt: current.updatedAtUnixMilliseconds + 1,
- media: verified
+ ]
+ } ?? []
+ )
+ }
+ }
+
+ func saveAddIntent(
+ input: RadrootsAddRuntimeInput,
+ existingDraftID: String?,
+ expectedRevision: UInt64?
+ ) async throws -> RadrootsDraftStatus {
+ if let saveFailure {
+ throw saveFailure
+ }
+ try await delayOnce(at: .save)
+ let id = existingDraftID ?? String(format: "%032x", values.count + 1)
+ let savedMedia = input.form.media.map {
+ RadrootsPreparedMedia(
+ opaqueReference: $0.opaqueReference,
+ remoteURL: "http://127.0.0.1:3000/\($0.sha256).png",
+ sha256: $0.sha256,
+ mediaType: $0.mediaType,
+ byteSize: $0.byteSize,
+ width: $0.width,
+ height: $0.height,
+ alt: $0.alt,
+ preparedAtUnixSeconds: $0.preparedAtUnixSeconds
+ )
+ }
+ var storedForm = input.form
+ storedForm.media = savedMedia
+ let status = makeStatus(
+ id: id,
+ revision: (expectedRevision ?? 0) + 1,
+ kind: .add,
+ commandType: input.form.commandType,
+ form: storedForm,
+ state: savedMedia.isEmpty ? .draft : .mediaPreparing,
+ updatedAt: 1_800_000_000_000 + UInt64(values.count),
+ media: savedMedia.map {
+ RadrootsDraftMediaStatus(
+ url: $0.remoteURL!,
+ stage: .pending,
+ uploadAttempts: 0,
+ verifiedAtUnixMilliseconds: nil,
+ possibleOrphan: false,
+ orphanReasonCode: nil,
+ orphanRecordedAtUnixMilliseconds: nil
)
- values[current.id] = value
- return value
- }
-
- func didUploadMedia() -> Bool {
- uploadedMedia
- }
-
- func advanceDraft(id: String, expectedRevision: UInt64) throws -> RadrootsDraftStatus {
- if advanceOffline {
- throw RadrootsRuntimeFailure(
- schemaVersion: 1,
- code: "test.offline",
- category: "relay",
- retryable: true,
- recoveryActions: ["retry"],
- operationID: id,
- capabilityID: "nostr_sink",
- safeMessage: "The relay is offline."
- )
- }
- let current = try draftStatus(id: id)
- let value = replacing(current, revision: expectedRevision, state: .complete, updatedAt: current.updatedAtUnixMilliseconds)
- values[id] = value
- return value
- }
-
- func cancelAddIntent(
- id: String,
- expectedRevision _: UInt64
- ) throws -> RadrootsDraftStatus {
- let current = try draftStatus(id: id)
- let value = replacing(current, revision: current.revision + 1, state: .cancelled, updatedAt: current.updatedAtUnixMilliseconds + 1)
- values[id] = value
- return value
- }
-
- func subscribe(
- bufferCapacity _: Int,
- receive _: @escaping @Sendable (RadrootsRuntimeChange) async -> Void
- ) -> any RadrootsRuntimeSubscriptionToken {
- AddSubscriptionToken()
- }
-
- func shutdown() -> RadrootsRuntimeShutdownReceipt {
- let wasClosed = closed
- closed = true
- return RadrootsRuntimeShutdownReceipt(state: "closed", alreadyClosed: wasClosed)
- }
-
- private func makeStatus(
- id: String,
- revision: UInt64,
- kind: RadrootsDraftKind,
- commandType: RadrootsAddCommandType,
- form: RadrootsAddForm?,
- state: RadrootsOutboxState,
- updatedAt: UInt64,
- media: [RadrootsDraftMediaStatus]
- ) -> RadrootsDraftStatus {
- RadrootsDraftStatus(
- id: id,
- revision: revision,
- authorPublicKey: String(repeating: "ab", count: 32),
- kind: kind,
- commandType: commandType,
- form: form,
- state: state,
- cardID: String(repeating: "c", count: 64),
- operationID: state == .draft ? nil : String(repeating: "d", count: 32),
- createdAtUnixMilliseconds: updatedAt,
- updatedAtUnixMilliseconds: updatedAt,
- media: media,
- settlement: state == .complete ? settlement() : nil
- )
- }
-
- private func replacing(
- _ value: RadrootsDraftStatus,
- revision: UInt64,
- state: RadrootsOutboxState,
- updatedAt: UInt64,
- media: [RadrootsDraftMediaStatus]? = nil
- ) -> RadrootsDraftStatus {
- RadrootsDraftStatus(
- id: value.id,
- revision: revision,
- authorPublicKey: value.authorPublicKey,
- kind: value.kind,
- commandType: value.commandType,
- form: value.form,
- state: state,
- cardID: value.cardID,
- operationID: state == .draft ? nil : String(repeating: "d", count: 32),
- createdAtUnixMilliseconds: value.createdAtUnixMilliseconds,
- updatedAtUnixMilliseconds: updatedAt,
- media: media ?? value.media,
- settlement: state == .complete ? settlement() : nil
- )
- }
-
- private func settlement() -> RadrootsOperationSettlement {
- RadrootsOperationSettlement(
- artifacts: 1,
- signed: 1,
- admitted: 1,
- pending: 0,
- retryable: 0,
- indeterminate: 0,
- failedTerminal: 0,
- cancelled: 0,
- deliveryPlans: 1,
- deliverySatisfied: 1,
- deliveryPending: 0,
- deliveryRetryable: 0,
- deliveryExhausted: 0,
- deliveryFailedTerminal: 0,
- deliveryCancelled: 0
- )
- }
-
- private func unsupported() -> RadrootsRuntimeFailure {
- .local(operation: "test.add", code: "test.unsupported", safeMessage: "Unsupported test operation.")
- }
+ }
+ )
+ values[id] = status
+ return status
+ }
+
+ func probeBlossom() -> RadrootsBlossomEvidence {
+ RadrootsBlossomEvidence(
+ schemaVersion: 2,
+ origin: "http://127.0.0.1:3000",
+ configFingerprint: String(repeating: "f", count: 64),
+ state: "reachable",
+ lastSuccessfulState: "probe",
+ transportSecurity: "loopback_plaintext",
+ observedAtUnixMilliseconds: 1_800_000_000_000,
+ httpStatus: 404,
+ errorCode: nil,
+ serverErrorCode: nil,
+ errorPhase: nil,
+ retryable: false,
+ possibleOrphan: false,
+ attempts: 1
+ )
+ }
+
+ func saveRetractionDraft(
+ id: String,
+ input: RadrootsRetractionDraftInput,
+ authoredAtUnixSeconds _: UInt64,
+ persistedAtUnixMilliseconds: UInt64
+ ) -> RadrootsDraftStatus {
+ let status = makeStatus(
+ id: id,
+ revision: 1,
+ kind: .retraction,
+ commandType: input.commandType,
+ form: nil,
+ state: .draft,
+ updatedAt: persistedAtUnixMilliseconds,
+ media: []
+ )
+ values[id] = status
+ return status
+ }
+
+ func saveRevisionIntent(
+ target: RadrootsRevisionTarget,
+ replacement: RadrootsAddRuntimeInput
+ ) -> RadrootsRevisionStatus {
+ revisionPlans += 1
+ let id = String(format: "%032x", values.count + 1)
+ let status = makeStatus(
+ id: id,
+ revision: 1,
+ kind: .add,
+ commandType: replacement.form.commandType,
+ form: replacement.form,
+ state: replacement.form.media.isEmpty ? .draft : .mediaPreparing,
+ updatedAt: 1_800_000_100_000,
+ media: [],
+ isRevision: true
+ )
+ values[id] = status
+ return RadrootsRevisionStatus(
+ operationID: id,
+ replacement: status,
+ retraction: nil,
+ policy: target.sourceAddress == nil ? .replaceThenRetract : .addressableReplacement,
+ phase: .replacementPending
+ )
+ }
+
+ func revisionStatus(operationID: String) throws -> RadrootsRevisionStatus {
+ let replacement = try draftStatus(id: operationID)
+ return RadrootsRevisionStatus(
+ operationID: operationID,
+ replacement: replacement,
+ retraction: nil,
+ policy: .addressableReplacement,
+ phase: replacement.state == .complete ? .complete : .replacementPending
+ )
+ }
+
+ func advanceRevision(operationID: String) throws -> RadrootsRevisionStatus {
+ let current = try draftStatus(id: operationID)
+ let completed = replacing(
+ current,
+ revision: current.revision + 1,
+ state: .complete,
+ updatedAt: current.updatedAtUnixMilliseconds + 1
+ )
+ values[operationID] = completed
+ return try revisionStatus(operationID: operationID)
+ }
+
+ func cancelRevision(operationID: String) throws -> RadrootsRevisionStatus {
+ let current = try draftStatus(id: operationID)
+ let cancelled = replacing(
+ current,
+ revision: current.revision + 1,
+ state: .cancelled,
+ updatedAt: current.updatedAtUnixMilliseconds + 1
+ )
+ values[operationID] = cancelled
+ return RadrootsRevisionStatus(
+ operationID: operationID,
+ replacement: cancelled,
+ retraction: nil,
+ policy: .addressableReplacement,
+ phase: .cancelled
+ )
+ }
+
+ func draftStatus(id: String) throws -> RadrootsDraftStatus {
+ try storedDraft(id: id)
+ }
+
+ func draftHeads(limit: UInt16) -> [RadrootsDraftStatus] {
+ Array(values.values.prefix(Int(limit)))
+ }
+
+ func queueAddIntent(
+ id: String,
+ expectedRevision: UInt64
+ ) async throws -> RadrootsDraftStatus {
+ try await delayOnce(at: .queue)
+ guard includeWritableRelay else {
+ throw RadrootsRuntimeFailure(
+ schemaVersion: 1,
+ code: "writable_relay_unavailable",
+ category: "relay",
+ retryable: true,
+ recoveryActions: ["configure_relay", "retry"],
+ operationID: id,
+ capabilityID: "nostr_sink",
+ safeMessage: "No writable relay is configured."
+ )
+ }
+ let current = try storedDraft(id: id)
+ guard current.revision == expectedRevision else { throw unsupported() }
+ let value = replacing(
+ current, revision: current.revision + 1, state: .queued,
+ updatedAt: current.updatedAtUnixMilliseconds + 1)
+ values[id] = value
+ return value
+ }
+
+ func recoverAddIntent(id: String) throws -> RadrootsDraftStatus {
+ let current = try draftStatus(id: id)
+ let value = replacing(
+ current, revision: current.revision + 1, state: .queued,
+ updatedAt: current.updatedAtUnixMilliseconds + 1)
+ values[id] = value
+ return value
+ }
+
+ func uploadAddMediaIntent(input: RadrootsBlossomUploadIntent) throws -> RadrootsDraftStatus {
+ uploadedMedia = true
+ let current = try draftStatus(id: input.draftID)
+ let verified = current.media.map {
+ RadrootsDraftMediaStatus(
+ url: $0.url,
+ stage: .verified,
+ uploadAttempts: $0.uploadAttempts + 1,
+ verifiedAtUnixMilliseconds: current.updatedAtUnixMilliseconds + 1,
+ possibleOrphan: false,
+ orphanReasonCode: nil,
+ orphanRecordedAtUnixMilliseconds: nil
+ )
+ }
+ let value = replacing(
+ current,
+ revision: current.revision + 1,
+ state: .readyToSign,
+ updatedAt: current.updatedAtUnixMilliseconds + 1,
+ media: verified
+ )
+ values[current.id] = value
+ return value
+ }
+
+ func prepareAddMediaBackground(
+ input: RadrootsBlossomUploadIntent
+ ) throws -> RadrootsNativeUploadJob {
+ let current = try draftStatus(id: input.draftID)
+ let uploading = replacing(
+ current,
+ revision: current.revision + 1,
+ state: .mediaUploading,
+ updatedAt: current.updatedAtUnixMilliseconds + 1
+ )
+ values[current.id] = uploading
+ return RadrootsNativeUploadJob(
+ operationID: String(repeating: "a", count: 32),
+ draft: uploading,
+ remoteURL: "http://127.0.0.1:3000/\(input.media.media.sha256).png",
+ authorizationHeader: "Nostr test",
+ expectedSHA256: input.media.media.sha256,
+ mediaType: input.media.media.mediaType,
+ byteSize: input.media.media.byteSize
+ )
+ }
+
+ func completeAddMediaBackground(
+ input: RadrootsNativeUploadCompletion
+ ) throws -> RadrootsDraftStatus {
+ uploadedMedia = true
+ let current = try draftStatus(id: input.draftID)
+ let verified = current.media.map {
+ RadrootsDraftMediaStatus(
+ url: $0.url,
+ stage: .verified,
+ uploadAttempts: $0.uploadAttempts + 1,
+ verifiedAtUnixMilliseconds: current.updatedAtUnixMilliseconds + 1,
+ possibleOrphan: false,
+ orphanReasonCode: nil,
+ orphanRecordedAtUnixMilliseconds: nil
+ )
+ }
+ let value = replacing(
+ current,
+ revision: current.revision + 1,
+ state: .readyToSign,
+ updatedAt: current.updatedAtUnixMilliseconds + 1,
+ media: verified
+ )
+ values[current.id] = value
+ return value
+ }
+
+ func didUploadMedia() -> Bool {
+ uploadedMedia
+ }
+
+ func revisionPlanCount() -> Int {
+ revisionPlans
+ }
+
+ func advanceDraft(id: String, expectedRevision: UInt64) async throws -> RadrootsDraftStatus {
+ try await delayOnce(at: .advance)
+ if advanceOffline {
+ throw RadrootsRuntimeFailure(
+ schemaVersion: 1,
+ code: "test.offline",
+ category: "relay",
+ retryable: true,
+ recoveryActions: ["retry"],
+ operationID: id,
+ capabilityID: "nostr_sink",
+ safeMessage: "The relay is offline."
+ )
+ }
+ let current = try storedDraft(id: id)
+ let value = replacing(
+ current, revision: expectedRevision, state: .complete,
+ updatedAt: current.updatedAtUnixMilliseconds)
+ values[id] = value
+ return value
+ }
+
+ func cancelAddIntent(
+ id: String,
+ expectedRevision _: UInt64
+ ) throws -> RadrootsDraftStatus {
+ let current = try draftStatus(id: id)
+ let value = replacing(
+ current, revision: current.revision + 1, state: .cancelled,
+ updatedAt: current.updatedAtUnixMilliseconds + 1)
+ values[id] = value
+ return value
+ }
+
+ func subscribe(
+ bufferCapacity _: Int,
+ receive _: @escaping @Sendable (RadrootsRuntimeChange) async -> Void
+ ) -> any RadrootsRuntimeSubscriptionToken {
+ AddSubscriptionToken()
+ }
+
+ func shutdown() -> RadrootsRuntimeShutdownReceipt {
+ let wasClosed = closed
+ closed = true
+ return RadrootsRuntimeShutdownReceipt(state: "closed", alreadyClosed: wasClosed)
+ }
+
+ private func makeStatus(
+ id: String,
+ revision: UInt64,
+ kind: RadrootsDraftKind,
+ commandType: RadrootsAddCommandType,
+ form: RadrootsAddForm?,
+ state: RadrootsOutboxState,
+ updatedAt: UInt64,
+ media: [RadrootsDraftMediaStatus],
+ isRevision: Bool = false
+ ) -> RadrootsDraftStatus {
+ RadrootsDraftStatus(
+ id: id,
+ revision: revision,
+ authorPublicKey: String(repeating: "ab", count: 32),
+ kind: kind,
+ commandType: commandType,
+ form: form,
+ state: state,
+ cardID: String(repeating: "c", count: 64),
+ operationID: state == .draft ? nil : String(repeating: "d", count: 32),
+ createdAtUnixMilliseconds: updatedAt,
+ updatedAtUnixMilliseconds: updatedAt,
+ media: media,
+ settlement: state == .complete ? settlement() : nil,
+ isRevision: isRevision
+ )
+ }
+
+ private func replacing(
+ _ value: RadrootsDraftStatus,
+ revision: UInt64,
+ state: RadrootsOutboxState,
+ updatedAt: UInt64,
+ media: [RadrootsDraftMediaStatus]? = nil
+ ) -> RadrootsDraftStatus {
+ RadrootsDraftStatus(
+ id: value.id,
+ revision: revision,
+ authorPublicKey: value.authorPublicKey,
+ kind: value.kind,
+ commandType: value.commandType,
+ form: value.form,
+ state: state,
+ cardID: value.cardID,
+ operationID: state == .draft ? nil : String(repeating: "d", count: 32),
+ createdAtUnixMilliseconds: value.createdAtUnixMilliseconds,
+ updatedAtUnixMilliseconds: updatedAt,
+ media: media ?? value.media,
+ settlement: state == .complete ? settlement() : nil,
+ isRevision: value.isRevision
+ )
+ }
+
+ private func settlement() -> RadrootsOperationSettlement {
+ RadrootsOperationSettlement(
+ artifacts: 1,
+ signed: 1,
+ admitted: 1,
+ pending: 0,
+ retryable: 0,
+ indeterminate: 0,
+ failedTerminal: 0,
+ cancelled: 0,
+ deliveryPlans: 1,
+ deliverySatisfied: 1,
+ deliveryPending: 0,
+ deliveryRetryable: 0,
+ deliveryExhausted: 0,
+ deliveryFailedTerminal: 0,
+ deliveryCancelled: 0
+ )
+ }
+
+ private func delayOnce(at phase: AddDelayPhase) async throws {
+ guard delayedPhase == phase, !delayConsumed else { return }
+ delayConsumed = true
+ try await Task.sleep(nanoseconds: 50_000_000)
+ }
+
+ private func storedDraft(id: String) throws -> RadrootsDraftStatus {
+ guard let value = values[id] else { throw unsupported() }
+ return value
+ }
+
+ private func unsupported() -> RadrootsRuntimeFailure {
+ .local(
+ operation: "test.add", code: "test.unsupported", safeMessage: "Unsupported test operation.")
+ }
}
private actor AddSubscriptionToken: RadrootsRuntimeSubscriptionToken {
- func cancel() {}
+ func cancel() {}
}
diff --git a/RadrootsTests/RadrootsLifecycleTests.swift b/RadrootsTests/RadrootsLifecycleTests.swift
@@ -1,165 +1,167 @@
import Foundation
-@testable import RadrootsApp
import RadrootsKit
import XCTest
-final class RadrootsLifecycleTests: XCTestCase {
- func testBackgroundEventsCompleteExactlyOnceBeforeAndAfterAttachment() async {
- let router = RadrootsBackgroundEventRouter()
- let first = CompletionProbe()
-
- await router.handle(
- identifier: "org.radroots.tests.background.transfer",
- completion: RadrootsCompletionOnce { first.increment() }
- )
- XCTAssertEqual(first.value(), 0)
-
- await router.attach(identifier: "org.radroots.tests.background.transfer") { _, completion in
- completion()
- completion()
- }
- XCTAssertEqual(first.value(), 1)
-
- let mismatched = CompletionProbe()
- await router.handle(
- identifier: "org.radroots.tests.background.other",
- completion: RadrootsCompletionOnce { mismatched.increment() }
- )
- XCTAssertEqual(mismatched.value(), 1)
- }
-
- func testBackgroundEventQueueIsBoundedAndShutdownCompletesPendingEvents() async {
- let router = RadrootsBackgroundEventRouter()
- let probes = (0 ..< 12).map { _ in CompletionProbe() }
-
- for probe in probes {
- await router.handle(
- identifier: "org.radroots.tests.background.transfer",
- completion: RadrootsCompletionOnce { probe.increment() }
- )
- }
-
- XCTAssertEqual(probes.filter { $0.value() == 1 }.count, 4)
- await router.detachAndCompletePending()
- XCTAssertTrue(probes.allSatisfy { $0.value() == 1 })
- }
-
- func testLifecycleBridgeRunsRegisteredShutdownOnlyOnce() async {
- let bridge = RadrootsLifecycleBridge()
- let shutdowns = CompletionProbe()
- await bridge.register { shutdowns.increment() }
-
- await bridge.requestShutdown()
- await bridge.requestShutdown()
-
- XCTAssertEqual(shutdowns.value(), 1)
- }
-
- func testProtectedDataMonitorReflectsTransitions() {
- let monitor = RadrootsProtectedDataMonitor(available: false)
- XCTAssertFalse(monitor.isAvailable())
-
- monitor.update(available: true)
-
- XCTAssertTrue(monitor.isAvailable())
- }
+@testable import RadrootsApp
- func testDiagnosticsAreBoundedAndExcludeSensitiveRuntimeValues() async throws {
- let roots = try makeRoots()
- defer { try? FileManager.default.removeItem(at: roots.dataRoot.deletingLastPathComponent()) }
- let coordinator = RadrootsLifecycleCoordinator.testing(roots: roots, capacity: 16)
- let secret = "nsec1diagnosticcanary"
- let privateKey = String(repeating: "ab", count: 32)
- let privatePath = "/Users/private/radroots/private.json"
-
- for index in 0 ..< 40 {
- await coordinator.record(
- "ios.lifecycle.test_event",
- fields: [
- "attempt": "\(index)",
- "content": secret,
- "private_key": privateKey,
- "source": privatePath,
- ]
- )
- }
- let export = try await coordinator.prepareDiagnostics(
- snapshot: makeSnapshot(privateKey: privateKey),
- appVersion: "0.1.0-alpha",
- appBuild: "1",
- phase: "running"
- )
- let data = try Data(contentsOf: export.fileURL)
- let text = try XCTUnwrap(String(data: data, encoding: .utf8))
- let object = try XCTUnwrap(JSONSerialization.jsonObject(with: data) as? [String: Any])
- let records = try XCTUnwrap(object["records"] as? [[String: Any]])
-
- XCTAssertEqual(object["schema"] as? String, "radroots.ios.diagnostics.v1")
- XCTAssertEqual(records.count, 16)
- XCTAssertLessThanOrEqual(data.count, 256 * 1024)
- XCTAssertTrue(text.contains("[redacted]"))
- XCTAssertFalse(text.contains(secret))
- XCTAssertFalse(text.contains(privateKey))
- XCTAssertFalse(text.contains(privatePath))
- XCTAssertFalse(text.contains("password@example.test"))
-
- await coordinator.releaseDiagnostics(export)
- XCTAssertFalse(FileManager.default.fileExists(atPath: export.fileURL.path))
+final class RadrootsLifecycleTests: XCTestCase {
+ func testBackgroundEventsCompleteExactlyOnceBeforeAndAfterAttachment() async {
+ let router = RadrootsBackgroundEventRouter()
+ let first = CompletionProbe()
+
+ await router.handle(
+ identifier: "org.radroots.tests.background.transfer",
+ completion: RadrootsCompletionOnce { first.increment() }
+ )
+ XCTAssertEqual(first.value(), 0)
+
+ await router.attach(identifier: "org.radroots.tests.background.transfer") { _, completion in
+ completion()
+ completion()
}
-
- private func makeRoots() throws -> RadrootsAppleFileRoots {
- let base = FileManager.default.temporaryDirectory
- .appendingPathComponent("radroots-ios-lifecycle-tests-\(UUID().uuidString)", isDirectory: true)
- return try RadrootsAppleFileRoots(
- appIdentifier: "org.radroots.tests",
- dataRoot: base.appendingPathComponent("data", isDirectory: true),
- cacheRoot: base.appendingPathComponent("cache", isDirectory: true),
- temporaryRoot: base.appendingPathComponent("temporary", isDirectory: true)
- )
+ XCTAssertEqual(first.value(), 1)
+
+ let mismatched = CompletionProbe()
+ await router.handle(
+ identifier: "org.radroots.tests.background.other",
+ completion: RadrootsCompletionOnce { mismatched.increment() }
+ )
+ XCTAssertEqual(mismatched.value(), 1)
+ }
+
+ func testBackgroundEventQueueIsBoundedAndShutdownCompletesPendingEvents() async {
+ let router = RadrootsBackgroundEventRouter()
+ let probes = (0..<12).map { _ in CompletionProbe() }
+
+ for probe in probes {
+ await router.handle(
+ identifier: "org.radroots.tests.background.transfer",
+ completion: RadrootsCompletionOnce { probe.increment() }
+ )
}
- private func makeSnapshot(privateKey: String) -> RadrootsRuntimeSnapshot {
- RadrootsRuntimeSnapshot(
- identity: RadrootsRuntimeIdentity(
- publicKeyHex: privateKey,
- hostSignerConfigured: true
- ),
- relay: RadrootsRelayStatus(
- profile: "simulator",
- state: "configured",
- readAvailability: "available",
- writeAvailability: "available",
- relays: [
- RadrootsRelayEndpointStatus(
- url: "wss://user:password@example.test",
- access: "read_write",
- readState: "available",
- writeState: "available",
- readLastAttemptUnixMilliseconds: nil,
- writeLastAttemptUnixMilliseconds: nil,
- readNextAttemptUnixMilliseconds: nil,
- writeNextAttemptUnixMilliseconds: nil
- ),
- ]
- ),
- blossomConfiguration: nil,
- blossomEvidence: nil,
- crateName: "radroots_mobile_ffi",
- crateVersion: "0.1.0-alpha",
- isClosed: false
- )
+ XCTAssertEqual(probes.filter { $0.value() == 1 }.count, 4)
+ await router.detachAndCompletePending()
+ XCTAssertTrue(probes.allSatisfy { $0.value() == 1 })
+ }
+
+ func testLifecycleBridgeRunsRegisteredShutdownOnlyOnce() async {
+ let bridge = RadrootsLifecycleBridge()
+ let shutdowns = CompletionProbe()
+ await bridge.register { shutdowns.increment() }
+
+ await bridge.requestShutdown()
+ await bridge.requestShutdown()
+
+ XCTAssertEqual(shutdowns.value(), 1)
+ }
+
+ func testProtectedDataMonitorReflectsTransitions() {
+ let monitor = RadrootsProtectedDataMonitor(available: false)
+ XCTAssertFalse(monitor.isAvailable())
+
+ monitor.update(available: true)
+
+ XCTAssertTrue(monitor.isAvailable())
+ }
+
+ func testDiagnosticsAreBoundedAndExcludeSensitiveRuntimeValues() async throws {
+ let roots = try makeRoots()
+ defer { try? FileManager.default.removeItem(at: roots.dataRoot.deletingLastPathComponent()) }
+ let coordinator = RadrootsLifecycleCoordinator.testing(roots: roots, capacity: 16)
+ let secret = "nsec1diagnosticcanary"
+ let privateKey = String(repeating: "ab", count: 32)
+ let privatePath = "/Users/private/radroots/private.json"
+
+ for index in 0..<40 {
+ await coordinator.record(
+ "ios.lifecycle.test_event",
+ fields: [
+ "attempt": "\(index)",
+ "content": secret,
+ "private_key": privateKey,
+ "source": privatePath,
+ ]
+ )
}
+ let export = try await coordinator.prepareDiagnostics(
+ snapshot: makeSnapshot(privateKey: privateKey),
+ appVersion: "0.1.0-alpha",
+ appBuild: "1",
+ phase: "running"
+ )
+ let data = try Data(contentsOf: export.fileURL)
+ let text = try XCTUnwrap(String(data: data, encoding: .utf8))
+ let object = try XCTUnwrap(JSONSerialization.jsonObject(with: data) as? [String: Any])
+ let records = try XCTUnwrap(object["records"] as? [[String: Any]])
+
+ XCTAssertEqual(object["schema"] as? String, "radroots.ios.diagnostics.v1")
+ XCTAssertEqual(records.count, 16)
+ XCTAssertLessThanOrEqual(data.count, 256 * 1024)
+ XCTAssertTrue(text.contains("[redacted]"))
+ XCTAssertFalse(text.contains(secret))
+ XCTAssertFalse(text.contains(privateKey))
+ XCTAssertFalse(text.contains(privatePath))
+ XCTAssertFalse(text.contains("password@example.test"))
+
+ await coordinator.releaseDiagnostics(export)
+ XCTAssertFalse(FileManager.default.fileExists(atPath: export.fileURL.path))
+ }
+
+ private func makeRoots() throws -> RadrootsAppleFileRoots {
+ let base = FileManager.default.temporaryDirectory
+ .appendingPathComponent(
+ "radroots-ios-lifecycle-tests-\(UUID().uuidString)", isDirectory: true)
+ return try RadrootsAppleFileRoots(
+ appIdentifier: "org.radroots.tests",
+ dataRoot: base.appendingPathComponent("data", isDirectory: true),
+ cacheRoot: base.appendingPathComponent("cache", isDirectory: true),
+ temporaryRoot: base.appendingPathComponent("temporary", isDirectory: true)
+ )
+ }
+
+ private func makeSnapshot(privateKey: String) -> RadrootsRuntimeSnapshot {
+ RadrootsRuntimeSnapshot(
+ identity: RadrootsRuntimeIdentity(
+ publicKeyHex: privateKey,
+ hostSignerConfigured: true
+ ),
+ relay: RadrootsRelayStatus(
+ profile: "simulator",
+ state: "configured",
+ readAvailability: "available",
+ writeAvailability: "available",
+ relays: [
+ RadrootsRelayEndpointStatus(
+ url: "wss://user:password@example.test",
+ access: .readWrite,
+ readState: "available",
+ writeState: "available",
+ readLastAttemptUnixMilliseconds: nil,
+ writeLastAttemptUnixMilliseconds: nil,
+ readNextAttemptUnixMilliseconds: nil,
+ writeNextAttemptUnixMilliseconds: nil
+ )
+ ]
+ ),
+ blossomConfiguration: nil,
+ blossomEvidence: nil,
+ crateName: "radroots_mobile_ffi",
+ crateVersion: "0.1.0-alpha",
+ isClosed: false
+ )
+ }
}
private final class CompletionProbe: @unchecked Sendable {
- private let lock = NSLock()
- private var count = 0
+ private let lock = NSLock()
+ private var count = 0
- func increment() {
- lock.withLock { count += 1 }
- }
+ func increment() {
+ lock.withLock { count += 1 }
+ }
- func value() -> Int {
- lock.withLock { count }
- }
+ func value() -> Int {
+ lock.withLock { count }
+ }
}
diff --git a/project.yml b/project.yml
@@ -13,7 +13,7 @@ packages:
path: .
RadrootsKit:
url: https://github.com/radrootslabs/apple_kit.git
- revision: bd8242d04357adb1d37bf519458a866caf92cd3d
+ revision: dc770ec0b94a9b7ab245dba7ab8d5e46f65c109e
targets:
Radroots:
diff --git a/radroots.lib.source-lock.v1.toml b/radroots.lib.source-lock.v1.toml
@@ -1,8 +1,8 @@
schema = "radroots.lib.source-lock.v1"
repository = "https://github.com/radrootslabs/lib"
-revision = "828c462255b52a3d9bbfe8ef90b7bc38395bedfa"
+revision = "18973e0aa62ae809b0495d5812b0c5ac8c7774ff"
architecture = "radroots.crates.release.v2"
workspace_catalog_sha256 = "8c27cebf6825f9ed74e122513c661f6dd31837dddb39d0988014121d8ab05e75"
version = "0.1.0-alpha"
-source_archive_sha256 = "84bf11f91b21fcd7dde5426440f383a5ddc0f14d731ab607471e924ecf5266bc"
-lockfile_sha256 = "8d357ab3ab9bf96d3fab442e003880b2d9a0a030a8c9b8f1ea90903d2b308e5d"
+source_archive_sha256 = "5b08a33a766e6d1da73e61927d7063474eb223ee8f0dc4532230c8d59c301b2c"
+lockfile_sha256 = "b3be85e6245b38bd14f296cb3f6de9381bfb4e830115f9c7484337be70561d44"