@interface USOObjCGraphRedactionUtils : NSObject + (id)getRedactedGraph:(void *)a0; + (id)contactEntities; + (id)allowedHomeKitEntityTypes; + (id)catiNamespacesForIdentifierValues; + (id)commonAppBundleIds; + (id)firstPartyAppBundleIds; + (struct unique_ptr> { struct __compressed_pair> { struct UsoEntitySpan *x0; } x0; })getRedactedEntitySpan:(struct UsoEntitySpan { struct optional { union { char x0; struct basic_string, std::allocator> { struct __compressed_pair::__rep, std::allocator> { struct __rep { union { struct __long { char *x0; unsigned long long x1; unsigned long x2 : 63; unsigned char x3 : 1; } x0; struct __short { char x0[23]; unsigned char x1[0]; unsigned char x2 : 7; unsigned char x3 : 1; } x1; struct __raw { unsigned long long x0[3]; } x2; } x0; } x0; } x0; } x1; } x0; BOOL x1; } x0; struct optional { union { char x0; int x1; } x0; BOOL x1; } x1; struct optional { union { char x0; struct basic_string, std::allocator> { struct __compressed_pair::__rep, std::allocator> { struct __rep { union { struct __long { char *x0; unsigned long long x1; unsigned long x2 : 63; unsigned char x3 : 1; } x0; struct __short { char x0[23]; unsigned char x1[0]; unsigned char x2 : 7; unsigned char x3 : 1; } x1; struct __raw { unsigned long long x0[3]; } x2; } x0; } x0; } x0; } x1; } x0; BOOL x1; } x2; struct optional> { union { char x0; struct unique_ptr> { struct __compressed_pair> { struct MatchInfo *x0; } x0; } x1; } x0; BOOL x1; } x3; struct vector, std::allocator>> { void *x0; void *x1; struct __compressed_pair *, std::allocator>> { void *x0; } x2; } x4; struct optional { union { char x0; unsigned int x1; } x0; BOOL x1; } x5; struct optional { union { char x0; unsigned int x1; } x0; BOOL x1; } x6; struct vector, std::allocator>> { void *x0; void *x1; struct __compressed_pair *, std::allocator>> { void *x0; } x2; } x7; struct optional { union { char x0; struct basic_string, std::allocator> { struct __compressed_pair::__rep, std::allocator> { struct __rep { union { struct __long { char *x0; unsigned long long x1; unsigned long x2 : 63; unsigned char x3 : 1; } x0; struct __short { char x0[23]; unsigned char x1[0]; unsigned char x2 : 7; unsigned char x3 : 1; } x1; struct __raw { unsigned long long x0[3]; } x2; } x0; } x0; } x0; } x1; } x0; BOOL x1; } x8; })a0 isContactRelatedEntityNode:(BOOL)a1; + (struct unique_ptr> { struct __compressed_pair> { struct UsoIdentifier *x0; } x0; })getRedactedIdentifier:(struct UsoIdentifier { struct basic_string, std::allocator> { struct __compressed_pair::__rep, std::allocator> { struct __rep { union { struct __long { char *x0; unsigned long long x1; unsigned long x2 : 63; unsigned char x3 : 1; } x0; struct __short { char x0[23]; unsigned char x1[0]; unsigned char x2 : 7; unsigned char x3 : 1; } x1; struct __raw { unsigned long long x0[3]; } x2; } x0; } x0; } x0; } x0; struct basic_string, std::allocator> { struct __compressed_pair::__rep, std::allocator> { struct __rep { union { struct __long { char *x0; unsigned long long x1; unsigned long x2 : 63; unsigned char x3 : 1; } x0; struct __short { char x0[23]; unsigned char x1[0]; unsigned char x2 : 7; unsigned char x3 : 1; } x1; struct __raw { unsigned long long x0[3]; } x2; } x0; } x0; } x0; } x1; struct optional { union { char x0; struct basic_string, std::allocator> { struct __compressed_pair::__rep, std::allocator> { struct __rep { union { struct __long { char *x0; unsigned long long x1; unsigned long x2 : 63; unsigned char x3 : 1; } x0; struct __short { char x0[23]; unsigned char x1[0]; unsigned char x2 : 7; unsigned char x3 : 1; } x1; struct __raw { unsigned long long x0[3]; } x2; } x0; } x0; } x0; } x1; } x0; BOOL x1; } x2; struct optional { union { char x0; double x1; } x0; BOOL x1; } x3; struct optional { union { char x0; int x1; } x0; BOOL x1; } x4; struct optional { union { char x0; unsigned int x1; } x0; BOOL x1; } x5; struct optional { union { char x0; unsigned int x1; } x0; BOOL x1; } x6; })a0 isContactRelatedEntityNode:(BOOL)a1; + (struct unique_ptr> { struct __compressed_pair> { struct UsoEntitySpan *x0; } x0; })getRedactionEntitySpan; + (struct unique_ptr> { struct __compressed_pair> { struct UsoIdentifier *x0; } x0; })getRedactionIdentifier; + (BOOL)isAllowedCatiEntitySpan:(const void *)a0 key:(const void *)a1; + (BOOL)isAllowedCatiIdentifier:(const void *)a0; + (BOOL)isContactIDNamespace:(const void *)a0; + (BOOL)isContactIDNamespaceString:(const void *)a0; + (BOOL)isContactRelatedEntityNode:(struct UsoGraphNode { void /* function */ **x0; struct UsoGraph *x1; unsigned long long x2; } *)a0; + (BOOL)isHomeKitEntityTypeEntitySpan:(const void *)a0 key:(const void *)a1 value:(const void *)a2; + (BOOL)isHomeKitEntityTypeIdentifier:(const void *)a0; + (id)obfuscateAppBundleId:(struct basic_string, std::allocator> { struct __compressed_pair::__rep, std::allocator> { struct __rep { union { struct __long { char *x0; unsigned long long x1; unsigned long x2 : 63; unsigned char x3 : 1; } x0; struct __short { char x0[23]; unsigned char x1[0]; unsigned char x2 : 7; unsigned char x3 : 1; } x1; struct __raw { unsigned long long x0[3]; } x2; } x0; } x0; } x0; })a0; + (void)redactedGraphHelperWithRedactedGraph:(void *)a0 redactedList:(id)a1 visitedNodes:(id)a2 fromNode:(struct UsoGraphNode { void /* function */ **x0; struct UsoGraph *x1; unsigned long long x2; } *)a3 successors:(struct vector, std::reference_wrapper>, std::allocator, std::reference_wrapper>>> { void *x0; void *x1; struct __compressed_pair, std::reference_wrapper> *, std::allocator, std::reference_wrapper>>> { void *x0; } x2; })a4 vocabManager:(struct shared_ptr { struct UsoVocabManager *x0; struct __shared_weak_count *x1; })a5; + (BOOL)shouldRetainEntitySpanValue:(const void *)a0 key:(const void *)a1 entitySpan:(const void *)a2 isContactRelatedEntityNode:(BOOL)a3; + (BOOL)shouldRetainIdentifierValue:(const void *)a0 isContactRelatedEntityNode:(BOOL)a1; @end