gitextract__gplox9q/ ├── .git-hooks/ │ └── pre-commit ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report.yml │ │ └── improvement-proposal.yml │ ├── actions/ │ │ └── ci_xcodebuild/ │ │ └── action.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── ci_build_26.yml │ └── ci_lint.yml ├── .gitignore ├── .gitmodules ├── .periphery.yml ├── .swift-version ├── .swiftformat ├── .swiftlint.yml ├── Additional Documents/ │ ├── EULA.md │ └── Privacy.md ├── CODEOWNERS ├── CONTRIBUTING.md ├── LICENSE ├── Mlem/ │ ├── App/ │ │ ├── Actions/ │ │ │ ├── ActionSeed+Extensions.swift │ │ │ ├── ActionSeedSwipeConfiguration.swift │ │ │ ├── ActionSheet/ │ │ │ │ ├── ActionSheet.swift │ │ │ │ └── CustomizableContextMenu.swift │ │ │ ├── AppointAdminAction.swift │ │ │ ├── AppointModeratorAction.swift │ │ │ ├── BanAction.swift │ │ │ ├── BlockAction.swift │ │ │ ├── CollapseAction.swift │ │ │ ├── CollapseParentAction.swift │ │ │ ├── CollapseToTopAction.swift │ │ │ ├── ContextMenu+Comment.swift │ │ │ ├── ContextMenu+Community.swift │ │ │ ├── ContextMenu+InboxNotification.swift │ │ │ ├── ContextMenu+Instance.swift │ │ │ ├── ContextMenu+Message.swift │ │ │ ├── ContextMenu+Person.swift │ │ │ ├── ContextMenu+Post.swift │ │ │ ├── CopyNameAction.swift │ │ │ ├── CreateImageAction.swift │ │ │ ├── CrosspostAction.swift │ │ │ ├── DeleteAction.swift │ │ │ ├── EditAction.swift │ │ │ ├── EditNoteAction.swift │ │ │ ├── FavoriteAction.swift │ │ │ ├── GoToInstanceAction.swift │ │ │ ├── HideAction.swift │ │ │ ├── LockAction.swift │ │ │ ├── LogInAction.swift │ │ │ ├── MarkNsfwAction.swift │ │ │ ├── MarkReadAction.swift │ │ │ ├── NewPostAction.swift │ │ │ ├── OpenInBrowserAction.swift │ │ │ ├── OpenModlogAction.swift │ │ │ ├── PinAction.swift │ │ │ ├── PurgeAction.swift │ │ │ ├── RemoveAction.swift │ │ │ ├── ReplyAction.swift │ │ │ ├── ReportAction.swift │ │ │ ├── ResolveAction.swift │ │ │ ├── SaveAction.swift │ │ │ ├── SelectTextAction.swift │ │ │ ├── SendMessageAction.swift │ │ │ ├── ShareAction.swift │ │ │ ├── SignUpAction.swift │ │ │ ├── SubscribeAction.swift │ │ │ ├── ViewVotesAction.swift │ │ │ ├── VisitAction.swift │ │ │ └── VoteAction.swift │ │ ├── Configuration/ │ │ │ ├── Colors/ │ │ │ │ ├── Palette+Dracula.swift │ │ │ │ ├── Palette+Monochrome.swift │ │ │ │ ├── Palette+Oled.swift │ │ │ │ └── Palette+Solarized.swift │ │ │ ├── Constants/ │ │ │ │ ├── Constants.swift │ │ │ │ └── Platform Constants/ │ │ │ │ ├── PadConstants.swift │ │ │ │ ├── PhoneConstants.swift │ │ │ │ └── PlatformConstants.swift │ │ │ ├── Icons.swift │ │ │ └── User Settings/ │ │ │ ├── PinnedSortTracker.swift │ │ │ ├── SettingPropertyWrapper.swift │ │ │ ├── Settings.swift │ │ │ └── SettingsValues.swift │ │ ├── Data/ │ │ │ ├── Document.swift │ │ │ ├── EULA.swift │ │ │ ├── Licenses.swift │ │ │ └── Privacy Policy.swift │ │ ├── Enums/ │ │ │ ├── AnimatedAvatarBehavior.swift │ │ │ ├── AvatarType.swift │ │ │ ├── CommentJumpButtonLocation.swift │ │ │ ├── InstanceSort.swift │ │ │ ├── Interaction/ │ │ │ │ ├── ActionSeedSections.swift │ │ │ │ ├── CommentBarConfiguration+Types.swift │ │ │ │ ├── CommentBarConfiguration.swift │ │ │ │ ├── CommunityActionConfiguration.swift │ │ │ │ ├── ContextMenuConfiguration.swift │ │ │ │ ├── InteractionBarConfiguration.swift │ │ │ │ ├── PostBarConfiguration+Types.swift │ │ │ │ ├── PostBarConfiguration.swift │ │ │ │ ├── ReplyBarConfiguration+Types.swift │ │ │ │ ├── ReplyBarConfiguration.swift │ │ │ │ └── SwipeActionConfiguration.swift │ │ │ ├── MlemError.swift │ │ │ ├── NsfwBlurBehavior.swift │ │ │ ├── PersonFlair.swift │ │ │ ├── PostViewLinkType.swift │ │ │ ├── ReadPostIndicator.swift │ │ │ ├── TabBarLongPressAction.swift │ │ │ └── ZoomSliderLocation.swift │ │ ├── Globals/ │ │ │ ├── Definitions/ │ │ │ │ ├── AccountsTracker.swift │ │ │ │ ├── AppState+transition.swift │ │ │ │ ├── AppState.swift │ │ │ │ ├── ErrorsTracker.swift │ │ │ │ ├── FiltersTracker.swift │ │ │ │ ├── PaletteOption.swift │ │ │ │ ├── PersistenceRepository.swift │ │ │ │ └── TabReselectTracker.swift │ │ │ └── Dependencies/ │ │ │ └── PersistenceRepository+Dependency.swift │ │ ├── Legacy/ │ │ │ └── LegacySettings.swift │ │ ├── Logic/ │ │ │ ├── Animations.swift │ │ │ ├── HandleError.swift │ │ │ ├── ImageFunctions.swift │ │ │ ├── ImageSaver.swift │ │ │ └── Networking/ │ │ │ └── InternetConnectionManager.swift │ │ ├── Models/ │ │ │ ├── Account/ │ │ │ │ ├── Account.swift │ │ │ │ ├── AccountType.swift │ │ │ │ ├── GuestAccount.swift │ │ │ │ └── UserAccount.swift │ │ │ ├── Action/ │ │ │ │ ├── Action.swift │ │ │ │ ├── ActionAppearance+StaticValues.swift │ │ │ │ ├── ActionAppearance.swift │ │ │ │ ├── ActionBuilder.swift │ │ │ │ ├── ActionGroup.swift │ │ │ │ ├── ActionType.swift │ │ │ │ ├── BasicAction.swift │ │ │ │ ├── Counter.swift │ │ │ │ ├── CounterAppearance.swift │ │ │ │ ├── CounterApperance+StaticValues.swift │ │ │ │ ├── Readout.swift │ │ │ │ └── ShareActivity.swift │ │ │ ├── CommentTreeNode.swift │ │ │ ├── ErrorDetails.swift │ │ │ ├── Events/ │ │ │ │ ├── Event+Extension.swift │ │ │ │ └── EventsTracker.swift │ │ │ ├── FeedContext.swift │ │ │ ├── FeedbackType.swift │ │ │ ├── ImageUploadHistoryManager.swift │ │ │ ├── ImageUploadManager.swift │ │ │ ├── MlemStats/ │ │ │ │ ├── InstanceSummary.swift │ │ │ │ └── MlemStats.swift │ │ │ ├── SeededRandomNumberGenerator.swift │ │ │ ├── Session/ │ │ │ │ ├── GuestSession.swift │ │ │ │ ├── Session.swift │ │ │ │ └── UserSession.swift │ │ │ └── Settings/ │ │ │ └── Options/ │ │ │ ├── InternetSpeed.swift │ │ │ ├── PostSize.swift │ │ │ └── ThumbnailLocation.swift │ │ ├── Protocols/ │ │ │ ├── AccountSortMode.swift │ │ │ └── AssociatedColor.swift │ │ ├── Utility/ │ │ │ └── Extensions/ │ │ │ ├── ApiClient+Extensions.swift │ │ │ ├── Array+Extensions.swift │ │ │ ├── BackendClient+Extensions.swift │ │ │ ├── Binding+Extensions.swift │ │ │ ├── Blockable+Extensions.swift │ │ │ ├── Bundle+Extensions.swift │ │ │ ├── CGFloat+Extensions.swift │ │ │ ├── CGPoint+Extensions.swift │ │ │ ├── CGSize+Extensions.swift │ │ │ ├── Calendar+Extensions.swift │ │ │ ├── CaptchaDifficulty+Extensions.swift │ │ │ ├── Color+Extensions.swift │ │ │ ├── CommentSortType+Extensions.swift │ │ │ ├── Content Models/ │ │ │ │ ├── ActorIdentifiable+Extensions.swift │ │ │ │ ├── Captcha+Extensions.swift │ │ │ │ ├── Comment/ │ │ │ │ │ ├── Comment+Actions.swift │ │ │ │ │ └── Comment+Extensions.swift │ │ │ │ ├── Community/ │ │ │ │ │ └── Community+Extensions.swift │ │ │ │ ├── CommunityOrPersonStub+Extensions.swift │ │ │ │ ├── DeletableProviding+Extensions.swift │ │ │ │ ├── InboxItemProviding+Extensions.swift │ │ │ │ ├── InboxItemType+Extensions.swift │ │ │ │ ├── Instance+Extensions.swift │ │ │ │ ├── Instance3+Extensions.swift │ │ │ │ ├── Interactable/ │ │ │ │ │ ├── InteractableProviding+Actions.swift │ │ │ │ │ ├── InteractableProviding+Extensions.swift │ │ │ │ │ └── InteractableProviding+Toggles.swift │ │ │ │ ├── Message1Providing+Extensions.swift │ │ │ │ ├── ModlogEntryContent+Extensions.swift │ │ │ │ ├── ModlogEntryType+Extensions.swift │ │ │ │ ├── Person/ │ │ │ │ │ ├── Person+Actions.swift │ │ │ │ │ └── Person+Extensions.swift │ │ │ │ ├── PersonContent+Extensions.swift │ │ │ │ ├── Post/ │ │ │ │ │ ├── Post+Actions.swift │ │ │ │ │ ├── Post+Extensions.swift │ │ │ │ │ └── Post+Toggles.swift │ │ │ │ ├── ProfileProviding+Extensions.swift │ │ │ │ ├── PurgableProviding+Extensions.swift │ │ │ │ ├── RegistrationApplication+Extensions.swift │ │ │ │ ├── RemovableProviding+Extensions.swift │ │ │ │ ├── Reply1Providing+Extensions.swift │ │ │ │ ├── Report+Extensions.swift │ │ │ │ ├── ReportableProviding+Extensions.swift │ │ │ │ ├── ScoringOperation+Extensions.swift │ │ │ │ ├── SelectableContentProviding+Extensions.swift │ │ │ │ ├── Sharable+Extensions.swift │ │ │ │ ├── SiteSoftware+Extensions.swift │ │ │ │ ├── SiteSoftwareType+Extensions.swift │ │ │ │ ├── UnreadCount+Extensions.swift │ │ │ │ └── VotesModel+Extensions.swift │ │ │ ├── Data+Extensions.swift │ │ │ ├── Date+Extensions.swift │ │ │ ├── DateComponents+Extensions.swift │ │ │ ├── EnvironmentValues+Extensions.swift │ │ │ ├── FederationMode+Extensions.swift │ │ │ ├── GetContentFilter+Extensions.swift │ │ │ ├── HapticLevel+Extensions.swift │ │ │ ├── InstanceSummarySoftware+Extensions.swift │ │ │ ├── Int+Extensions.swift │ │ │ ├── ListingType+Extensions.swift │ │ │ ├── MarkdownConfiguration+Extensions.swift │ │ │ ├── MlemMiddleware Mock/ │ │ │ │ ├── ActorIdentifier+Mock.swift │ │ │ │ ├── Comment+Mock.swift │ │ │ │ ├── CommentMockType.swift │ │ │ │ ├── Community+Mock.swift │ │ │ │ ├── CommunityMockType+Realistic.swift │ │ │ │ ├── CommunityMockType.swift │ │ │ │ ├── MockApiClient+Realistic.swift │ │ │ │ ├── Person+Mock.swift │ │ │ │ ├── PersonMockType+Realistic.swift │ │ │ │ ├── PersonMockType.swift │ │ │ │ ├── Post+Mock.swift │ │ │ │ ├── PostMockType+Realistic.swift │ │ │ │ └── PostMockType.swift │ │ │ ├── PersonContentFeedLoader+Extensions.swift │ │ │ ├── PostSortType+Extensions.swift │ │ │ ├── PostType+Extensions.swift │ │ │ ├── PrefetchingConfiguration+Extensions.swift │ │ │ ├── QuickSwipeAction+Actions.swift │ │ │ ├── QuickSwipeAction+Extensions.swift │ │ │ ├── RegistrationMode+Extensions.swift │ │ │ ├── SearchSortType+Extensions.swift │ │ │ ├── Set+Extensions.swift │ │ │ ├── SortTimeRange+Extensions.swift │ │ │ ├── String+Extensions.swift │ │ │ ├── String+extension.swift │ │ │ ├── SwipeConfiguration+Extensions.swift │ │ │ ├── UIApplication+Extensions.swift │ │ │ ├── UIDevice+Extensions.swift │ │ │ ├── UIImage+Extensions.swift │ │ │ ├── UITextView+Extensions.swift │ │ │ ├── UIUserInterfaceStyle+Extensions.swift │ │ │ ├── UIViewController+Extensions.swift │ │ │ ├── UsernameValidity+Extensions.swift │ │ │ ├── Views/ │ │ │ │ ├── Label+Profile1.swift │ │ │ │ ├── NavigationLink+NavigationPage.swift │ │ │ │ ├── PreviewModifier+SampleEnvironment.swift │ │ │ │ └── View Modifiers/ │ │ │ │ ├── PopupAnchorModel.swift │ │ │ │ ├── View+AccountSwitcherGesture.swift │ │ │ │ ├── View+Background.swift │ │ │ │ ├── View+ConditionalNavigationTitle.swift │ │ │ │ ├── View+ContentMenu.swift │ │ │ │ ├── View+ContextMenu.swift │ │ │ │ ├── View+DynamicBlur.swift │ │ │ │ ├── View+ExternalApiWarning.swift │ │ │ │ ├── View+HiddenNavigationTitle.swift │ │ │ │ ├── View+IsAtTopSubscriber.swift │ │ │ │ ├── View+LoadFeed.swift │ │ │ │ ├── View+MarkReadOnScroll.swift │ │ │ │ ├── View+NavigationTransition.swift │ │ │ │ ├── View+NavigtionStackPreview.swift │ │ │ │ ├── View+OutdatedFeedPopup.swift │ │ │ │ ├── View+PaletteBorder.swift │ │ │ │ ├── View+PopupAnchor.swift │ │ │ │ ├── View+QuickSwipes.swift │ │ │ │ ├── View+Refreshable.swift │ │ │ │ ├── View+ReloadOnAccountSwitch.swift │ │ │ │ ├── View+SafeAreaBar.swift │ │ │ │ ├── View+TabBarPreview.swift │ │ │ │ ├── View+TabReselectConsumer.swift │ │ │ │ └── View+WidthReader.swift │ │ │ └── [BlockNode]+Extensions.swift │ │ └── Views/ │ │ ├── Pages/ │ │ │ ├── Community/ │ │ │ │ ├── AdvancedSortView+SortButton.swift │ │ │ │ ├── AdvancedSortView.swift │ │ │ │ ├── CommunityAboutView.swift │ │ │ │ ├── CommunityDetailsView.swift │ │ │ │ ├── CommunitySearchSortPicker.swift │ │ │ │ ├── CommunityStubResolutionPage.swift │ │ │ │ ├── CommunityView+Logic.swift │ │ │ │ ├── CommunityView.swift │ │ │ │ ├── FeedSortPicker.swift │ │ │ │ └── TopSortPicker.swift │ │ │ ├── DeleteAccountView.swift │ │ │ ├── Editors/ │ │ │ │ ├── CommentEditor/ │ │ │ │ │ ├── CommentEditorView+Context.swift │ │ │ │ │ ├── CommentEditorView+Logic.swift │ │ │ │ │ ├── CommentEditorView.swift │ │ │ │ │ └── PostEditor/ │ │ │ │ │ ├── LinkEditorView.swift │ │ │ │ │ ├── PostEditorTargetView.swift │ │ │ │ │ ├── PostEditorView+ImageView.swift │ │ │ │ │ ├── PostEditorView+LinkView.swift │ │ │ │ │ ├── PostEditorView+Logic.swift │ │ │ │ │ ├── PostEditorView+Toolbar.swift │ │ │ │ │ ├── PostEditorView+Views.swift │ │ │ │ │ ├── PostEditorView.swift │ │ │ │ │ └── PostEditorWebsitePreviewView.swift │ │ │ │ ├── CommunityDescriptionEditorView.swift │ │ │ │ ├── ContentPurgeEditorView.swift │ │ │ │ ├── ContentRemovalEditorView.swift │ │ │ │ ├── FilterViolationWarning.swift │ │ │ │ ├── NoteEditorView.swift │ │ │ │ ├── PersonBanEditorView+Logic.swift │ │ │ │ ├── PersonBanEditorView.swift │ │ │ │ ├── RegistrationApplicationDenialEditorView.swift │ │ │ │ └── ReportEditorView.swift │ │ │ ├── ExternalApiInfoView.swift │ │ │ ├── ImageViewer+Views.swift │ │ │ ├── ImageViewer.swift │ │ │ ├── Instance/ │ │ │ │ ├── Fediseer.swift │ │ │ │ ├── FediseerInfoView.swift │ │ │ │ ├── FediseerOpinionListView.swift │ │ │ │ ├── FediseerOpinionView.swift │ │ │ │ ├── InstanceCommunityListView.swift │ │ │ │ ├── InstanceDetailsView.swift │ │ │ │ ├── InstanceSafetyView.swift │ │ │ │ ├── InstanceStubResolutionPage.swift │ │ │ │ ├── InstanceUptimeView+Logic.swift │ │ │ │ ├── InstanceUptimeView+Views.swift │ │ │ │ ├── InstanceUptimeView.swift │ │ │ │ ├── InstanceView+About.swift │ │ │ │ ├── InstanceView+Logic.swift │ │ │ │ ├── InstanceView.swift │ │ │ │ └── UptimeData.swift │ │ │ ├── MessageFeedView/ │ │ │ │ ├── MessageBubbleView.swift │ │ │ │ ├── MessageFeedView+Logic.swift │ │ │ │ └── MessageFeedView.swift │ │ │ ├── Modlog/ │ │ │ │ ├── ModlogEntryView.swift │ │ │ │ ├── ModlogView+Filters.swift │ │ │ │ ├── ModlogView+Logic.swift │ │ │ │ └── ModlogView.swift │ │ │ ├── Person/ │ │ │ │ ├── PersonStubResolutionPage.swift │ │ │ │ ├── PersonView+Logic.swift │ │ │ │ └── PersonView.swift │ │ │ ├── UploadConfirmationView.swift │ │ │ └── VotesListView.swift │ │ ├── Root/ │ │ │ ├── AppDelegate.swift │ │ │ ├── ContentView+Logic.swift │ │ │ ├── ContentView+Tab.swift │ │ │ ├── ContentView.swift │ │ │ ├── Login/ │ │ │ │ ├── LoginCredentialsView.swift │ │ │ │ ├── LoginInstancePickerView.swift │ │ │ │ ├── LoginTotpView.swift │ │ │ │ ├── Onboarding/ │ │ │ │ │ ├── OnboardingEmailView.swift │ │ │ │ │ ├── OnboardingModel.swift │ │ │ │ │ ├── OnboardingRecommendInstanceView.swift │ │ │ │ │ ├── OnboardingUsernameView.swift │ │ │ │ │ └── OnboardingView.swift │ │ │ │ ├── SignUpView+EmailConfirmationView.swift │ │ │ │ ├── SignUpView+Logic.swift │ │ │ │ ├── SignUpView+Views.swift │ │ │ │ └── SignUpView.swift │ │ │ ├── MlemApp.swift │ │ │ ├── Tabs/ │ │ │ │ ├── Feeds/ │ │ │ │ │ ├── Components/ │ │ │ │ │ │ ├── FeedWelcomeView.swift │ │ │ │ │ │ ├── HiddenReadBannerView.swift │ │ │ │ │ │ ├── TileScoreView.swift │ │ │ │ │ │ └── UpdateBannerView.swift │ │ │ │ │ ├── Feed Comments/ │ │ │ │ │ │ ├── FeedCommentView.swift │ │ │ │ │ │ └── TileCommentView.swift │ │ │ │ │ ├── Feed Header/ │ │ │ │ │ │ ├── FeedDescription.swift │ │ │ │ │ │ ├── FeedHeaderView.swift │ │ │ │ │ │ └── FeedIconView.swift │ │ │ │ │ ├── Feed Posts/ │ │ │ │ │ │ ├── CompactPostView.swift │ │ │ │ │ │ ├── Feed Post Components/ │ │ │ │ │ │ │ ├── CrossPostListView.swift │ │ │ │ │ │ │ ├── PostLinkHostView.swift │ │ │ │ │ │ │ └── PostTag.swift │ │ │ │ │ │ ├── FeedPostView.swift │ │ │ │ │ │ ├── HeadlinePostBodyView.swift │ │ │ │ │ │ ├── HeadlinePostView.swift │ │ │ │ │ │ ├── LargePostBodyView.swift │ │ │ │ │ │ ├── LargePostView.swift │ │ │ │ │ │ ├── PostPollView.swift │ │ │ │ │ │ └── TilePostView.swift │ │ │ │ │ ├── FeedsView.swift │ │ │ │ │ ├── SectionIndexTitles.swift │ │ │ │ │ ├── SubscriptionListItemView.swift │ │ │ │ │ ├── SubscriptionListNavigationButton.swift │ │ │ │ │ ├── SubscriptionListView.swift │ │ │ │ │ └── VisitAgainView.swift │ │ │ │ ├── Inbox/ │ │ │ │ │ ├── InboxView+Types.swift │ │ │ │ │ ├── InboxView+Views.swift │ │ │ │ │ ├── InboxView.swift │ │ │ │ │ └── MarkAllAsReadButton.swift │ │ │ │ ├── Profile/ │ │ │ │ │ └── Profile View.swift │ │ │ │ └── Settings/ │ │ │ │ ├── AboutMlemView.swift │ │ │ │ ├── AccessibilitySettingsView.swift │ │ │ │ ├── AccountAdvancedSettingsView.swift │ │ │ │ ├── AccountAgeVisibilitySettingsView.swift │ │ │ │ ├── AccountContentSettingsView.swift │ │ │ │ ├── AccountEmailSettingsView.swift │ │ │ │ ├── AccountListSettingsView.swift │ │ │ │ ├── AccountLocalSettingsView.swift │ │ │ │ ├── AccountNicknameFieldView.swift │ │ │ │ ├── AccountSettingsView.swift │ │ │ │ ├── AccountSignInSettingsView.swift │ │ │ │ ├── AdvancedSettingsView.swift │ │ │ │ ├── AnimatedAvatarSettingsView.swift │ │ │ │ ├── BlockListView.swift │ │ │ │ ├── ChangePasswordView.swift │ │ │ │ ├── CommentJumpButtonSettingsView.swift │ │ │ │ ├── CommentMaximumDepthSettingsView.swift │ │ │ │ ├── CommentSettingsView.swift │ │ │ │ ├── CommunitySettingsView.swift │ │ │ │ ├── Components/ │ │ │ │ │ ├── ConditionalLabelStyleViewModifier.swift │ │ │ │ │ ├── DevicePickerItem.swift │ │ │ │ │ ├── SettingsDeviceView.swift │ │ │ │ │ ├── SettingsHeaderView.swift │ │ │ │ │ ├── SettingsInteractionBarSummaryView.swift │ │ │ │ │ ├── SquircleLabelStyle.swift │ │ │ │ │ └── ThemeLabel.swift │ │ │ │ ├── ContextMenuSettingsView.swift │ │ │ │ ├── DefaultFeedSettingsView.swift │ │ │ │ ├── DeveloperSettingsView.swift │ │ │ │ ├── Discussion Languages/ │ │ │ │ │ ├── DiscussionLanguageSettingsView.swift │ │ │ │ │ ├── LanguageListRowBody.swift │ │ │ │ │ └── LanguagePickerSheetView.swift │ │ │ │ ├── DiscussionLanguageSettingsView.swift │ │ │ │ ├── EmbeddingSettingsView.swift │ │ │ │ ├── ErrorLogView.swift │ │ │ │ ├── ExternalLinkSettingsView.swift │ │ │ │ ├── FiltersSettingsView.swift │ │ │ │ ├── GeneralSettingsView.swift │ │ │ │ ├── HapticSettingsView.swift │ │ │ │ ├── Icon/ │ │ │ │ │ ├── AlternateIcon.swift │ │ │ │ │ ├── AlternateIconCell.swift │ │ │ │ │ ├── AlternateIconLabel.swift │ │ │ │ │ └── IconSettingsView.swift │ │ │ │ ├── ImageViewerDismissSettingsView.swift │ │ │ │ ├── ImageViewerSettingsView.swift │ │ │ │ ├── ImageViewerShowControlsSettingsView.swift │ │ │ │ ├── ImportExportSettingsView.swift │ │ │ │ ├── InboxBadgeSettingsView.swift │ │ │ │ ├── InboxSettingsView.swift │ │ │ │ ├── InteractionBarEditor/ │ │ │ │ │ ├── InteractionBarEditorView+Logic.swift │ │ │ │ │ ├── InteractionBarEditorView+Views.swift │ │ │ │ │ ├── InteractionBarEditorView.swift │ │ │ │ │ └── InteractionBarWidgetPickerView.swift │ │ │ │ ├── LinkSettingsView.swift │ │ │ │ ├── LongPressActionSettingsView.swift │ │ │ │ ├── ModMailInteractionBarSettingsView.swift │ │ │ │ ├── ModeratorActionSeparationSettingsView.swift │ │ │ │ ├── ModeratorSettingsView.swift │ │ │ │ ├── PostReadIndicatorSettingsView.swift │ │ │ │ ├── PostSettingsView+PostSizePicker.swift │ │ │ │ ├── PostSettingsView.swift │ │ │ │ ├── PostSubscriptionIndicatorSettingsView.swift │ │ │ │ ├── PostThumbnailSettingsView.swift │ │ │ │ ├── PrivacyBypassImageProxySettingsView.swift │ │ │ │ ├── PrivacySettingsView.swift │ │ │ │ ├── ProfileSettingsView.swift │ │ │ │ ├── SafetyBlurNsfwSettingsView.swift │ │ │ │ ├── SafetySettingsView.swift │ │ │ │ ├── SafetyWarningsSettingsView.swift │ │ │ │ ├── SettingsView.swift │ │ │ │ ├── SharingLinksSettingsView.swift │ │ │ │ ├── SortingSettingsView.swift │ │ │ │ ├── SubscriptionListSettingsView.swift │ │ │ │ ├── SwipeActionEditorView.swift │ │ │ │ ├── TabBarSettingsView.swift │ │ │ │ ├── TappableLinksSettingsView.swift │ │ │ │ ├── ThemeSettingsView.swift │ │ │ │ └── ZoomSliderSettingsView.swift │ │ │ └── TransitionView.swift │ │ └── Shared/ │ │ ├── AccountPickerMenu.swift │ │ ├── Accounts/ │ │ │ ├── AccountListView+Logic.swift │ │ │ ├── AccountListView.swift │ │ │ └── QuickSwitcherView.swift │ │ ├── Avatar/ │ │ │ ├── AvatarBannerView.swift │ │ │ ├── AvatarStackView.swift │ │ │ ├── AvatarView.swift │ │ │ ├── ProfileHeaderView.swift │ │ │ └── SimpleAvatarView.swift │ │ ├── Bubble Picker/ │ │ │ ├── BubblePickerView.swift │ │ │ └── ChildSizeReader.swift │ │ ├── BypassProxyWarningSheet.swift │ │ ├── CommentBodyView.swift │ │ ├── CommentView.swift │ │ ├── ContentLoader.swift │ │ ├── CustomTabBarController.swift │ │ ├── CustomTabItem.swift │ │ ├── CustomTabView.swift │ │ ├── CustomTabViewHostingController.swift │ │ ├── EllipsisMenu.swift │ │ ├── EndOfFeedView.swift │ │ ├── ErrorView.swift │ │ ├── ExpandedPost/ │ │ │ ├── CommentPage.swift │ │ │ ├── CommentStubResolutionPage.swift │ │ │ ├── CommentTreeTracker.swift │ │ │ ├── ExpandedPostHistoryTracker.swift │ │ │ ├── ExpandedPostView+Logic.swift │ │ │ ├── ExpandedPostView+Views.swift │ │ │ ├── ExpandedPostView.swift │ │ │ ├── MoreRepliesButton.swift │ │ │ └── PostStubResolutionPage.swift │ │ ├── ExpectedViews/ │ │ │ ├── ExpectedTextView.swift │ │ │ ├── ExpectedView.swift │ │ │ └── String+Placeholders.swift │ │ ├── ExportableViews/ │ │ │ ├── ExportableCommentEditorView.swift │ │ │ ├── ExportableCommentLoader.swift │ │ │ ├── ExportableCommentView.swift │ │ │ ├── ExportablePostEditorView.swift │ │ │ ├── ExportablePostView.swift │ │ │ └── ExportableViewComponents.swift │ │ ├── FancyScrollView.swift │ │ ├── FeedFilterButtonStyle.swift │ │ ├── FeedToolbarOptions.swift │ │ ├── FooterLinkView.swift │ │ ├── Form/ │ │ │ ├── ActiveUserCountView.swift │ │ │ ├── CollapsibleSection.swift │ │ │ ├── FormReadout.swift │ │ │ └── FormSection.swift │ │ ├── HandleThreadiverseLinksModifier.swift │ │ ├── ImageUploadMenu.swift │ │ ├── Images/ │ │ │ ├── Core/ │ │ │ │ ├── MediaView+Logic.swift │ │ │ │ ├── MediaView+Views.swift │ │ │ │ └── MediaView.swift │ │ │ ├── Helpers/ │ │ │ │ ├── AnimationControlLayer.swift │ │ │ │ ├── NsfwOverlayView.swift │ │ │ │ ├── PlayButton.swift │ │ │ │ ├── SmallOverlayButtonLabel.swift │ │ │ │ └── ZoomRecognizer/ │ │ │ │ ├── BridgeDragValue.swift │ │ │ │ ├── CachedComputation.swift │ │ │ │ ├── GestureRecognizers.swift │ │ │ │ ├── MomentumStatus.swift │ │ │ │ ├── ZoomCurves.swift │ │ │ │ ├── ZoomRecognizer.swift │ │ │ │ ├── ZoomRecognizerCoordinator+GestureRecognition.swift │ │ │ │ ├── ZoomRecognizerCoordinator+Logic.swift │ │ │ │ └── ZoomRecognizerCoordinator.swift │ │ │ └── Wrappers/ │ │ │ ├── CircleCroppedImageView.swift │ │ │ ├── SimpleAvatarView.swift │ │ │ ├── ThumbnailImageView.swift │ │ │ └── ZoomableImageView.swift │ │ ├── InfoStackView.swift │ │ ├── InteractionBar/ │ │ │ ├── InteractionBarActionLabelView.swift │ │ │ └── InteractionBarView.swift │ │ ├── JumpButtonView.swift │ │ ├── Labels/ │ │ │ ├── FullyQualifiedLabelView.swift │ │ │ ├── FullyQualifiedLinkView.swift │ │ │ └── FullyQualifiedNameView.swift │ │ ├── LinkHostView.swift │ │ ├── ListRow/ │ │ │ ├── AccountListRow.swift │ │ │ └── AccountListRowBody.swift │ │ ├── MarkdownEditorToolbarView.swift │ │ ├── MarkdownTextEditor.swift │ │ ├── MarkdownWithLinkList.swift │ │ ├── MenuButton.swift │ │ ├── MessageView.swift │ │ ├── ModlogButtonView.swift │ │ ├── MultiplatformView.swift │ │ ├── Navigation/ │ │ │ ├── LoginPage.swift │ │ │ ├── NavigationLayer.swift │ │ │ ├── NavigationLayerView.swift │ │ │ ├── NavigationModel.swift │ │ │ ├── NavigationPage+PresentationDetents.swift │ │ │ ├── NavigationPage+View.swift │ │ │ ├── NavigationPage.swift │ │ │ ├── NavigationRootView.swift │ │ │ ├── NavigationSearchType.swift │ │ │ ├── SettingsPage.swift │ │ │ └── View+NavigationSheetModifiers.swift │ │ ├── Palette Components/ │ │ │ ├── Button.swift │ │ │ ├── Divider.swift │ │ │ ├── Form.swift │ │ │ └── Section.swift │ │ ├── PersonContentGridView+FeedLoaderType.swift │ │ ├── PersonContentGridView.swift │ │ ├── PostEllipsisMenus.swift │ │ ├── PostGridView.swift │ │ ├── ProfileDateView.swift │ │ ├── ReadCheck.swift │ │ ├── ReasonShortcutView.swift │ │ ├── RefreshPopupView.swift │ │ ├── RegistrationApplicationView.swift │ │ ├── ReplyView.swift │ │ ├── ReportView.swift │ │ ├── RulesListView.swift │ │ ├── RulesPickerView.swift │ │ ├── Search/ │ │ │ ├── Home/ │ │ │ │ ├── EventRowView.swift │ │ │ │ ├── SearchHomeCategoryLabelStyle.swift │ │ │ │ ├── SearchHomeLabelStyle.swift │ │ │ │ ├── SearchHomeListView.swift │ │ │ │ ├── SearchHomeView.swift │ │ │ │ ├── TopCommunitiesListView.swift │ │ │ │ ├── TopInstancesListView.swift │ │ │ │ └── TopPeopleListView.swift │ │ │ ├── PasteLinkButtonView.swift │ │ │ ├── Results/ │ │ │ │ ├── CommunityListRow.swift │ │ │ │ ├── CommunityListRowBody.swift │ │ │ │ ├── InstanceListRow.swift │ │ │ │ ├── InstanceListRowBody.swift │ │ │ │ ├── PersonListRow.swift │ │ │ │ └── PersonListRowBody.swift │ │ │ ├── SearchBar/ │ │ │ │ ├── DefaultTextInputType.swift │ │ │ │ ├── SearchBar+NavigationView.swift │ │ │ │ ├── SearchBar.swift │ │ │ │ ├── SearchBarExtensions.swift │ │ │ │ ├── View+WithSheetSearch.swift │ │ │ │ └── _assignIfNotEqual.swift │ │ │ ├── SearchResultsView.swift │ │ │ ├── SearchSheetView.swift │ │ │ ├── SearchView+CreatorPicker.swift │ │ │ ├── SearchView+FilterModels.swift │ │ │ ├── SearchView+FiltersView.swift │ │ │ ├── SearchView+InstancePicker.swift │ │ │ ├── SearchView+LocationPicker.swift │ │ │ ├── SearchView+Logic.swift │ │ │ ├── SearchView+Views.swift │ │ │ ├── SearchView.swift │ │ │ ├── Searchable.swift │ │ │ ├── VisitHistory+CodedData.swift │ │ │ └── VisitHistory.swift │ │ ├── SelectTextView.swift │ │ ├── ShareInstancePickerView.swift │ │ ├── ShieldsBadgeView/ │ │ │ ├── ShieldsBadgeView+Logic.swift │ │ │ └── ShieldsBadgeView.swift │ │ ├── Toast/ │ │ │ ├── Toast.swift │ │ │ ├── ToastLocation.swift │ │ │ ├── ToastModel.swift │ │ │ ├── ToastOverlayView.swift │ │ │ ├── ToastType.swift │ │ │ └── ToastView.swift │ │ ├── ToolbarEllipsisMenu.swift │ │ ├── WarningOverlayView.swift │ │ ├── WarningView.swift │ │ ├── WebView.swift │ │ └── WebsitePreviewView.swift │ ├── Assets.xcassets/ │ │ ├── AppIcon.appiconset/ │ │ │ └── Contents.json │ │ ├── Contents.json │ │ ├── Default Community.imageset/ │ │ │ └── Contents.json │ │ ├── Icon Previews/ │ │ │ ├── Contents.json │ │ │ ├── icon.eric.lemmy.preview.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── icon.sjmarf.alien.preview.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── icon.sjmarf.green.preview.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── icon.sjmarf.ocean.preview.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── icon.sjmarf.orange.preview.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── icon.sjmarf.pink.preview.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── icon.sjmarf.pride.preview.imageset/ │ │ │ │ └── Contents.json │ │ │ └── icon.sjmarf.silver.preview.imageset/ │ │ │ └── Contents.json │ │ ├── Icons/ │ │ │ ├── Contents.json │ │ │ ├── icon.eric.lemmy.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── icon.sjmarf.alien.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── icon.sjmarf.green.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── icon.sjmarf.ocean.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── icon.sjmarf.orange.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── icon.sjmarf.pink.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── icon.sjmarf.pride.appiconset/ │ │ │ │ └── Contents.json │ │ │ └── icon.sjmarf.silver.appiconset/ │ │ │ └── Contents.json │ │ ├── Symbols/ │ │ │ ├── Contents.json │ │ │ ├── discord.logo.symbolset/ │ │ │ │ └── Contents.json │ │ │ ├── github.logo.symbolset/ │ │ │ │ └── Contents.json │ │ │ ├── lemmy.logo.symbolset/ │ │ │ │ └── Contents.json │ │ │ ├── mastodon.logo.symbolset/ │ │ │ │ └── Contents.json │ │ │ └── matrix.logo.symbolset/ │ │ │ └── Contents.json │ │ ├── background.earth.imageset/ │ │ │ └── Contents.json │ │ ├── background.trees.imageset/ │ │ │ └── Contents.json │ │ ├── logo.imageset/ │ │ │ └── Contents.json │ │ └── nsfw.symbolset/ │ │ └── Contents.json │ ├── Info.plist │ ├── Localizable.xcstrings │ ├── Mlem.entitlements │ ├── Mlem.xcdatamodeld/ │ │ ├── .xccurrentversion │ │ └── Mlem.xcdatamodel/ │ │ └── contents │ ├── Packages/ │ │ ├── Actions/ │ │ │ ├── Package.swift │ │ │ └── Sources/ │ │ │ └── Actions/ │ │ │ ├── Action.swift │ │ │ ├── ActionLabel.swift │ │ │ ├── ActionSeed.swift │ │ │ ├── ActionVisiblity.swift │ │ │ ├── BasicAction.swift │ │ │ ├── SimpleLabelAction.swift │ │ │ └── Views/ │ │ │ ├── ActionButtonWithVisibilityControl.swift │ │ │ ├── ActionButtons.swift │ │ │ ├── Button+Extensions.swift │ │ │ └── Label+Extensions.swift │ │ ├── ComponentViews/ │ │ │ ├── Package.swift │ │ │ └── Sources/ │ │ │ └── ComponentViews/ │ │ │ ├── ButtonStyle/ │ │ │ │ ├── CapsuleButtonStyle.swift │ │ │ │ ├── ChevronButtonStyle.swift │ │ │ │ └── EmptyButtonStyle.swift │ │ │ ├── Checkbox.swift │ │ │ ├── CloseButtonToolbarItem.swift │ │ │ ├── CloseButtonView.swift │ │ │ ├── CollapsibleSheetView.swift │ │ │ ├── FitContentPresentationDetentViewModifier.swift │ │ │ ├── FormChevron.swift │ │ │ ├── KeyboardAwarePadding.swift │ │ │ ├── Line.swift │ │ │ ├── MockTextView.swift │ │ │ ├── OptimalHeightLayout.swift │ │ │ ├── View+GlassProminentButtonStyle.swift │ │ │ └── View+VersionAwareDialog.swift │ │ ├── FediverseEvents/ │ │ │ ├── .gitignore │ │ │ ├── Package.resolved │ │ │ ├── Package.swift │ │ │ └── Sources/ │ │ │ └── FediverseEvents/ │ │ │ ├── Event.swift │ │ │ ├── EventsClient+Requests.swift │ │ │ ├── EventsClient.swift │ │ │ └── Requests/ │ │ │ └── ListEventsRequest.swift │ │ ├── Haptics/ │ │ │ ├── Package.swift │ │ │ └── Sources/ │ │ │ └── Haptics/ │ │ │ ├── Haptic.swift │ │ │ ├── HapticError.swift │ │ │ ├── HapticLevel.swift │ │ │ ├── HapticManager.swift │ │ │ ├── Resources/ │ │ │ │ ├── Failure/ │ │ │ │ │ └── Failure.ahap │ │ │ │ ├── Info/ │ │ │ │ │ ├── Firm Info.ahap │ │ │ │ │ ├── Gentle Info.ahap │ │ │ │ │ ├── Mushy Info.ahap │ │ │ │ │ └── Rigid Info.ahap │ │ │ │ └── Success/ │ │ │ │ ├── Destructive Success.ahap │ │ │ │ ├── Light Success.ahap │ │ │ │ ├── Success.ahap │ │ │ │ └── Violent Success.ahap │ │ │ └── View+Haptic.swift │ │ ├── Icons/ │ │ │ ├── Package.swift │ │ │ └── Sources/ │ │ │ └── Icons/ │ │ │ ├── Icon+Fediseer.swift │ │ │ ├── Icon+General.swift │ │ │ ├── Icon+Lemmy.swift │ │ │ ├── Icon+Markdown.swift │ │ │ ├── Icon+Settings.swift │ │ │ ├── Icon+Uptime.swift │ │ │ ├── Icon.swift │ │ │ └── ViewExtensions/ │ │ │ ├── Button+Extensions.swift │ │ │ ├── Image+Extensions.swift │ │ │ ├── Label+Extensions.swift │ │ │ ├── Menu+Extensions.swift │ │ │ ├── Picker+Extensions.swift │ │ │ ├── Toggle+Extensions.swift │ │ │ └── UIImage+Extensions.swift │ │ ├── Media/ │ │ │ ├── .gitignore │ │ │ ├── Package.resolved │ │ │ ├── Package.swift │ │ │ └── Sources/ │ │ │ └── Media/ │ │ │ └── Resources/ │ │ │ ├── Core/ │ │ │ │ ├── Animated/ │ │ │ │ │ ├── AnimatedImageView.swift │ │ │ │ │ └── VideoView.swift │ │ │ │ ├── CoreMediaView+Logic.swift │ │ │ │ ├── CoreMediaView.swift │ │ │ │ ├── MediaControlState.swift │ │ │ │ └── MediaLoader.swift │ │ │ ├── Decoders/ │ │ │ │ ├── MlemVideoDecoder.swift │ │ │ │ └── NukeWebpBridgeDecoder.swift │ │ │ └── Extensions/ │ │ │ ├── AVPlayer+Extensions.swift │ │ │ └── CGSize+Extensions.swift │ │ ├── MlemBackend/ │ │ │ ├── .gitignore │ │ │ ├── Package.resolved │ │ │ ├── Package.swift │ │ │ └── Sources/ │ │ │ └── MlemBackend/ │ │ │ ├── BackendClient+Requests.swift │ │ │ ├── BackendClient.swift │ │ │ ├── BackendClientError.swift │ │ │ ├── BackendHealthCheck.swift │ │ │ ├── InstanceSummary.swift │ │ │ ├── InstanceSummarySoftware.swift │ │ │ ├── JSONDecoder+Extensions.swift │ │ │ ├── MlemDeveloper.swift │ │ │ ├── MlemFlairs.swift │ │ │ ├── Requests/ │ │ │ │ ├── BackendGetTestflightUpdateRequest.swift │ │ │ │ ├── BackendHealthCheckRequest.swift │ │ │ │ ├── BackendListFlairsRequest.swift │ │ │ │ └── BackendListInstancesRequest.swift │ │ │ └── TestflightUpdate.swift │ │ ├── MlemLogger/ │ │ │ ├── .gitignore │ │ │ ├── Package.swift │ │ │ └── Sources/ │ │ │ └── MlemLogger/ │ │ │ └── MlemLogger.swift │ │ ├── MlemMiddleware/ │ │ │ ├── .gitignore │ │ │ ├── CODEOWNERS │ │ │ ├── LICENSE │ │ │ ├── NOTICE.md │ │ │ ├── Package.resolved │ │ │ ├── Package.swift │ │ │ ├── Sources/ │ │ │ │ └── MlemMiddleware/ │ │ │ │ ├── API Client/ │ │ │ │ │ ├── ApiClient+Caches.swift │ │ │ │ │ ├── ApiClient+Comment.swift │ │ │ │ │ ├── ApiClient+Community.swift │ │ │ │ │ ├── ApiClient+General.swift │ │ │ │ │ ├── ApiClient+Image.swift │ │ │ │ │ ├── ApiClient+Inbox.swift │ │ │ │ │ ├── ApiClient+Instance.swift │ │ │ │ │ ├── ApiClient+Mock.swift │ │ │ │ │ ├── ApiClient+Person.swift │ │ │ │ │ ├── ApiClient+Post.swift │ │ │ │ │ ├── ApiClient+RegistrationApplication.swift │ │ │ │ │ ├── ApiClient+Report.swift │ │ │ │ │ ├── ApiClient.swift │ │ │ │ │ ├── ApiClientError.swift │ │ │ │ │ ├── ApiErrorResponse.swift │ │ │ │ │ ├── ApiSession.swift │ │ │ │ │ ├── Caching/ │ │ │ │ │ │ ├── ApiTypeBackedCache.swift │ │ │ │ │ │ ├── Atomic.swift │ │ │ │ │ │ ├── Caches/ │ │ │ │ │ │ │ ├── CommentCaches.swift │ │ │ │ │ │ │ ├── CommunityCache.swift │ │ │ │ │ │ │ ├── ImageUploadCaches.swift │ │ │ │ │ │ │ ├── InstanceCache.swift │ │ │ │ │ │ │ ├── MessageCaches.swift │ │ │ │ │ │ │ ├── NotificationCaches.swift │ │ │ │ │ │ │ ├── PersonCache.swift │ │ │ │ │ │ │ ├── PersonVoteCaches.swift │ │ │ │ │ │ │ ├── PostCache.swift │ │ │ │ │ │ │ ├── RegistrationApplicationCaches.swift │ │ │ │ │ │ │ └── ReportCaches.swift │ │ │ │ │ │ ├── Conformance/ │ │ │ │ │ │ │ ├── ImageUpload+CacheExtensions.swift │ │ │ │ │ │ │ ├── InboxNotification+CacheExtensions.swift │ │ │ │ │ │ │ ├── Message+CacheExtensions.swift │ │ │ │ │ │ │ ├── RegistrationApplication+CacheExtensions.swift │ │ │ │ │ │ │ └── Report+CacheExtensions.swift │ │ │ │ │ │ └── CoreCache.swift │ │ │ │ │ └── Helpers/ │ │ │ │ │ ├── MarkReadQueue.swift │ │ │ │ │ └── SharedTaskManager.swift │ │ │ │ ├── API Repository/ │ │ │ │ │ ├── ApiRepository+Comment.swift │ │ │ │ │ ├── ApiRepository+Community.swift │ │ │ │ │ ├── ApiRepository+General.swift │ │ │ │ │ ├── ApiRepository+Image.swift │ │ │ │ │ ├── ApiRepository+Inbox.swift │ │ │ │ │ ├── ApiRepository+Instance.swift │ │ │ │ │ ├── ApiRepository+Mock.swift │ │ │ │ │ ├── ApiRepository+Person.swift │ │ │ │ │ ├── ApiRepository+Post.swift │ │ │ │ │ ├── ApiRepository+RegistrationApplication.swift │ │ │ │ │ ├── ApiRepository+Report.swift │ │ │ │ │ ├── ApiRepository.swift │ │ │ │ │ └── ConnectionMultiplexer.swift │ │ │ │ ├── Bridges/ │ │ │ │ │ ├── LemmyBlockBridge.swift │ │ │ │ │ ├── LemmyInstanceWithFederationStateBridge.swift │ │ │ │ │ ├── LemmySortTypeBridge.swift │ │ │ │ │ └── LemmyVoteShowBridge.swift │ │ │ │ ├── Constants/ │ │ │ │ │ └── MiddlewareConstants.swift │ │ │ │ ├── Content Models/ │ │ │ │ │ ├── ActiveUserCount.swift │ │ │ │ │ ├── ActorIdentifiable.swift │ │ │ │ │ ├── ActorIdentifier.swift │ │ │ │ │ ├── BlockList.swift │ │ │ │ │ ├── BlockListSnapshot.swift │ │ │ │ │ ├── CanModerateProviding.swift │ │ │ │ │ ├── Captcha.swift │ │ │ │ │ ├── CaptchaDifficulty.swift │ │ │ │ │ ├── Comment/ │ │ │ │ │ │ ├── Comment+Conformance.swift │ │ │ │ │ │ ├── Comment+Mock.swift │ │ │ │ │ │ ├── Comment.swift │ │ │ │ │ │ ├── CommentProducing.swift │ │ │ │ │ │ ├── CommentProperties.swift │ │ │ │ │ │ └── CommentStub.swift │ │ │ │ │ ├── Community/ │ │ │ │ │ │ ├── Community+Conformance.swift │ │ │ │ │ │ ├── Community+Mock.swift │ │ │ │ │ │ ├── Community.swift │ │ │ │ │ │ ├── CommunityProperties.swift │ │ │ │ │ │ └── CommunityStub.swift │ │ │ │ │ ├── CommunityOrPersonStub.swift │ │ │ │ │ ├── ContentModel.swift │ │ │ │ │ ├── ContentModelUrlType.swift │ │ │ │ │ ├── ContentType.swift │ │ │ │ │ ├── DeletableProviding.swift │ │ │ │ │ ├── Feature.swift │ │ │ │ │ ├── FederationPolicy.swift │ │ │ │ │ ├── FederationStatus.swift │ │ │ │ │ ├── GetContentFilter.swift │ │ │ │ │ ├── ImageUpload/ │ │ │ │ │ │ ├── ImageUpload1.swift │ │ │ │ │ │ └── ImageUpload1Providing.swift │ │ │ │ │ ├── InboxItemProviding.swift │ │ │ │ │ ├── Instance/ │ │ │ │ │ │ ├── Instance+Conformance.swift │ │ │ │ │ │ ├── Instance.swift │ │ │ │ │ │ ├── InstanceProperties.swift │ │ │ │ │ │ └── InstanceStub.swift │ │ │ │ │ ├── InstanceBanType.swift │ │ │ │ │ ├── InstanceUrlBlockRecord.swift │ │ │ │ │ ├── Interactable/ │ │ │ │ │ │ └── InteractableProviding.swift │ │ │ │ │ ├── Internal/ │ │ │ │ │ │ ├── LemmyURL.swift │ │ │ │ │ │ ├── ScoringOperation.swift │ │ │ │ │ │ ├── SiteSoftware/ │ │ │ │ │ │ │ ├── SiteSoftware.swift │ │ │ │ │ │ │ └── SiteSoftwareType.swift │ │ │ │ │ │ └── SiteVersion/ │ │ │ │ │ │ ├── SiteVersion+EndpointVersion.swift │ │ │ │ │ │ └── SiteVersion.swift │ │ │ │ │ ├── LemmyExtensions/ │ │ │ │ │ │ ├── BlockListSnapshot+Lemmy.swift │ │ │ │ │ │ ├── Comment1Snapshot+Lemmy.swift │ │ │ │ │ │ ├── Comment2Snapshot+Lemmy.swift │ │ │ │ │ │ ├── CommentSortType+Lemmy.swift │ │ │ │ │ │ ├── Community1Snapshot+Lemmy.swift │ │ │ │ │ │ ├── Community2Snapshot+Lemmy.swift │ │ │ │ │ │ ├── Community3Snapshot+Lemmy.swift │ │ │ │ │ │ ├── FederationMode+Lemmy.swift │ │ │ │ │ │ ├── ImageUpload1Snapshot+Lemmy.swift │ │ │ │ │ │ ├── InboxNotificationSnapshot+Lemmy.swift │ │ │ │ │ │ ├── Instance1Snapshot+Lemmy.swift │ │ │ │ │ │ ├── Instance2Snapshot+Lemmy.swift │ │ │ │ │ │ ├── Instance3Snapshot+Lemmy.swift │ │ │ │ │ │ ├── LegacySortTimeRangeLimit+Lemmy.swift │ │ │ │ │ │ ├── LemmyPersonSavedCombinedView+Extensions.swift │ │ │ │ │ │ ├── ListingType+Lemmy.swift │ │ │ │ │ │ ├── Locale.Language+Lemmy.swift │ │ │ │ │ │ ├── Message1Snapshot+Lemmy.swift │ │ │ │ │ │ ├── Message2Snapshot+Lemmy.swift │ │ │ │ │ │ ├── ModlogEntryContentSnapshot+Lemmy.swift │ │ │ │ │ │ ├── ModlogEntrySnapshot+Lemmy.swift │ │ │ │ │ │ ├── PagedResponseUnion+Extensions.swift │ │ │ │ │ │ ├── Person1Snapshot+Lemmy.swift │ │ │ │ │ │ ├── Person2Snapshot+Lemmy.swift │ │ │ │ │ │ ├── Person3Snapshot+Lemmy.swift │ │ │ │ │ │ ├── Person4Snapshot+Lemmy.swift │ │ │ │ │ │ ├── PersonVoteSnapshot+Lemmy.swift │ │ │ │ │ │ ├── PersonalUnreadCountSnapshot+Lemmy.swift │ │ │ │ │ │ ├── Post1Snapshot+Lemmy.swift │ │ │ │ │ │ ├── Post2Snapshot+Lemmy.swift │ │ │ │ │ │ ├── Post3Snapshot+Lemmy.swift │ │ │ │ │ │ ├── PostFeatureType+Lemmy.swift │ │ │ │ │ │ ├── PostSortType+Lemmy.swift │ │ │ │ │ │ ├── RegistrationApplicationSnapshot+Lemmy.swift │ │ │ │ │ │ ├── RegistrationMode+Lemmy.swift │ │ │ │ │ │ ├── ReportSnapshot+Lemmy.swift │ │ │ │ │ │ ├── ResolvedContent+Lemmy.swift │ │ │ │ │ │ ├── SearchSortType+Lemmy.swift │ │ │ │ │ │ └── SortTimeRange+Lemmy.swift │ │ │ │ │ ├── ListingType.swift │ │ │ │ │ ├── Message/ │ │ │ │ │ │ ├── Message1.swift │ │ │ │ │ │ ├── Message1Providing+Snapshots.swift │ │ │ │ │ │ ├── Message1Providing.swift │ │ │ │ │ │ ├── Message2.swift │ │ │ │ │ │ ├── Message2Providing+Snapshots.swift │ │ │ │ │ │ └── Message2Providing.swift │ │ │ │ │ ├── Modlog/ │ │ │ │ │ │ ├── ModlogEntry.swift │ │ │ │ │ │ └── ModlogEntryContent.swift │ │ │ │ │ ├── ModlogEntryType.swift │ │ │ │ │ ├── Notification/ │ │ │ │ │ │ ├── InboxNotification+Snapshots.swift │ │ │ │ │ │ ├── InboxNotification.swift │ │ │ │ │ │ └── InboxNotificationContent.swift │ │ │ │ │ ├── OwnershipProviding.swift │ │ │ │ │ ├── Person/ │ │ │ │ │ │ ├── Person+Conformance.swift │ │ │ │ │ │ ├── Person.swift │ │ │ │ │ │ ├── Person1+Mock.swift │ │ │ │ │ │ ├── PersonProperties.swift │ │ │ │ │ │ └── PersonStub.swift │ │ │ │ │ ├── PersonVote/ │ │ │ │ │ │ ├── PersonVote+CacheExtensions.swift │ │ │ │ │ │ └── PersonVote.swift │ │ │ │ │ ├── PersonalUnreadCountSnapshot.swift │ │ │ │ │ ├── PieFedExtensions/ │ │ │ │ │ │ ├── BlockListSnapshot+PieFed.swift │ │ │ │ │ │ ├── Comment1Snapshot+PieFed.swift │ │ │ │ │ │ ├── Comment2Snapshot+PieFed.swift │ │ │ │ │ │ ├── CommentSortType+PieFed.swift │ │ │ │ │ │ ├── Community1Snapshot+PieFed.swift │ │ │ │ │ │ ├── Community2Snapshot+PieFed.swift │ │ │ │ │ │ ├── Community3Snapshot+PieFed.swift │ │ │ │ │ │ ├── ImageUpload1Snapshot+PieFed.swift │ │ │ │ │ │ ├── InboxNotificationSnapshot+PieFed.swift │ │ │ │ │ │ ├── Instance1Snapshot+PieFed.swift │ │ │ │ │ │ ├── Instance2Snapshot+PieFed.swift │ │ │ │ │ │ ├── Instance3Snapshot+PieFed.swift │ │ │ │ │ │ ├── LegacySortTimeRangeLimit+PieFed.swift │ │ │ │ │ │ ├── ListingType+PieFed.swift │ │ │ │ │ │ ├── Locale.Language+PieFed.swift │ │ │ │ │ │ ├── Message1Snapshot+PieFed.swift │ │ │ │ │ │ ├── Message2Snapshot+PieFed.swift │ │ │ │ │ │ ├── Person1Snapshot+PieFed.swift │ │ │ │ │ │ ├── Person2Snapshot+PieFed.swift │ │ │ │ │ │ ├── Person3Snapshot+PieFed.swift │ │ │ │ │ │ ├── Person4Snapshot+PieFed.swift │ │ │ │ │ │ ├── PersonVoteSnapshot+PieFed.swift │ │ │ │ │ │ ├── PersonalUnreadCountSnapshot+PieFed.swift │ │ │ │ │ │ ├── Post1Snapshot+PieFed.swift │ │ │ │ │ │ ├── Post2Snapshot+PieFed.swift │ │ │ │ │ │ ├── Post3Snapshot+PieFed.swift │ │ │ │ │ │ ├── PostFeatureType+PieFed.swift │ │ │ │ │ │ ├── PostPoll+PieFed.swift │ │ │ │ │ │ ├── PostSortType+PieFed.swift │ │ │ │ │ │ ├── RegistrationMode+PieFed.swift │ │ │ │ │ │ ├── ReportSnapshot+PieFed.swift │ │ │ │ │ │ ├── ResolvedContent+PieFed.swift │ │ │ │ │ │ ├── SearchSortType+PieFed.swift │ │ │ │ │ │ └── SortTimeRange+PieFed.swift │ │ │ │ │ ├── Post/ │ │ │ │ │ │ ├── Post+Conformance.swift │ │ │ │ │ │ ├── Post+Mock.swift │ │ │ │ │ │ ├── Post.swift │ │ │ │ │ │ ├── PostPoll.swift │ │ │ │ │ │ ├── PostProperties.swift │ │ │ │ │ │ └── PostStub.swift │ │ │ │ │ ├── PostFeatureType.swift │ │ │ │ │ ├── PostFeedViewMode.swift │ │ │ │ │ ├── PostLink.swift │ │ │ │ │ ├── PostType.swift │ │ │ │ │ ├── Profile/ │ │ │ │ │ │ └── ProfileProviding.swift │ │ │ │ │ ├── PurgableProviding.swift │ │ │ │ │ ├── ReadableProviding.swift │ │ │ │ │ ├── RegistrationApplication/ │ │ │ │ │ │ └── RegistrationApplication.swift │ │ │ │ │ ├── RegistrationMode.swift │ │ │ │ │ ├── RemovableProviding.swift │ │ │ │ │ ├── Report/ │ │ │ │ │ │ ├── Report.swift │ │ │ │ │ │ └── ReportTarget.swift │ │ │ │ │ ├── ReportUnreadCountSnapshot.swift │ │ │ │ │ ├── ReportableProviding.swift │ │ │ │ │ ├── Resolvable.swift │ │ │ │ │ ├── ResolvedContent.swift │ │ │ │ │ ├── SelectableContentProviding.swift │ │ │ │ │ ├── Sharable.swift │ │ │ │ │ ├── Shared/ │ │ │ │ │ │ ├── UnifiedModelProviding.swift │ │ │ │ │ │ ├── UnifiedPropertiesProviding.swift │ │ │ │ │ │ └── ValueProviding/ │ │ │ │ │ │ ├── ExpectedValue.swift │ │ │ │ │ │ ├── RealizedValue.swift │ │ │ │ │ │ ├── SyntheticExpectedValue.swift │ │ │ │ │ │ ├── SyntheticRealizedValue.swift │ │ │ │ │ │ ├── ValueProviding.swift │ │ │ │ │ │ └── ValueSynthesizer.swift │ │ │ │ │ ├── SignUpResponse.swift │ │ │ │ │ ├── Sort Types/ │ │ │ │ │ │ ├── CommentSortType.swift │ │ │ │ │ │ ├── LegacySortTimeRange.swift │ │ │ │ │ │ ├── PostSortType.swift │ │ │ │ │ │ ├── SearchSortType.swift │ │ │ │ │ │ └── SortTimeRange.swift │ │ │ │ │ ├── StateManager.swift │ │ │ │ │ ├── SubscriptionList.swift │ │ │ │ │ ├── SubscriptionModel.swift │ │ │ │ │ ├── UnreadCount.swift │ │ │ │ │ ├── UpdateQueues/ │ │ │ │ │ │ ├── InboxNotificationUpdateQueue.swift │ │ │ │ │ │ ├── Queue.swift │ │ │ │ │ │ ├── UnifiedUpdateQueue.swift │ │ │ │ │ │ └── UpdateStatus.swift │ │ │ │ │ └── VotesModel.swift │ │ │ │ ├── Custom API Models/ │ │ │ │ │ ├── ApiPictrsFile.swift │ │ │ │ │ ├── ApiPictrsUploadResponse.swift │ │ │ │ │ ├── Extensions/ │ │ │ │ │ │ ├── APIComment+Extensions.swift │ │ │ │ │ │ ├── APIPost+Extensions.swift │ │ │ │ │ │ ├── APISubscribedType+Extensions.swift │ │ │ │ │ │ ├── ApiCommentAggregates+Extensions.swift │ │ │ │ │ │ ├── ApiCommunityAggregates+Extensions.swift │ │ │ │ │ │ ├── ApiCommunityFollowerState+Extensions.swift │ │ │ │ │ │ ├── ApiGetModlogResponse+Extensions.swift │ │ │ │ │ │ ├── ApiPersonAggregates+Extensions.swift │ │ │ │ │ │ ├── ApiPostAggregates+Extensions.swift │ │ │ │ │ │ ├── ApiPrivateMessageReportView+Extensions.swift │ │ │ │ │ │ ├── ApiSiteAggregates+Extensions.swift │ │ │ │ │ │ ├── PieFedCommentAggregates+Extensions.swift │ │ │ │ │ │ ├── PieFedPostAggregates+Extensions.swift │ │ │ │ │ │ └── PieFedSubscribedType+Extensions.swift │ │ │ │ │ └── LemmyPagedResponse.swift │ │ │ │ ├── Extensions/ │ │ │ │ │ ├── Array+Extensions.swift │ │ │ │ │ ├── Bool+Extensions.swift │ │ │ │ │ ├── InstanceSummarySoftware+Extensions.swift │ │ │ │ │ ├── RandomAccessCollection+Extensions.swift │ │ │ │ │ ├── RangeReplaceableCollection+Extensions.swift │ │ │ │ │ ├── String+Extensions.swift │ │ │ │ │ └── URL+Extensions.swift │ │ │ │ ├── FeedLoaders/ │ │ │ │ │ ├── Comment/ │ │ │ │ │ │ └── SearchCommentFeedLoader.swift │ │ │ │ │ ├── Community/ │ │ │ │ │ │ └── CommunityFeedLoader.swift │ │ │ │ │ ├── DualSourceMixed/ │ │ │ │ │ │ ├── CommentChildFeedLoader.swift │ │ │ │ │ │ ├── DualSourceMixedFeedLoader.swift │ │ │ │ │ │ └── PostChildFeedLoader.swift │ │ │ │ │ ├── Filtering/ │ │ │ │ │ │ ├── FilterContext.swift │ │ │ │ │ │ ├── FilterProviding.swift │ │ │ │ │ │ ├── Filterable.swift │ │ │ │ │ │ ├── Filters/ │ │ │ │ │ │ │ ├── CommentFilter.swift │ │ │ │ │ │ │ ├── DedupeFilter.swift │ │ │ │ │ │ │ ├── InboxDedupeFilter.swift │ │ │ │ │ │ │ ├── Post/ │ │ │ │ │ │ │ │ ├── PostKeywordFilter.swift │ │ │ │ │ │ │ │ └── PostLiteralFilter.swift │ │ │ │ │ │ │ ├── ReadFilter.swift │ │ │ │ │ │ │ └── UserContentFilter.swift │ │ │ │ │ │ ├── InboxItemFilter.swift │ │ │ │ │ │ ├── ModMailItemFilter.swift │ │ │ │ │ │ ├── ModlogItemFilter.swift │ │ │ │ │ │ ├── MultiFilter.swift │ │ │ │ │ │ └── PostFilter.swift │ │ │ │ │ ├── Generics/ │ │ │ │ │ │ ├── ChildFeedLoader.swift │ │ │ │ │ │ ├── FeedLoaderItem.swift │ │ │ │ │ │ ├── FeedLoaderSort.swift │ │ │ │ │ │ ├── FeedLoading.swift │ │ │ │ │ │ ├── FeedLoadingState.swift │ │ │ │ │ │ ├── Fetcher.swift │ │ │ │ │ │ ├── LoadingActor.swift │ │ │ │ │ │ ├── MultiFetcher.swift │ │ │ │ │ │ ├── PrefetchingFeedLoader.swift │ │ │ │ │ │ └── StandardFeedLoader.swift │ │ │ │ │ ├── Helpers/ │ │ │ │ │ │ └── Thresholds.swift │ │ │ │ │ ├── Inbox/ │ │ │ │ │ │ ├── InboxFeedLoader/ │ │ │ │ │ │ │ ├── InboxChildFeedLoader.swift │ │ │ │ │ │ │ ├── InboxFeedLoader.swift │ │ │ │ │ │ │ ├── InboxFetcher.swift │ │ │ │ │ │ │ ├── MentionChildFeedLoader.swift │ │ │ │ │ │ │ ├── MessageChildFeedLoader.swift │ │ │ │ │ │ │ ├── MessageFeedLoader.swift │ │ │ │ │ │ │ └── ReplyChildFeedLoader.swift │ │ │ │ │ │ ├── InboxFeedLoading.swift │ │ │ │ │ │ ├── InboxIdentifiable.swift │ │ │ │ │ │ └── ModMailFeedLoader/ │ │ │ │ │ │ ├── ApplicationChildFeedLoader.swift │ │ │ │ │ │ ├── CommentReportChildFeedLoader.swift │ │ │ │ │ │ ├── MessageReportChildFeedLoader.swift │ │ │ │ │ │ ├── ModMailChildFeedLoader.swift │ │ │ │ │ │ ├── ModMailFeedLoader.swift │ │ │ │ │ │ ├── ModMailFetcher.swift │ │ │ │ │ │ ├── ModMailItem.swift │ │ │ │ │ │ ├── PostReportChildFeedLoader.swift │ │ │ │ │ │ └── ReportChildFeedLoader.swift │ │ │ │ │ ├── Modlog/ │ │ │ │ │ │ ├── ModlogChildFeedLoader.swift │ │ │ │ │ │ ├── ModlogChildFetcher+SharedCache.swift │ │ │ │ │ │ ├── ModlogChildFetcher.swift │ │ │ │ │ │ └── ModlogFeedLoader.swift │ │ │ │ │ ├── Person/ │ │ │ │ │ │ └── PersonFeedLoader.swift │ │ │ │ │ ├── Post Feed Loaders/ │ │ │ │ │ │ ├── AggregatePostFeedLoader.swift │ │ │ │ │ │ ├── CommunityPostFeedLoader.swift │ │ │ │ │ │ ├── CorePostFeedLoader.swift │ │ │ │ │ │ └── SearchPostFeedLoader.swift │ │ │ │ │ ├── Prefetching/ │ │ │ │ │ │ ├── ImagePrefetchProviding.swift │ │ │ │ │ │ └── PrefetchingConfiguration.swift │ │ │ │ │ └── SingleSourceMixedFeedLoader/ │ │ │ │ │ ├── PersonContent.swift │ │ │ │ │ ├── PersonContentProviding.swift │ │ │ │ │ ├── PersonContentStream.swift │ │ │ │ │ └── SingleSourceMixedFeedLoader.swift │ │ │ │ ├── InstanceConnection/ │ │ │ │ │ ├── InstanceConnection.swift │ │ │ │ │ ├── LemmyConnection/ │ │ │ │ │ │ ├── LemmyConnection+Comment.swift │ │ │ │ │ │ ├── LemmyConnection+Community.swift │ │ │ │ │ │ ├── LemmyConnection+Context.swift │ │ │ │ │ │ ├── LemmyConnection+Feature.swift │ │ │ │ │ │ ├── LemmyConnection+General.swift │ │ │ │ │ │ ├── LemmyConnection+Image.swift │ │ │ │ │ │ ├── LemmyConnection+Inbox.swift │ │ │ │ │ │ ├── LemmyConnection+Instance.swift │ │ │ │ │ │ ├── LemmyConnection+Person.swift │ │ │ │ │ │ ├── LemmyConnection+Post.swift │ │ │ │ │ │ ├── LemmyConnection+RegistrationApplication.swift │ │ │ │ │ │ ├── LemmyConnection+Report.swift │ │ │ │ │ │ └── LemmyConnection.swift │ │ │ │ │ └── PiefedConnection/ │ │ │ │ │ ├── PieFedConnection+Comment.swift │ │ │ │ │ ├── PieFedConnection+Community.swift │ │ │ │ │ ├── PieFedConnection+Feature.swift │ │ │ │ │ ├── PieFedConnection+General.swift │ │ │ │ │ ├── PieFedConnection+Image.swift │ │ │ │ │ ├── PieFedConnection+Inbox.swift │ │ │ │ │ ├── PieFedConnection+Instance.swift │ │ │ │ │ ├── PieFedConnection+Person.swift │ │ │ │ │ ├── PieFedConnection+Post.swift │ │ │ │ │ ├── PieFedConnection+RegistrationApplication.swift │ │ │ │ │ ├── PieFedConnection+Report.swift │ │ │ │ │ ├── PieFedConnection.swift │ │ │ │ │ └── PieFedLemmyCompatible/ │ │ │ │ │ └── PieFedLemmyCompatibleSite.swift │ │ │ │ ├── Protocols/ │ │ │ │ │ ├── APIContentAggregatesProtocol.swift │ │ │ │ │ └── UpgradableProtocol.swift │ │ │ │ ├── Snapshot/ │ │ │ │ │ ├── Comment/ │ │ │ │ │ │ ├── Comment1Snapshot.swift │ │ │ │ │ │ ├── Comment2Snapshot.swift │ │ │ │ │ │ └── CommentSnapshotProviding.swift │ │ │ │ │ ├── Community/ │ │ │ │ │ │ ├── Community1Snapshot.swift │ │ │ │ │ │ ├── Community2Snapshot.swift │ │ │ │ │ │ └── Community3Snapshot.swift │ │ │ │ │ ├── ImageUpload/ │ │ │ │ │ │ └── ImageUpload1Snapshot.swift │ │ │ │ │ ├── Instance/ │ │ │ │ │ │ ├── Instance1Snapshot.swift │ │ │ │ │ │ ├── Instance2Snapshot.swift │ │ │ │ │ │ └── Instance3Snapshot.swift │ │ │ │ │ ├── Message/ │ │ │ │ │ │ ├── Message1Snapshot.swift │ │ │ │ │ │ └── Message2Snapshot.swift │ │ │ │ │ ├── ModlogEntry/ │ │ │ │ │ │ ├── ModlogEntryContentSnapshot.swift │ │ │ │ │ │ └── ModlogEntrySnapshot.swift │ │ │ │ │ ├── Notification/ │ │ │ │ │ │ └── InboxNotificationSnapshot.swift │ │ │ │ │ ├── Person/ │ │ │ │ │ │ ├── Person1Snapshot.swift │ │ │ │ │ │ ├── Person2Snapshot.swift │ │ │ │ │ │ ├── Person3Snapshot.swift │ │ │ │ │ │ └── Person4Snapshot.swift │ │ │ │ │ ├── PersonVote/ │ │ │ │ │ │ └── PersonVoteSnapshot.swift │ │ │ │ │ ├── Post/ │ │ │ │ │ │ ├── Post1Snapshot.swift │ │ │ │ │ │ ├── Post2Snapshot.swift │ │ │ │ │ │ ├── Post3Snapshot.swift │ │ │ │ │ │ └── PostSnapshotProviding.swift │ │ │ │ │ ├── ProfileDetails.swift │ │ │ │ │ ├── RegistrationApplication/ │ │ │ │ │ │ └── RegistrationApplicationSnapshot.swift │ │ │ │ │ └── Report/ │ │ │ │ │ └── ReportSnapshot.swift │ │ │ │ └── UsernameValidity.swift │ │ │ └── Tests/ │ │ │ └── MlemMiddlewareTests/ │ │ │ └── MlemMiddlewareTests.swift │ │ ├── QuickSwipes/ │ │ │ ├── .gitignore │ │ │ ├── Package.resolved │ │ │ ├── Package.swift │ │ │ └── Sources/ │ │ │ └── QuickSwipes/ │ │ │ ├── Array+Extensions.swift │ │ │ ├── EnvironmentValues+Extensions.swift │ │ │ ├── PanGesture.swift │ │ │ ├── QuickSwipeAction.swift │ │ │ ├── QuickSwipeThresholdSet.swift │ │ │ ├── QuickSwipesViewModifier.swift │ │ │ ├── SwipeConfiguration.swift │ │ │ ├── View+EdgeBorders.swift │ │ │ ├── View+Extensions.swift │ │ │ └── View+QuickSwipes.swift │ │ ├── Rest/ │ │ │ ├── .gitignore │ │ │ ├── Package.resolved │ │ │ ├── Package.swift │ │ │ └── Sources/ │ │ │ ├── Rest/ │ │ │ │ ├── ApiRequest.swift │ │ │ │ ├── ImageUploadDelegate.swift │ │ │ │ ├── JSONDecoder+Extensions.swift │ │ │ │ ├── JSONEncoder+Extensions.swift │ │ │ │ ├── MlemUrlRequest.swift │ │ │ │ ├── MultiPartForm.swift │ │ │ │ ├── RestClient.swift │ │ │ │ ├── RestError.swift │ │ │ │ └── URLRequest+Extensions.swift │ │ │ └── URLEncoder/ │ │ │ ├── InternalQueryItemEncoder.swift │ │ │ ├── RetrievalEncoder.swift │ │ │ ├── RetrievalSingleValueContainer.swift │ │ │ ├── String+Extensions.swift │ │ │ ├── ThrowingKeyedContainer.swift │ │ │ ├── ThrowingSingleValueContainer.swift │ │ │ ├── ThrowingUnkeyedContainer.swift │ │ │ ├── TopLevelKeyedContainer.swift │ │ │ ├── URLQueryItemEncoder.swift │ │ │ └── URLQueryItemEncoderSettings.swift │ │ └── Theming/ │ │ ├── Package.swift │ │ └── Sources/ │ │ └── Theming/ │ │ ├── Color+Extensions.swift │ │ ├── EnvironmentValues+Extensions.swift │ │ ├── Palette+Default.swift │ │ ├── Palette.swift │ │ ├── ThemedColor.swift │ │ └── View+Tint.swift │ ├── Preview Content/ │ │ ├── Preview Assets.xcassets/ │ │ │ ├── Contents.json │ │ │ ├── image.droplets.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── image.meguro_river.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── image.yorkshire_dales.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── pfp.balloon.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── pfp.circuit.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── pfp.firework.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── pfp.fish.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── pfp.flowers.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── pfp.goose.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── pfp.lakeside.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── pfp.news.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── pfp.person.imageset/ │ │ │ │ └── Contents.json │ │ │ └── pfp.shower.imageset/ │ │ │ └── Contents.json │ │ └── PreviewLocalizable.xcstrings │ └── Settings.bundle/ │ ├── Root.plist │ └── en.lproj/ │ └── Root.strings ├── Mlem.xcodeproj/ │ └── project.pbxproj ├── MlemTests/ │ ├── DateTests.swift │ └── MlemTests.swift ├── MlemUITests/ │ └── MlemUITests.swift ├── OpenInMlem/ │ ├── Action.js │ ├── ActionRequestHandler.swift │ ├── Info.plist │ ├── InfoPlist.xcstrings │ └── Media.xcassets/ │ ├── ActionIcon.appiconset/ │ │ └── Contents.json │ └── Contents.json ├── PrivacyInfo.xcprivacy ├── README.md └── brewfile