Full Code of glushchenko/fsnotes for AI

master 866f59188866 cached
487 files
5.7 MB
1.5M tokens
446 symbols
1 requests
Download .txt
Showing preview only (6,076K chars total). Download the full file or copy to clipboard to get everything.
Repository: glushchenko/fsnotes
Branch: master
Commit: 866f59188866
Files: 487
Total size: 5.7 MB

Directory structure:
gitextract_5ehxlhed/

├── .gitattributes
├── .github/
│   └── ISSUE_TEMPLATE/
│       └── bug_report.yml
├── .gitignore
├── .swiftlint.yml
├── .travis.yml
├── CODE_OF_CONDUCT.md
├── FSNotes/
│   ├── .bartycrouch.toml
│   ├── AboutViewController.swift
│   ├── AboutWindowController.swift
│   ├── AppDelegate+URLRoutes.swift
│   ├── AppDelegate.swift
│   ├── Base.lproj/
│   │   └── Main.storyboard
│   ├── EditorViewController+ScrollPosition.swift
│   ├── EditorViewController+Sharing.swift
│   ├── EditorViewController.swift
│   ├── Extensions/
│   │   ├── NSAppearance+.swift
│   │   ├── NSColor+.swift
│   │   ├── NSFont+.swift
│   │   ├── NSImage+.swift
│   │   ├── NSWindow+.swift
│   │   └── UserDefaultsManagement+.swift
│   ├── FSNotes (CloudKit).entitlements
│   ├── FSNotes.entitlements
│   ├── Helpers/
│   │   ├── FSNTextAttachmentCell.swift
│   │   ├── FileSystemEventManager.swift
│   │   ├── FileWatcher.swift
│   │   ├── FileWatcherEvent.swift
│   │   ├── Printer.swift
│   │   ├── PrinterLegacy.swift
│   │   ├── SandboxBookmark.swift
│   │   ├── Sidebar.swift
│   │   └── UserDataService.swift
│   ├── Images.xcassets/
│   │   ├── AppIcon.appiconset/
│   │   │   └── Contents.json
│   │   ├── Contents.json
│   │   ├── Icons/
│   │   │   ├── AppIconClassic.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── AppIconModern.imageset/
│   │   │   │   └── Contents.json
│   │   │   └── Contents.json
│   │   ├── checkbox_empty.imageset/
│   │   │   └── Contents.json
│   │   ├── checkbox_flipped.imageset/
│   │   │   └── Contents.json
│   │   ├── checkbox_new.imageset/
│   │   │   └── Contents.json
│   │   ├── code.colorset/
│   │   │   └── Contents.json
│   │   ├── colors_background/
│   │   │   ├── Contents.json
│   │   │   ├── background_tag.colorset/
│   │   │   │   └── Contents.json
│   │   │   └── background_win.colorset/
│   │   │       └── Contents.json
│   │   ├── copy.png.imageset/
│   │   │   └── Contents.json
│   │   ├── divider.colorset/
│   │   │   └── Contents.json
│   │   ├── dockIcon2.imageset/
│   │   │   └── Contents.json
│   │   ├── dockIcon4.imageset/
│   │   │   └── Contents.json
│   │   ├── friend.imageset/
│   │   │   └── Contents.json
│   │   ├── highlight.colorset/
│   │   │   └── Contents.json
│   │   ├── link.colorset/
│   │   │   └── Contents.json
│   │   ├── locked.imageset/
│   │   │   └── Contents.json
│   │   ├── mainBackground.colorset/
│   │   │   └── Contents.json
│   │   ├── mainText.colorset/
│   │   │   └── Contents.json
│   │   ├── menuBar.imageset/
│   │   │   └── Contents.json
│   │   ├── new_note_button.imageset/
│   │   │   └── Contents.json
│   │   ├── pin.imageset/
│   │   │   └── Contents.json
│   │   ├── prefsAdvanced.imageset/
│   │   │   └── Contents.json
│   │   ├── prefsEditor.imageset/
│   │   │   └── Contents.json
│   │   ├── prefsGeneral.imageset/
│   │   │   └── Contents.json
│   │   ├── prefsGit.imageset/
│   │   │   └── Contents.json
│   │   ├── prefsLayout.imageset/
│   │   │   └── Contents.json
│   │   ├── prefsWeb.imageset/
│   │   │   └── Contents.json
│   │   ├── privacy.imageset/
│   │   │   └── Contents.json
│   │   ├── quoteColor.colorset/
│   │   │   └── Contents.json
│   │   ├── reverseBackground.colorset/
│   │   │   └── Contents.json
│   │   ├── sidebar_archive.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_external.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_icloud_drive.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_inbox.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_notes.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_project.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_project_encrypted_locked.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_project_encrypted_unlocked.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_tag.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_todo.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_trash.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_untagged.imageset/
│   │   │   └── Contents.json
│   │   └── web.imageset/
│   │       └── Contents.json
│   ├── Info.plist
│   ├── LayoutManager.swift
│   ├── Localizable.xcstrings
│   ├── MainWindow.swift
│   ├── MainWindowController.swift
│   ├── Model/
│   │   ├── StorageEntity+CoreDataClass.swift
│   │   └── StorageEntity+CoreDataProperties.swift
│   ├── NSWindowController+.swift
│   ├── NoteViewController.swift
│   ├── Preferences/
│   │   ├── MasterPasswordViewController.swift
│   │   ├── PreferencesAdvancedViewController.swift
│   │   ├── PreferencesEditorViewController.swift
│   │   ├── PreferencesGeneralViewController.swift
│   │   ├── PreferencesGitViewController.swift
│   │   ├── PreferencesSecurityViewController.swift
│   │   ├── PreferencesUserInterfaceViewController.swift
│   │   ├── PreferencesWebViewController.swift
│   │   └── SettingsViewController.swift
│   ├── PrefsViewController.swift
│   ├── PrefsWindowController.swift
│   ├── ProjectSettingsViewController.swift
│   ├── SidebarScrollView.swift
│   ├── View/
│   │   ├── AboutImageView.swift
│   │   ├── ClickableTextField.swift
│   │   ├── EditTextView+Clicked.swift
│   │   ├── EditTextView+Complete.swift
│   │   ├── EditTextView+DragOperation.swift
│   │   ├── EditTextView+MoveLines.swift
│   │   ├── EditTextView+Todo.swift
│   │   ├── EditTextView.swift
│   │   ├── EditorScrollView.swift
│   │   ├── EditorSplitView.swift
│   │   ├── EditorView.swift
│   │   ├── HyperlinkTextField.swift
│   │   ├── MPreviewContainerView.swift
│   │   ├── MPreviewFindPanel.swift
│   │   ├── NameTextField.swift
│   │   ├── NoteCellView.swift
│   │   ├── NoteRowView.swift
│   │   ├── NotesCounterView.swift
│   │   ├── NotesTableView.swift
│   │   ├── OutlineHeaderView.swift
│   │   ├── PreviewTextField.swift
│   │   ├── SearchTextField.swift
│   │   ├── SidebarCellView.swift
│   │   ├── SidebarHeaderCellView.swift
│   │   ├── SidebarNotesView.swift
│   │   ├── SidebarOutlineView.swift
│   │   ├── SidebarSplitView.swift
│   │   ├── SidebarTableRowView.swift
│   │   ├── TitleBarView.swift
│   │   ├── TitleTextField.swift
│   │   └── VerticallyAlignedTextFieldCell.swift
│   ├── ViewController+Git.swift
│   ├── ViewController+Menu.swift
│   ├── ViewController+Print.swift
│   ├── ViewController+Web.swift
│   ├── ViewController.swift
│   ├── bin/
│   │   └── git
│   ├── modern.icon/
│   │   └── icon.json
│   └── mul.lproj/
│       └── Main.xcstrings
├── FSNotes Info (Notarized).plist
├── FSNotes iOS/
│   ├── .bartycrouch.toml
│   ├── AppDelegate.swift
│   ├── Assets.xcassets/
│   │   ├── Colors/
│   │   │   ├── Contents.json
│   │   │   └── fsColor.colorset/
│   │   │       └── Contents.json
│   │   ├── Contents.json
│   │   ├── Editor/
│   │   │   ├── Contents.json
│   │   │   ├── checkbox.imageset/
│   │   │   │   └── Contents.json
│   │   │   └── checkbox_empty.imageset/
│   │   │       └── Contents.json
│   │   ├── Icons/
│   │   │   ├── AppIconClassic-2025.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── AppIconModern.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── AppIconNy-2026.imageset/
│   │   │   │   └── Contents.json
│   │   │   └── Contents.json
│   │   ├── LaunchScreenImage.imageset/
│   │   │   └── Contents.json
│   │   ├── Sidebar/
│   │   │   ├── Contents.json
│   │   │   ├── sidebar_archive.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── sidebar_inbox.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── sidebar_notes.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── sidebar_project.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── sidebar_project_encrypted_locked.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── sidebar_project_encrypted_unlocked.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── sidebar_tag.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── sidebar_todo.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── sidebar_trash.imageset/
│   │   │   │   └── Contents.json
│   │   │   └── sidebar_untagged.imageset/
│   │   │       └── Contents.json
│   │   ├── Sidebar Actions/
│   │   │   ├── Contents.json
│   │   │   └── gitSettings.imageset/
│   │   │       └── Contents.json
│   │   ├── Toolbar/
│   │   │   ├── Contents.json
│   │   │   ├── codeBlockAsset.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── numbered_list.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── ordered_list.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── pictureAsset.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── quote.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── redo.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── toolbarBold.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── toolbarHeader.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── toolbarImage.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── toolbarIndentLeft.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── toolbarIndentRight.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── toolbarItalic.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── toolbarTag.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── toolbarTodo.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── toolbarWiki.imageset/
│   │   │   │   └── Contents.json
│   │   │   └── undo.imageset/
│   │   │       └── Contents.json
│   │   └── Touch Bar/
│   │       ├── Contents.json
│   │       ├── Image.imageset/
│   │       │   └── Contents.json
│   │       ├── bold.imageset/
│   │       │   └── Contents.json
│   │       ├── codeblock.imageset/
│   │       │   └── Contents.json
│   │       ├── indent.imageset/
│   │       │   └── Contents.json
│   │       ├── italic.imageset/
│   │       │   └── Contents.json
│   │       ├── tb_link.imageset/
│   │       │   └── Contents.json
│   │       ├── todo.imageset/
│   │       │   └── Contents.json
│   │       └── unindent.imageset/
│   │           └── Contents.json
│   ├── DatePickerViewController.swift
│   ├── EditorViewController+QuickLook.swift
│   ├── EditorViewController+Search.swift
│   ├── EditorViewController.swift
│   ├── Extensions/
│   │   ├── UIApplication+.swift
│   │   ├── UIBarButtonItem+.swift
│   │   ├── UIColor+.swift
│   │   ├── UIFont+.swift
│   │   ├── UIImage+.swift
│   │   ├── UITextView+.swift
│   │   └── UserDefaultsManagement+.swift
│   ├── FSNotes iOS.entitlements
│   ├── FSNotes_iOS.xcdatamodeld/
│   │   ├── .xccurrentversion
│   │   └── FSNotes_iOS.xcdatamodel/
│   │       └── contents
│   ├── Helpers/
│   │   ├── Buttons.swift
│   │   ├── CloudDriveManager.swift
│   │   ├── FolderPopoverActions.swift
│   │   ├── SandboxBookmark.swift
│   │   ├── ShortcutIdentifier.swift
│   │   ├── Sidebar.swift
│   │   ├── SingleImageTouchDownGestureRecognizer.swift
│   │   └── SingleTouchDownGestureRecognizer.swift
│   ├── Icons/
│   │   ├── classic-2025.icon/
│   │   │   └── icon.json
│   │   ├── modern.icon/
│   │   │   └── icon.json
│   │   └── ny-2026.icon/
│   │       └── icon.json
│   ├── ImagePreviewViewController.swift
│   ├── Info.plist
│   ├── InfoPlist.xcstrings
│   ├── Launch Screen.storyboard
│   ├── LaunchImage.launchimage/
│   │   └── Contents.json
│   ├── Localizable.xcstrings
│   ├── Main.storyboard
│   ├── MainNavigationController.swift
│   ├── MoveViewController.swift
│   ├── Preferences/
│   │   ├── AppIconViewController.swift
│   │   ├── CodeFontViewController.swift
│   │   ├── CodeThemeViewController.swift
│   │   ├── DefaultExtensionControllerView.swift
│   │   ├── ExternalViewController.swift
│   │   ├── FontViewController.swift
│   │   ├── GitTableViewCell.swift
│   │   ├── GitViewController.swift
│   │   ├── LanguageViewController.swift
│   │   ├── ProViewController.swift
│   │   ├── ProjectSettingsViewController.swift
│   │   ├── ProjectsViewController.swift
│   │   ├── SecurityViewController.swift
│   │   ├── SettingsEditorViewController.swift
│   │   ├── SettingsTableViewCell.swift
│   │   ├── SettingsViewController.swift
│   │   ├── SidebarViewController.swift
│   │   ├── SortByViewController.swift
│   │   └── ThanksViewController.swift
│   ├── RevisionsViewController.swift
│   ├── SceneDelegate.swift
│   ├── View/
│   │   ├── EditTextView.swift
│   │   ├── EditorSelectionRect.swift
│   │   ├── ImageScrollView.swift
│   │   ├── NoteCellView.swift
│   │   ├── NotesTableView.swift
│   │   ├── SidebarTableCellView.swift
│   │   └── SidebarTableView.swift
│   ├── ViewController+More.swift
│   ├── ViewController.swift
│   ├── fr.lproj/
│   │   └── Main.storyboard
│   ├── nl-NL.lproj/
│   │   └── Main.storyboard
│   ├── pt-PT.lproj/
│   │   └── Main.storyboard
│   ├── ru.lproj/
│   │   ├── InfoPlist.strings
│   │   ├── LaunchScreen.strings
│   │   ├── Localizable.strings
│   │   └── Main.storyboard
│   └── uk.lproj/
│       └── Main.storyboard
├── FSNotes iOS Share/
│   ├── .bartycrouch.toml
│   ├── FSNotes iOS Share.entitlements
│   ├── Info.plist
│   ├── Localizable.xcstrings
│   ├── MainInterface.storyboard
│   ├── NSMutableAttributedString+.swift
│   ├── ShareViewController.swift
│   ├── es.lproj/
│   │   └── Localizable.strings
│   ├── pt.lproj/
│   │   └── InfoPlist.strings
│   ├── ru.lproj/
│   │   ├── InfoPlist.strings
│   │   ├── Localizable.strings
│   │   └── MainInterface.strings
│   ├── uk.lproj/
│   │   ├── InfoPlist.strings
│   │   └── MainInterface.strings
│   ├── zh-Hans-CN.lproj/
│   │   ├── InfoPlist.strings
│   │   └── Localizable.strings
│   └── zh-Hans.lproj/
│       └── MainInterface.strings
├── FSNotes.xcodeproj/
│   ├── project.pbxproj
│   ├── project.xcworkspace/
│   │   ├── contents.xcworkspacedata
│   │   └── xcshareddata/
│   │       ├── IDEWorkspaceChecks.plist
│   │       ├── WorkspaceSettings.xcsettings
│   │       └── swiftpm/
│   │           └── Package.resolved
│   └── xcshareddata/
│       └── xcschemes/
│           ├── FSNotes (iCloud).xcscheme
│           ├── FSNotes iOS Share Extension.xcscheme
│           ├── FSNotes iOS.xcscheme
│           └── FSNotes.xcscheme
├── FSNotes.xcworkspace/
│   └── contents.xcworkspacedata
├── FSNotesCore/
│   ├── Business/
│   │   ├── ApiResponse.swift
│   │   ├── AppearanceType.swift
│   │   ├── AttributedBox.swift
│   │   ├── FSTag.swift
│   │   ├── ImageFormat.swift
│   │   ├── LanguageType.swift
│   │   ├── Markdown.swift
│   │   ├── Note+Preview.swift
│   │   ├── Note.swift
│   │   ├── NoteAttachment.swift
│   │   ├── NoteContainer.swift
│   │   ├── NoteType.swift
│   │   ├── PreviewState.swift
│   │   ├── ProgressState.swift
│   │   ├── Project+Date.swift
│   │   ├── Project.swift
│   │   ├── ProjectSettings.swift
│   │   ├── RuntimeError.swift
│   │   ├── SearchQuery.swift
│   │   ├── SettingsFilesNaming.swift
│   │   ├── SidebarItem.swift
│   │   ├── SidebarItemType.swift
│   │   ├── SortBy.swift
│   │   ├── SortDirection.swift
│   │   ├── Storage.swift
│   │   ├── StorageType.swift
│   │   ├── TextBundleInfo.swift
│   │   └── UndoData.swift
│   ├── CodeBlockDetector.swift
│   ├── Core macOS/
│   │   └── zh-Hans-CN.lproj/
│   │       └── InfoPlist.strings
│   ├── Extensions/
│   │   ├── Data+.swift
│   │   ├── Date+.swift
│   │   ├── DateFormatter+.swift
│   │   ├── FileManager+.swift
│   │   ├── NSAttributedString+.swift
│   │   ├── NSAttributedStringKey+.swift
│   │   ├── NSMutableAttributedString+.swift
│   │   ├── NSRange+.swift
│   │   ├── NSTextCheckingResult+.swift
│   │   ├── Pasteboard.swift
│   │   ├── Project+Git.swift
│   │   ├── Storage+Git.swift
│   │   ├── String+.swift
│   │   ├── String+Punycode.swift
│   │   ├── URL+.swift
│   │   ├── URL+Image.swift
│   │   └── UTI.swift
│   ├── FSParser.swift
│   ├── Git/
│   │   ├── authentication/
│   │   │   ├── Authentication.swift
│   │   │   ├── KeyAuthentication.swift
│   │   │   └── PasswordAuthentication.swift
│   │   ├── branch/
│   │   │   ├── Branch.swift
│   │   │   ├── Branches.swift
│   │   │   └── BranchesIterator.swift
│   │   ├── commit/
│   │   │   └── Commit.swift
│   │   ├── commons/
│   │   │   ├── Blob.swift
│   │   │   ├── ConfigManager.swift
│   │   │   ├── Error.swift
│   │   │   ├── Errors.swift
│   │   │   ├── OID.swift
│   │   │   ├── Object.swift
│   │   │   ├── Progress.swift
│   │   │   ├── Signature.swift
│   │   │   ├── StaticSshKeyDelegate.swift
│   │   │   ├── Strings.swift
│   │   │   └── Wrapper.swift
│   │   ├── diff/
│   │   │   ├── Diff.swift
│   │   │   └── DiffEntry.swift
│   │   ├── head/
│   │   │   ├── Head+Checkout.swift
│   │   │   ├── Head+Merge.swift
│   │   │   └── Head.swift
│   │   ├── index/
│   │   │   ├── Index+Commit.swift
│   │   │   ├── Index+Files.swift
│   │   │   └── Index.swift
│   │   ├── reference/
│   │   │   ├── Reference+Target.swift
│   │   │   └── Reference.swift
│   │   ├── remote/
│   │   │   ├── Remote.swift
│   │   │   └── Remotes.swift
│   │   ├── repository/
│   │   │   ├── Repository+Commit.swift
│   │   │   ├── Repository+Lookup.swift
│   │   │   ├── Repository+Open.swift
│   │   │   ├── Repository.swift
│   │   │   └── RepositoryManager.swift
│   │   ├── revision/
│   │   │   ├── FileHistoryIterator.swift
│   │   │   └── RevisionIterator.swift
│   │   ├── status/
│   │   │   ├── Status.swift
│   │   │   ├── StatusIterator.swift
│   │   │   └── Statuses.swift
│   │   ├── tag/
│   │   │   ├── Tag.swift
│   │   │   ├── TagIterator.swift
│   │   │   └── Tags.swift
│   │   └── tree/
│   │       ├── Tree.swift
│   │       └── TreeEntry.swift
│   ├── HtmlExtractor.swift
│   ├── ImagesProcessor.swift
│   ├── KeychainConfiguration.swift
│   ├── KeychainPasswordItem.swift
│   ├── MPreviewView.swift
│   ├── NSTextAttachment+.swift
│   ├── NSTextStorage++.swift
│   ├── NameHelper.swift
│   ├── Note+History.swift
│   ├── NoteCellView+.swift
│   ├── NoteMeta.swift
│   ├── NotesTextProcessor.swift
│   ├── RepositoryAction.swift
│   ├── SwiftHighlighter/
│   │   ├── Languages/
│   │   │   ├── Assembly.swift
│   │   │   ├── Bash.swift
│   │   │   ├── C.swift
│   │   │   ├── Clojure.swift
│   │   │   ├── Cpp.swift
│   │   │   ├── Csharp.swift
│   │   │   ├── Css.swift
│   │   │   ├── Dart.swift
│   │   │   ├── Erlang.swift
│   │   │   ├── Go.swift
│   │   │   ├── Groovy.swift
│   │   │   ├── Haskell.swift
│   │   │   ├── Html.swift
│   │   │   ├── Java.swift
│   │   │   ├── JavaScript.swift
│   │   │   ├── Kotlin.swift
│   │   │   ├── Lisp.swift
│   │   │   ├── Lua.swift
│   │   │   ├── Matlab.swift
│   │   │   ├── Mermaid.swift
│   │   │   ├── ObjectiveC.swift
│   │   │   ├── Perl.swift
│   │   │   ├── Php.swift
│   │   │   ├── Python.swift
│   │   │   ├── R.swift
│   │   │   ├── Ruby.swift
│   │   │   ├── Rust.swift
│   │   │   ├── Scala.swift
│   │   │   ├── Scratch.swift
│   │   │   ├── Shell.swift
│   │   │   ├── Sql.swift
│   │   │   ├── Swift.swift
│   │   │   ├── TypeScript.swift
│   │   │   └── Vb.swift
│   │   ├── Platform.swift
│   │   ├── SwiftHighlighter.swift
│   │   ├── Theme.swift
│   │   └── Themes/
│   │       ├── AtomOneDark.swift
│   │       ├── AtomOneLight.swift
│   │       ├── GitHubDark.swift
│   │       ├── GitHubLight.swift
│   │       ├── SolarizedDark.swift
│   │       └── SolarizedLight.swift
│   ├── TextFormatter.swift
│   ├── TextStorageProcessor.swift
│   ├── UserDefaultsManagement.swift
│   └── ViewController+WebApi.swift
├── LICENSE
├── Logo/
│   └── License
├── Podfile
├── README.md
├── README_zh_CN.md
├── README_zh_TW.md
└── Resources/
    ├── Icons/
    │   ├── EncryptedTextPack.icns
    │   ├── Markdown.icns
    │   ├── Text.icns
    │   └── TextBundle.icns
    ├── Initial/
    │   ├── FSNotes - Readme.md
    │   ├── FSNotes 4.0 Change Log.textbundle/
    │   │   ├── info.json
    │   │   └── text.markdown
    │   ├── FSNotes 4.0 for iOS.textbundle/
    │   │   ├── info.json
    │   │   └── text.markdown
    │   ├── FSNotes 5.0 Change Log.textbundle/
    │   │   ├── info.json
    │   │   └── text.md
    │   ├── Meet FSNotes 6.textbundle/
    │   │   ├── info.json
    │   │   └── text.markdown
    │   └── Meet FSNotes 7.textbundle/
    │       ├── info.json
    │       └── text.markdown
    ├── MPreview.bundle/
    │   ├── index.html
    │   ├── js/
    │   │   └── tex-mml-chtml.js
    │   └── main.css
    └── Welcome.bundle/
        ├── 1. Introduction.textbundle/
        │   ├── info.json
        │   └── text.markdown
        ├── 2. Links.textbundle/
        │   ├── info.json
        │   └── text.markdown
        ├── 3. Shortcuts.textbundle/
        │   ├── info.json
        │   └── text.markdown
        ├── 4. Sidebar.textbundle/
        │   ├── info.json
        │   └── text.markdown
        ├── 5. Tags and subtags.textbundle/
        │   ├── info.json
        │   └── text.markdown
        ├── 6. Mermaid and MathJax.textbundle/
        │   ├── info.json
        │   └── text.markdown
        ├── 7. Git powered versioning.textbundle/
        │   ├── info.json
        │   └── text.markdown
        ├── 8. Containers.textbundle/
        │   ├── info.json
        │   └── text.markdown
        └── 9. GFM Markdown.textbundle/
            ├── info.json
            └── text.markdown

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitattributes
================================================
*.pbxproj merge=union



================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.yml
================================================
name: Bug report
description: Create a report to help us improve
labels: 'bug'

body:
  - type: textarea
    attributes:
      label: Description
      description: >-
        A clear and concise description of what the bug is.
    validations:
      required: true
      
  - type: textarea
    attributes:
      label: To Reproduce
      description: >-
        Steps to reproduce the behavior.
      value: |
        1. Go to '...'
        2. Click on '....'
        3. Scroll down to '....'
        4. See error
    validations:
      required: true

  - type: textarea
    attributes:
      label: Expected behavior
      description: >-
        A clear and concise description of what you expected to happen.

  - type: input
    attributes:
      label: FSNotes version
    validations:
      required: true
  - type: input
    attributes:
      label: macOS/iOS version
    validations:
      required: true
      
  - type: textarea
    attributes:
      label: Additional context
      description: >-
        Add any other context about the problem here.


================================================
FILE: .gitignore
================================================
Pods
*.xcuserstate
xcuserdata
Podfile.lock
FSNotes.xcworkspace/xcshareddata/*
FSNotes.xcworkspace/xcuserdata/*
FSNotes.xcodeproj/xcuserdata/*


================================================
FILE: .swiftlint.yml
================================================
included: # paths to include during linting. `--path` is ignored if present.
  - FSNotesCore
excluded: # paths to ignore during linting. Takes precedence over `included`.
  - Pods

line_length:
  warning: 220

disabled_rules: 
  - implicit_getter
  - identifier_name

cyclomatic_complexity: 20
function_body_length: 100
file_length: 1000


================================================
FILE: .travis.yml
================================================
language: swift
os: osx
osx_image: xcode11.5
xcode_workspace: FSNotes.xcworkspace

before_install:
    - pod install --repo-update

env:
    - SCHEME=FSNotes SDK=macosx
    - SCHEME="FSNotes iOS" SDK=iphonesimulator

script: xcodebuild -workspace FSNotes.xcworkspace -scheme "$SCHEME" build -sdk $SDK ONLY_ACTIVE_ARCH=NO -UseModernBuildSystem=NO -quiet

branches:
    only: [master]


================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
 advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
 address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
 professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at fluder (at) icloud (dot) com. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq


================================================
FILE: FSNotes/.bartycrouch.toml
================================================
[update]
tasks = ["interfaces", "code", "transform", "normalize"]

[update.interfaces]
paths = ["."]
defaultToBase = true
ignoreEmptyStrings = false
unstripped = false

[update.code]
codePaths = ["."]
localizablePaths = ["."]
defaultToKeys = true
additive = true
unstripped = false
plistArguments = true

[update.transform]
codePaths = ["."]
localizablePaths = ["."]
transformer = "foundation"
supportedLanguageEnumPath = "."
typeName = "BartyCrouch"
translateMethodName = "translate"

[update.normalize]
paths = ["."]
sourceLocale = "en"
harmonizeWithSource = true
sortByKeys = true

[lint]
paths = ["."]
duplicateKeys = false
emptyValues = true


================================================
FILE: FSNotes/AboutViewController.swift
================================================
//
//  AboutViewController.swift
//  FSNotes
//
//  Created by Олександр Глущенко on 5/10/19.
//  Copyright © 2019 Oleksandr Glushchenko. All rights reserved.
//

import Cocoa

class AboutViewController: NSViewController, NSTableViewDataSource, NSTableViewDelegate {
    
    @IBOutlet weak var translatorsList: NSTableView!
    
    private var languages = [
        "Deutsch 🇩🇪",
        "Ukrainian🇺🇦",
        "Spanish 🇪🇸",
        "Arabic 🇮🇶",
        "Chinese 🇨🇳",
        "Korean 🇰🇷",
        "French 🇫🇷",
        "Dutch 🇳🇱",
        "Portuguese 🇵🇹",
        "Italian 🇮🇹",
        "Hebrew 🇮🇱",
        "Chinese 🇨🇳",
        "Portuguese 🇵🇹",
        "Czech 🇨🇿",
        "Hindi 🇮🇳",
        "Turkish 🇹🇷",
        "Chinese 🇹🇼🇭🇰🇲🇴"
    ]
    
    private var authors = [
        "Michael Barzmann",
        "Olena Hlushchenko ♥️",
        "aonez (aone@keka.io)",
        "Ayad (@ayad0net)",
        "Pertim (macwk.com@gmail.com)",
        "Wonsup Yoon (pusnow@kaist.ac.kr)",
        "Simon Jornet (github.com/jornetsimon)",
        "Chris Hendriks (github.com/olikilo)",
        "reddit.com/user/endallbeallknowitall",
        "Leonardo Bartoletti - leodmc88@gmail.com",
        "Will Pazner (github.com/pazner)",
        "Holton Jiang (github.com/holton-jiang)",
        "Vanessa C. (github.com/VChristinne)",
        "Max Akrman (github.com/isametry)",
        "Aagman (stscpns@gmail.com)",
        "Bünyamin Erol (bunyaminerol.com.tr)",
        "Wen Xiang (imwwx@icloud.com)"
    ]
    
    override func viewDidLoad() {
        if let dictionary = Bundle.main.infoDictionary,
            let ver = dictionary["CFBundleShortVersionString"] as? String,
            let build = dictionary["CFBundleVersion"] as? String {
            versionLabel.stringValue = "Version \(ver) (\(build))"
            versionLabel.isSelectable = true
        }
        
        translatorsList.delegate = self
        translatorsList.dataSource = self
    }

    @IBOutlet weak var versionLabel: NSTextField!
    
    @IBAction func openContributorsPage(_ sender: Any) {
        let url = URL(string: "https://github.com/glushchenko/fsnotes/graphs/contributors")!
        NSWorkspace.shared.open(url)
    }
    
    func numberOfRows(in tableView: NSTableView) -> Int {
        return languages.count
    }
        
    func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
        let result  = tableView.makeView(withIdentifier: (tableColumn?.identifier)!, owner: self) as! NSTableCellView
        if  tableColumn?.identifier.rawValue == "table.about.0" {
            result.textField?.stringValue = languages[row]
        } else {
            result.textField?.stringValue = authors[row]
        }
        return result
    }
}


================================================
FILE: FSNotes/AboutWindowController.swift
================================================
//
//  AboutWindowController.swift
//  FSNotes
//
//  Created by Олександр Глущенко on 5/10/19.
//  Copyright © 2019 Oleksandr Glushchenko. All rights reserved.
//

import Cocoa

class AboutWindowController: NSWindowController, NSWindowDelegate {

    override func windowDidLoad() {
        super.windowDidLoad()
        self.window?.delegate = self
        self.window?.title = "About"
    }
}


================================================
FILE: FSNotes/AppDelegate+URLRoutes.swift
================================================
//
//  AppDelegate+URLRoutes.swift
//  FSNotes
//
//  Created by Jeff Hanbury on 13/04/18.
//  Copyright © 2018 Oleksandr Glushchenko. All rights reserved.
//

import Foundation
import Cocoa


extension AppDelegate {
    
    enum HandledSchemes: String {
        case fsnotes = "fsnotes"
        case nv = "nv"
        case nvALT = "nvalt"
        case file = "file"
    }
    
    enum FSNotesRoutes: String {
        case find = "find"
        case new = "new"
        case open = "open"
    }
    
    enum NvALTRoutes: String {
        case find = "find"
        case blank = ""
        case make = "make"
    }
    
    func application(_ application: NSApplication, open urls: [URL]) {
        guard var url = urls.first,
            let scheme = url.scheme
            else { return }

        let path = url.absoluteString.escapePlus()
        if let escaped = URL(string: path) {
            url = escaped
        }

        switch scheme {
        case HandledSchemes.file.rawValue:
            if nil != ViewController.shared() {
                self.importNotes(urls: urls)
            } else {
                self.urls = urls
            }
        case HandledSchemes.fsnotes.rawValue:
            FSNotesRouter(url)
        case HandledSchemes.nv.rawValue,
             HandledSchemes.nvALT.rawValue:
            NvALTRouter(url)
        default:
            break
        }
    }

    func importNotes(urls: [URL]) {
        guard let vc = ViewController.shared() else { return }

        var importedNote: Note? = nil
        var sidebarIndex: Int? = nil

        for url in urls {
            if let items = vc.sidebarOutlineView.sidebarItems, let note = Storage.shared().getBy(url: url) {
                if let sidebarItem = items.first(where: { ($0 as? SidebarItem)?.project == note.project || $0 as? Project == note.project }) {
                    sidebarIndex = vc.sidebarOutlineView.row(forItem: sidebarItem)
                    importedNote = note
                }
            } else if let project = Storage.shared().getDefault() {
                let newUrl = vc.copy(project: project, url: url)

                UserDataService.instance.focusOnImport = newUrl
                UserDataService.instance.skipSidebarSelection = true
            }
        }

        if let note = importedNote, let si = sidebarIndex {
            vc.sidebarOutlineView.selectRowIndexes([si], byExtendingSelection: false)

            DispatchQueue.main.asyncAfter(deadline: .now() + 0.35, execute: {
                vc.notesTableView.setSelected(note: note)
            })
        }
    }
    
    // MARK: - FSNotes routes
    
    func FSNotesRouter(_ url: URL) {
        guard let directive = url.host else { return }
        
        switch directive {
        case FSNotesRoutes.find.rawValue:
            RouteFSNotesFind(url)
        case FSNotesRoutes.new.rawValue:
            RouteFSNotesNew(url)
        case FSNotesRoutes.open.rawValue:
            RouteFSNotesOpen(url)
        default:
            break
        }
    }
    
    /// Handles URLs with the tag fsnotes://open/?tag=test
    /// Handles URLs with the tag fsnotes://open/?title=Open+Or+Create+If+Not+Exist
    ///
    func RouteFSNotesOpen(_ url: URL) {
        guard let vc = ViewController.shared() else { return }
        
        if let tag = url["tag"]?.removingPercentEncoding {
            vc.sidebarOutlineView.select(tag: tag)
            return
        }
        
        if let title = url["title"]?.removingPercentEncoding {
            if let note = Storage.shared().getBy(titleOrName: title) {
                if let txt = url["txt"] {
                    
                    // Append txt
                    note.append(string: NSMutableAttributedString(string: txt + "\n\n"))
                    _ = note.save()
                    
                    // Set last range
                    note.setSelectedRange(range: NSRange(location: note.content.length, length: 0))
                }
                
                // Reset UI and focus
                vc.cleanSearchAndEditArea(shouldBecomeFirstResponder: false, completion: { () -> Void in
                    vc.notesTableView.selectRowAndSidebarItem(note: note)
                    
                    NSApp.mainWindow?.makeFirstResponder(vc.editor)
                    vc.notesTableView.saveNavigationHistory(note: note)
                })
                
            // Create NEW
            } else {
                RouteFSNotesNew(url)
            }
        }
    }
    
    /// Handles URLs with the path /find/searchstring1%20searchstring2
    func RouteFSNotesFind(_ url: URL) {
        guard ViewController.shared() != nil else {
            self.url = url
            return
        }

        search(url: url)
    }

    public func search(url: URL) {
        guard let vc = ViewController.shared() else { return }

        var lastPath = url.lastPathComponent

        if let wikiURL = url["id"] {
            if let note = Storage.shared().getBy(titleOrName: wikiURL) {
                vc.cleanSearchAndEditArea(shouldBecomeFirstResponder: false, completion: { () -> Void in
                    vc.notesTableView.selectRowAndSidebarItem(note: note)
                    NSApp.mainWindow?.makeFirstResponder(vc.editor)
                    vc.notesTableView.saveNavigationHistory(note: note)
                })
                return
            } else {
                lastPath = wikiURL
                vc.search.window?.makeFirstResponder(vc.search)
            }
        }

        search(query: lastPath)
    }

    func search(query: String) {
        guard let controller = ViewController.shared() else { return }

        let searchQuery = SearchQuery()
        searchQuery.type = .All
        searchQuery.setFilter(query)

        controller.storage.setSearchQuery(value: searchQuery)
        controller.updateTable() {
            DispatchQueue.main.async {
                controller.search.stringValue = query

                if let note = controller.notesTableView.getNoteList().first {
                    if note.title.lowercased() == query.lowercased() {
                        controller.notesTableView.saveNavigationHistory(note: note)
                        controller.notesTableView.setSelected(note: note)
                        controller.view.window?.makeFirstResponder(controller.editor)
                    } else {
                        controller.search.suggestAutocomplete(note, filter: query)
                    }
                }
            }
        }
    }
    
    /// Handles URLs with the following paths:
    ///   - fsnotes://make/?title=URI-escaped-title&html=URI-escaped-HTML-data
    ///   - fsnotes://make/?title=URI-escaped-title&txt=URI-escaped-plain-text
    ///   - fsnotes://make/?txt=URI-escaped-plain-text
    ///
    /// The three possible parameters (title, txt, html) are all optional.
    ///
    func RouteFSNotesNew(_ url: URL) {
        let newWindow = url["open"] != nil
        let folderName = url["folder"]
                
        var title = ""
        var body = ""
        
        if let titleParam = url["title"] {
            title = titleParam
        }
        
        if let txtParam = url["txt"] {
            body = txtParam
        } else if let htmlParam = url["html"] {
            body = htmlParam
        }
        
        guard let vc = ViewController.shared() else {
            self.newName = title
            self.newContent = body
            self.newWindow = newWindow
            self.folderName = folderName
            return
        }
        
        guard let note = vc.createNote(name: title, content: body, folderName: folderName, openInNewWindow: newWindow),
              newWindow else { return }
        
        vc.openInNewWindow(note: note)
    }

    // MARK: - nvALT routes, for compatibility
    
    func NvALTRouter(_ url: URL) {
        guard let directive = url.host else { return }
        
        switch directive {
        case NvALTRoutes.find.rawValue:
            RouteNvAltFind(url)
        case NvALTRoutes.make.rawValue:
            RouteNvAltMake(url)
        default:
            RouteNvAltBlank(url)
            break
        }
    }
    
    /// Handle URLs in the format nv://find/searchstring1%20searchstring2
    ///
    /// Note: this route is identical to the corresponding FSNotes route.
    ///
    func RouteNvAltFind(_ url: URL) {
        RouteFSNotesFind(url)
    }
    
    /// Handle URLs in the format nv://note%20title
    ///
    /// Note: this route is an alias to the /find route above.
    ///
    func RouteNvAltBlank(_ url: URL) {
        let pathWithFind = url.absoluteString.replacingOccurrences(of: "://", with: "://find/")
        guard let newURL = URL(string: pathWithFind) else { return }
        
        RouteFSNotesFind(newURL)
    }
    
    /// Handle URLs in the format:
    ///
    ///   - nv://make/?title=URI-escaped-title&html=URI-escaped-HTML-data&tags=URI-escaped-tag-string
    ///   - nv://make/?title=URI-escaped-title&txt=URI-escaped-plain-text
    ///   - nv://make/?txt=URI-escaped-plain-text
    ///
    /// The four possible parameters (title, txt, html and tags) are all optional.
    ///
    func RouteNvAltMake(_ url: URL) {
        let newWindow = url["open"] != nil
        
        var title = ""
        var body = ""
        
        if let titleParam = url["title"] {
            title = titleParam
        }
        
        if let txtParam = url["txt"] {
            body = txtParam
        }
        else if let htmlParam = url["html"] {
            body = htmlParam
        }
        
        if let tagsParam = url["tags"] {
            body = body.appending("\n\nnvALT tags: \(tagsParam)")
        }
        
        guard let vc = ViewController.shared() else {
            self.newName = title
            self.newContent = body
            self.newWindow = newWindow
            return
        }
        
        guard let note = vc.createNote(name: title, content: body, openInNewWindow: newWindow),
              newWindow else { return }
        
        vc.openInNewWindow(note: note)
    }
}


================================================
FILE: FSNotes/AppDelegate.swift
================================================
//
//  AppDelegate.swift
//  FSNotes
//
//  Created by Oleksandr Glushchenko on 7/20/17.
//  Copyright © 2017 Oleksandr Glushchenko. All rights reserved.
//

import Cocoa
import UserNotifications

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate, NSMenuDelegate {
    var prefsWindowController: PrefsWindowController?
    var aboutWindowController: AboutWindowController?
    var statusItem: NSStatusItem?

    public var urls: [URL]? = nil
    public var url: URL? = nil
    public var newName: String? = nil
    public var newContent: String? = nil
    public var folderName: String? = nil
    public var newWindow: Bool = false

    public static var mainWindowController: MainWindowController?
    public static var noteWindows = [NSWindowController]()
    
    public static var appTitle: String {
        let name = Bundle.main.object(forInfoDictionaryKey: "CFBundleDisplayName") as? String
        return name ?? Bundle.main.object(forInfoDictionaryKey: kCFBundleNameKey as String) as! String
    }
    
    public static var gitProgress: GitProgress?

    func applicationWillFinishLaunching(_ notification: Notification) {
        checkStorageChanges()
        loadDockIcon()
        
        if UserDefaultsManagement.showInMenuBar {
            constructMenu()
        }
        
        if !UserDefaultsManagement.showDockIcon {
            let transformState = ProcessApplicationTransformState(kProcessTransformToUIElementApplication)
            var psn = ProcessSerialNumber(highLongOfPSN: 0, lowLongOfPSN: UInt32(kCurrentProcess))
            TransformProcessType(&psn, transformState)

            NSApp.setActivationPolicy(.accessory)
        }
    }

    func applicationDidFinishLaunching(_ aNotification: Notification) {
        // Ensure the font panel is closed when the app starts, in case it was
        // left open when the app quit.
        NSFontManager.shared.fontPanel(false)?.orderOut(self)

        applyAppearance()

        #if CLOUD_RELATED_BLOCK
        if let iCloudDocumentsURL = FileManager.default.url(forUbiquityContainerIdentifier: nil)?.appendingPathComponent("Documents").standardized {
            
            if (!FileManager.default.fileExists(atPath: iCloudDocumentsURL.path, isDirectory: nil)) {
                do {
                    try FileManager.default.createDirectory(at: iCloudDocumentsURL, withIntermediateDirectories: true, attributes: nil)
                } catch {
                    print("Home directory creation: \(error)")
                }
            }
        }
        #endif

        if UserDefaultsManagement.storagePath == nil {
            self.requestStorageDirectory()
            return
        }

        let storyboard = NSStoryboard(name: "Main", bundle: nil)
        
        guard let mainWC = storyboard.instantiateController(withIdentifier: "MainWindowController") as? MainWindowController else {
            fatalError("Error getting main window controller")
        }
        
        AppDelegate.mainWindowController = mainWC
        mainWC.window?.makeKeyAndOrderFront(nil)
    }
        
    func applicationShouldHandleReopen(_ sender: NSApplication, hasVisibleWindows flag: Bool) -> Bool {
        if (!flag) {
            AppDelegate.mainWindowController?.makeNew()
        }
                
        return true
    }

    func applicationWillTerminate(_ notification: Notification) {
        UserDefaultsManagement.crashedLastTime = false
        
        AppDelegate.saveWindowsState()
        
        Storage.shared().saveUploadPaths()
        
        let webkitPreview = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("wkPreview")
        try? FileManager.default.removeItem(at: webkitPreview)

        let printDir = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("Print")
        try? FileManager.default.removeItem(at: printDir)

        let encryption = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("Encryption")
        try? FileManager.default.removeItem(at: encryption)

        var temporary = URL(fileURLWithPath: NSTemporaryDirectory())
        temporary.appendPathComponent("ThumbnailsBig")
        try? FileManager.default.removeItem(at: temporary)

        let storyboard = NSStoryboard(name: "Main", bundle: nil)
        guard let mainWC = storyboard.instantiateController(withIdentifier: "MainWindowController") as? MainWindowController else {
            return
        }

        if let x = mainWC.window?.frame.origin.x, let y = mainWC.window?.frame.origin.y {
            UserDefaultsManagement.lastScreenX = Int(x)
            UserDefaultsManagement.lastScreenY = Int(y)
        }
        
        Storage.shared().saveProjectsCache()
        
        print("Termination end, crash status: \(UserDefaultsManagement.crashedLastTime)")
    }
    
    private static func saveWindowsState() {
        var result = [[String: Any]]()
                
        let noteWindows = self.noteWindows.sorted(by: { $0.window!.orderedIndex > $1.window!.orderedIndex })
        for windowController in noteWindows {
            if let frame = windowController.window?.frame,
               let data = try? NSKeyedArchiver.archivedData(withRootObject: frame, requiringSecureCoding: true),
               let controller = windowController.contentViewController as? NoteViewController,
                   let note = controller.editor.note {


                let key = windowController.window?.isKeyWindow == true

                result.append(["frame": data, "preview": controller.editor.isPreviewEnabled(), "url": note.url, "main": false, "key": key])
            }
        }
        
        // Main frame
        if let vc = ViewController.shared(), let note = vc.editor?.note, let mainFrame = vc.view.window?.frame,
           let data = try? NSKeyedArchiver.archivedData(withRootObject: mainFrame, requiringSecureCoding: true) {

            let key = vc.view.window?.isKeyWindow == true
            
            result.append(["frame": data, "preview": vc.editor.isPreviewEnabled(), "url": note.url, "main": true, "key": key])
        }
    
        let projectsData = try? NSKeyedArchiver.archivedData(withRootObject: result, requiringSecureCoding: true)
        if let documentDir = FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask).first {
            try? projectsData?.write(to: documentDir.appendingPathComponent("editors.settings"))
        }
    }
    
    private func applyAppearance() {
        if UserDefaultsManagement.appearanceType == .Dark {
            NSApp.appearance = NSAppearance.init(named: NSAppearance.Name.darkAqua)
            UserDataService.instance.isDark = true
        }

        if UserDefaultsManagement.appearanceType == .Light {
            NSApp.appearance = NSAppearance.init(named: NSAppearance.Name.aqua)
            UserDataService.instance.isDark = false
        }

        if UserDefaultsManagement.appearanceType == .System, NSAppearance.current.isDark {
            UserDataService.instance.isDark = true
        }
    }
    
    private func restartApp() {
        guard let resourcePath = Bundle.main.resourcePath else { return }
        
        let url = URL(fileURLWithPath: resourcePath)
        let path = url.deletingLastPathComponent().deletingLastPathComponent().absoluteString
        let task = Process()
        
        task.launchPath = "/usr/bin/open"
        task.arguments = [path]
        task.launch()
        
        exit(0)
    }
    
    private func requestStorageDirectory() {
        var directoryURL: URL? = nil
        if let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first {
            directoryURL = URL(fileURLWithPath: path)
        }
        
        let panel = NSOpenPanel()
        panel.directoryURL = directoryURL
        panel.allowsMultipleSelection = false
        panel.canChooseDirectories = true
        panel.canChooseFiles = false
        panel.canCreateDirectories = true
        panel.message = "Please select default storage directory"
        panel.begin { (result) -> Void in
            if result == .OK {
                guard let url = panel.url else {
                    return
                }
                
                let bookmarks = SandboxBookmark.sharedInstance()
                bookmarks.save(url: url)

                UserDefaultsManagement.storageType = .custom
                UserDefaultsManagement.customStoragePath = url.path
                
                self.restartApp()
            } else {
                exit(EXIT_SUCCESS)
            }
        }
    }
    
    func constructMenu() {
        statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.squareLength)

        if let button = statusItem?.button, let image = NSImage(named: "menuBar") {
            image.size.width = 20
            image.size.height = 20
            button.image = image
        }

        statusItem?.button?.action = #selector(AppDelegate.clickStatusBarItem(sender:))
        statusItem?.button?.sendAction(on: [.leftMouseUp, .rightMouseUp])
    }

    public func attachMenu() {
        let menu = NSMenu()
        menu.addItem(NSMenuItem(title: NSLocalizedString("New Note", comment: ""), action: #selector(AppDelegate.new(_:)), keyEquivalent: "n"))

        let newWindow = NSMenuItem(title: NSLocalizedString("New Note in New Window", comment: ""), action: #selector(AppDelegate.createInNewWindow(_:)), keyEquivalent: "n")
        var modifier = NSEvent.modifierFlags
        modifier.insert(.command)
        modifier.insert(.shift)
        newWindow.keyEquivalentModifierMask = modifier
        menu.addItem(newWindow)

        menu.addItem(NSMenuItem.separator())
        menu.addItem(NSMenuItem(title: NSLocalizedString("Search and create", comment: ""), action: #selector(AppDelegate.searchAndCreate(_:)), keyEquivalent: "l"))
        menu.addItem(NSMenuItem(title: NSLocalizedString("Settings", comment: ""), action: #selector(AppDelegate.openPreferences(_:)), keyEquivalent: ","))

        let lock = NSMenuItem(title: NSLocalizedString("Lock All Encrypted", comment: ""), action: #selector(ViewController.shared()?.lockAll(_:)), keyEquivalent: "l")
        lock.keyEquivalentModifierMask = [.command, .shift]
        menu.addItem(lock)

        menu.addItem(NSMenuItem.separator())
        menu.addItem(NSMenuItem(title: NSLocalizedString("Quit FSNotes", comment: ""), action: #selector(NSApplication.terminate(_:)), keyEquivalent: "q"))

        menu.delegate = self
        statusItem?.menu = menu
    }

    @objc func clickStatusBarItem(sender: NSStatusItem) {
        let event = NSApp.currentEvent!

        if event.type == NSEvent.EventType.leftMouseUp {
            
            // Hide active not hidden and not miniaturized
            if !NSApp.isHidden && NSApp.isActive {
                if let mainWindow = AppDelegate.mainWindowController?.window, !mainWindow.isMiniaturized {
                    NSApp.hide(nil)
                    return
                }
            }
            
            NSApp.unhide(nil)
            NSApp.activate(ignoringOtherApps: true)
            
            AppDelegate.mainWindowController?.window?.makeKeyAndOrderFront(nil)
            ViewController.shared()?.search.becomeFirstResponder()
            
            return
        }

        attachMenu()

        DispatchQueue.main.async {
            if let statusItem = self.statusItem, let button = statusItem.button {
                statusItem.menu?.popUp(positioning: nil, at: NSPoint(x: button.frame.origin.x, y: button.frame.height + 10), in: button)
            }
        }
    }

    func menuDidClose(_ menu: NSMenu) {
        statusItem?.menu = nil
    }
    
    // MARK: IBActions
    
    @IBAction func openMainWindow(_ sender: Any) {
        AppDelegate.mainWindowController?.makeNew()
    }
    
    @IBAction func openHelp(_ sender: Any) {
        NSWorkspace.shared.open(URL(string: "https://github.com/glushchenko/fsnotes/wiki")!)
    }

    @IBAction func openReportsAndRequests(_ sender: Any) {
        NSWorkspace.shared.open(URL(string: "https://github.com/glushchenko/fsnotes/issues/new/choose")!)
    }

    @IBAction func openSite(_ sender: Any) {
        NSWorkspace.shared.open(URL(string: "https://fsnot.es")!)
    }
    
    @IBAction func openPreferences(_ sender: Any?) {
        if prefsWindowController == nil {
            let storyboard = NSStoryboard(name: "Main", bundle: nil)
            
            prefsWindowController = storyboard.instantiateController(withIdentifier: "Preferences") as? PrefsWindowController
        }
        
        guard let prefsWindowController = prefsWindowController else { return }
        
        prefsWindowController.showWindow(nil)
        prefsWindowController.window?.makeKeyAndOrderFront(prefsWindowController)
        
        NSApp.activate(ignoringOtherApps: true)
    }
    
    @IBAction func new(_ sender: Any?) {
        AppDelegate.mainWindowController?.makeNew()
        NSApp.activate(ignoringOtherApps: true)
        ViewController.shared()?.fileMenuNewNote(self)
    }
    
    @IBAction func createInNewWindow(_ sender: Any?) {
        AppDelegate.mainWindowController?.makeNew()
        NSApp.activate(ignoringOtherApps: true)
        ViewController.shared()?.createInNewWindow(self)
    }
    
    @IBAction func searchAndCreate(_ sender: Any?) {
        AppDelegate.mainWindowController?.makeNew()
        NSApp.activate(ignoringOtherApps: true)
        
        guard let vc = ViewController.shared() else { return }
        
        DispatchQueue.main.async {
            vc.search.window?.makeFirstResponder(vc.search)
        }
    }
    
    @IBAction func removeMenuBar(_ sender: Any?) {
        guard let statusItem = statusItem else { return }
        NSStatusBar.system.removeStatusItem(statusItem)
    }
    
    @IBAction func addMenuBar(_ sender: Any?) {
        constructMenu()
    }

    @IBAction func showAboutWindow(_ sender: AnyObject) {
        if aboutWindowController == nil {
            let storyboard = NSStoryboard(name: "Main", bundle: nil)

            aboutWindowController = storyboard.instantiateController(withIdentifier: "About") as? AboutWindowController
        }

        guard let aboutWindowController = aboutWindowController else { return }

        aboutWindowController.showWindow(nil)
        aboutWindowController.window?.makeKeyAndOrderFront(aboutWindowController)

        NSApp.activate(ignoringOtherApps: true)
    }

    public func loadDockIcon() {
        var image: Image?

        switch UserDefaultsManagement.dockIcon {
        case 0:
            image = NSImage(named: "modern")
            break
        case 1:
            image = NSImage(named: "AppIconClassic")
            break
        default:
            break
        }

        guard let im = image else { return }

        let appDockTile = NSApplication.shared.dockTile
        if #available(OSX 10.12, *) {
            appDockTile.contentView = NSImageView(image: im)
        }

        appDockTile.display()
    }

    private func checkStorageChanges() {
        if Storage.shared().shouldMovePrompt,
            let local = UserDefaultsManagement.localDocumentsContainer,
            let iCloudDrive = UserDefaultsManagement.iCloudDocumentsContainer
        {
            let message = NSLocalizedString("We are detect that you are install FSNotes from Mac App Store with default storage in iCloud Drive, do you want to move old database in iCloud Drive?", comment: "")

            promptToMoveDatabase(from: local, to: iCloudDrive, messageText: message)
        }
    }

    public func promptToMoveDatabase(from currentURL: URL, to url : URL, messageText: String) {
        let alert = NSAlert()
        alert.messageText = messageText
        alert.informativeText =
            NSLocalizedString("Otherwise, the database of your notes will be available at: ", comment: "") + currentURL.path

        alert.alertStyle = .warning
        alert.addButton(withTitle: NSLocalizedString("No", comment: ""))
        alert.addButton(withTitle: NSLocalizedString("Yes", comment: ""))

        if alert.runModal() == .alertSecondButtonReturn {
            move(from: currentURL, to: url)

            let localTrash = currentURL.appendingPathComponent("Trash", isDirectory: true)
            let cloudTrash = url.appendingPathComponent("Trash", isDirectory: true)

            move(from: localTrash, to: cloudTrash)
        }
    }

    private func move(from currentURL: URL, to url: URL) {
        if let list = try? FileManager.default.contentsOfDirectory(at: currentURL, includingPropertiesForKeys: nil, options: .init()) {

            if !FileManager.default.fileExists(atPath: currentURL.path) {
                return
            }

            if !FileManager.default.fileExists(atPath: url.path) {
                try? FileManager.default.createDirectory(at: url, withIntermediateDirectories: true, attributes: nil)
            }

            for item in list {
                let fileName = item.lastPathComponent

                do {
                    let dst = url.appendingPathComponent(fileName)
                    try FileManager.default.moveItem(at: item, to: dst)
                } catch {

                    if ["Trash", "Welcome"].contains(fileName) {
                        continue
                    }

                    let exist = NSAlert()
                    var message = NSLocalizedString("We can not move \"{DST_PATH}\" because this item already exist in selected destination.", comment: "")

                    message = message.replacingOccurrences(of: "{DST_PATH}", with: item.path)

                    exist.messageText = message
                    exist.addButton(withTitle: NSLocalizedString("OK", comment: ""))
                    exist.runModal()
                }
            }
        }
    }

    func application(_ application: NSApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([NSUserActivityRestoring]) -> Void) -> Bool {

        ViewController.shared()?.restoreUserActivityState(userActivity)

        return true
    }

    func application(_ application: NSApplication, willContinueUserActivityWithType userActivityType: String) -> Bool {

        return true
    }
    
    func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool {
        return true
    }
    
    public static func getEditTextViews() -> [EditTextView] {
        var views = getOpenedEditTextViews()
                
        if let controller = mainWindowController?.contentViewController as? ViewController {
            views.append(controller.editor)
        }
        
        return views
    }
    
    public static func getOpenedEditTextViews() -> [EditTextView] {
        var views = [EditTextView]()
        
        for window in noteWindows {
            if let controller = window.contentViewController as? NoteViewController {
                views.append(controller.editor)
            }
        }
        
        return views
    }
}


================================================
FILE: FSNotes/Base.lproj/Main.storyboard
================================================
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="24506" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
    <dependencies>
        <deployment identifier="macosx"/>
        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="24506"/>
        <capability name="Named colors" minToolsVersion="9.0"/>
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    </dependencies>
    <scenes>
        <!--Application-->
        <scene sceneID="JPo-4y-FX3">
            <objects>
                <application id="hnw-xV-0zn" sceneMemberID="viewController">
                    <menu key="mainMenu" title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
                        <items>
                            <menuItem title="FSNotes" id="1Xt-HY-uBw">
                                <modifierMask key="keyEquivalentModifierMask"/>
                                <menu key="submenu" title="FSNotes" systemMenu="apple" identifier="fsnotesMenu" id="uQy-DD-JDr">
                                    <items>
                                        <menuItem title="About FSNotes" image="info.circle" catalog="system" id="5kV-Vb-QxS">
                                            <modifierMask key="keyEquivalentModifierMask"/>
                                            <connections>
                                                <action selector="showAboutWindow:" target="Ady-hI-5gd" id="N5Z-Au-8xg"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
                                        <menuItem title="Preferences…" image="gearshape" catalog="system" keyEquivalent="," id="BOF-NM-1cW">
                                            <connections>
                                                <action selector="openPreferences:" target="Voe-Tx-rLC" id="inL-8g-wqE"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Lock All Encrypted" image="lock" catalog="system" keyEquivalent="L" identifier="fsnotes.lock" id="GrP-W1-7ZQ">
                                            <connections>
                                                <action selector="lockAll:" target="Ady-hI-5gd" id="13I-PF-JJb"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="KF2-I2-ZON"/>
                                        <menuItem image="trash" catalog="system" identifier="fsnotes.emptyBin" id="G9H-Lg-TXE">
                                            <string key="keyEquivalent" base64-UTF8="YES">
CA
</string>
                                            <modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/>
                                            <connections>
                                                <action selector="emptyTrash:" target="L4m-js-agn" id="d27-Z5-1ap"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
                                        <menuItem title="Services" id="NMo-om-nkz">
                                            <modifierMask key="keyEquivalentModifierMask"/>
                                            <menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="4je-JR-u6R"/>
                                        <menuItem title="Hide FSNotes" keyEquivalent="h" id="Olw-nP-bQN">
                                            <connections>
                                                <action selector="hide:" target="Ady-hI-5gd" id="PnN-Uc-m68"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
                                            <connections>
                                                <action selector="hideOtherApplications:" target="Ady-hI-5gd" id="VT4-aY-XCT"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Show All" id="Kd2-mp-pUS">
                                            <modifierMask key="keyEquivalentModifierMask"/>
                                            <connections>
                                                <action selector="unhideAllApplications:" target="Ady-hI-5gd" id="Dhg-Le-xox"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
                                        <menuItem title="Quit FSNotes" keyEquivalent="q" id="4sb-4s-VLi">
                                            <connections>
                                                <action selector="terminate:" target="Ady-hI-5gd" id="Te7-pn-YzF"/>
                                            </connections>
                                        </menuItem>
                                    </items>
                                </menu>
                            </menuItem>
                            <menuItem title="File" id="SeY-r8-n3w">
                                <modifierMask key="keyEquivalentModifierMask"/>
                                <menu key="submenu" title="File" identifier="fileMenu" id="uMZ-sI-7ja">
                                    <items>
                                        <menuItem title="Close" image="xmark" catalog="system" keyEquivalent="w" localization="NO" mirroring="NO" identifier="fileMenu.close" id="kIy-TN-XMS">
                                            <connections>
                                                <action selector="performClose:" target="Ady-hI-5gd" id="kc5-tb-yP0"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="k4G-pB-1AO"/>
                                        <menuItem title="Import" image="square.and.arrow.down" catalog="system" keyEquivalent="O" localization="NO" mirroring="NO" identifier="fileMenu.import" id="O8Z-cg-XnH">
                                            <connections>
                                                <action selector="importNote:" target="Ady-hI-5gd" id="r4z-z3-fFc"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Add External Folder..." image="folder" catalog="system" localization="NO" mirroring="NO" identifier="fileMenu.attach" id="S8Z-Js-fwB">
                                            <modifierMask key="keyEquivalentModifierMask"/>
                                            <connections>
                                                <action selector="createFolder:" target="Ady-hI-5gd" id="fZJ-Cq-oSM"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Commit &amp; Push" image="arrow.clockwise.circle" catalog="system" keyEquivalent="s" localization="NO" mirroring="NO" identifier="fileMenu.backup" id="iIP-wI-OaZ">
                                            <connections>
                                                <action selector="saveRevision:" target="Ady-hI-5gd" id="K8t-sd-0yE"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="gcI-QI-pM4"/>
                                        <menuItem title="New" image="note.text" catalog="system" keyEquivalent="n" localization="NO" mirroring="NO" identifier="fileMenu.new" id="2Ci-Yj-aWK">
                                            <connections>
                                                <action selector="fileMenuNewNote:" target="L4m-js-agn" id="N33-Jf-oOg"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="New Note in New Window  " image="macwindow.badge.plus" catalog="system" keyEquivalent="N" localization="NO" mirroring="NO" identifier="fileMenu.newInNewWindow" id="2Vh-rt-1kc">
                                            <connections>
                                                <action selector="createInNewWindow:" target="Ady-hI-5gd" id="fVv-cz-Kms"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="New Folder" image="folder" catalog="system" keyEquivalent="n" localization="NO" mirroring="NO" identifier="fileMenu.createFolder" id="SrH-fe-Hog">
                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
                                            <connections>
                                                <action selector="createFolder:" target="Ady-hI-5gd" id="zjY-Sq-KJa"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="pvu-vt-MCq"/>
                                        <menuItem title="Search and Create" image="magnifyingglass" catalog="system" keyEquivalent="l" localization="NO" mirroring="NO" identifier="fileMenu.searchAndCreate" id="hPY-aY-QOE">
                                            <connections>
                                                <action selector="searchAndCreate:" target="L4m-js-agn" id="ChM-Mj-Rdf"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="DJZ-Sf-cos"/>
                                        <menuItem title="Open Note in New Window" image="macwindow.on.rectangle" catalog="system" keyEquivalent="o" localization="NO" mirroring="NO" identifier="fileMenu.open" id="HmK-lp-ASv">
                                            <connections>
                                                <action selector="openWindow:" target="Ady-hI-5gd" id="HOV-Ja-fKS"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Duplicate" image="document.on.document" catalog="system" keyEquivalent="d" localization="NO" mirroring="NO" identifier="fileMenu.duplicate" id="pnm-dP-GKO">
                                            <connections>
                                                <action selector="duplicate:" target="Ady-hI-5gd" id="9eI-Pe-IRx"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Rename" image="pencil" catalog="system" keyEquivalent="r" mirroring="NO" identifier="fileMenu.rename" id="jLq-8F-n0X">
                                            <connections>
                                                <action selector="fsRenameItem:" target="Ady-hI-5gd" id="nob-G6-CIE"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Force Delete" image="delete.right" catalog="system" alternate="YES" localization="NO" mirroring="NO" identifier="fileMenu.forceRemove" id="zd2-Rs-DPm">
                                            <string key="keyEquivalent" base64-UTF8="YES">
CA
</string>
                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
                                            <connections>
                                                <action selector="forceDeleteNote:" target="Ady-hI-5gd" id="RHd-Iz-8iM"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Pin/Unpin" image="pin" catalog="system" keyEquivalent="8" localization="NO" mirroring="NO" identifier="fileMenu.togglePin" id="You-zo-rbl">
                                            <connections>
                                                <action selector="pinMenu:" target="Ady-hI-5gd" id="5kK-KD-hhk"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Decrypt" image="lock.slash" catalog="system" keyEquivalent="l" localization="NO" mirroring="NO" identifier="fileMenu.decrypt" id="fkH-Wf-n87">
                                            <modifierMask key="keyEquivalentModifierMask" control="YES" option="YES" command="YES"/>
                                            <connections>
                                                <action selector="fsDecryptItem:" target="Ady-hI-5gd" id="VnY-0f-Osd"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Lock/Unlock" image="lock" catalog="system" keyEquivalent="l" localization="NO" mirroring="NO" identifier="fileMenu.toggleLock" id="RSs-wb-GNg">
                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
                                            <connections>
                                                <action selector="fsToggleLockItem:" target="Ady-hI-5gd" id="J64-eG-cRe"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Open External" image="iphone.and.arrow.right.outward" catalog="system" keyEquivalent="e" localization="NO" mirroring="NO" identifier="fileMenu.external" id="7MT-fy-lXN">
                                            <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
                                            <connections>
                                                <action selector="editorMenu:" target="Ady-hI-5gd" id="bT1-dL-ioY"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Reveal in Finder" image="doc.viewfinder" catalog="system" keyEquivalent="R" localization="NO" mirroring="NO" identifier="fileMenu.reveal" id="rXU-X3-UjC">
                                            <connections>
                                                <action selector="fsRevealItem:" target="Ady-hI-5gd" id="Tlf-Bz-pRQ"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="uk8-Oi-IxM"/>
                                        <menuItem title="Share" image="square.and.arrow.up" catalog="system" id="eCt-xc-KgN">
                                            <modifierMask key="keyEquivalentModifierMask"/>
                                            <menu key="submenu" title="Share" identifier="shareMenu" id="LKs-o1-uhL">
                                                <items>
                                                    <menuItem title="Copy URL" localization="NO" mirroring="NO" identifier="shareMenu.copyURL" id="Rg2-j1-Foz">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="copyURL:" target="Ady-hI-5gd" id="aX7-ly-HOE"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Copy Title" keyEquivalent="c" localization="NO" mirroring="NO" identifier="shareMenu.copyTitle" id="5LV-Vi-n79">
                                                        <modifierMask key="keyEquivalentModifierMask" control="YES" option="YES" command="YES"/>
                                                        <connections>
                                                            <action selector="copyTitle:" target="Ady-hI-5gd" id="a1Z-Iq-V4h"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Create Web Page" keyEquivalent="u" localization="NO" mirroring="NO" identifier="shareMenu.uploadOverSSH" id="vZO-Tx-X1j">
                                                        <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
                                                        <connections>
                                                            <action selector="uploadWebNote:" target="Ady-hI-5gd" id="kGh-7X-iq3"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Delete Web Page" tag="100" keyEquivalent="u" localization="NO" mirroring="NO" identifier="shareMenu.removeOverSSH" id="PzH-8q-38O">
                                                        <modifierMask key="keyEquivalentModifierMask" control="YES" option="YES" command="YES"/>
                                                        <connections>
                                                            <action selector="removeWebNote:" target="Ady-hI-5gd" id="nSU-Xz-O4T"/>
                                                        </connections>
                                                    </menuItem>
                                                </items>
                                            </menu>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="wQ9-qT-qnU"/>
                                        <menuItem title="Move" image="move.3d" catalog="system" keyEquivalent="T" localization="NO" mirroring="NO" identifier="fileMenu.move" id="CvG-Kp-kdK">
                                            <connections>
                                                <action selector="moveMenu:" target="Ady-hI-5gd" id="gIh-8j-qKG"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="History" image="clock" catalog="system" keyEquivalent="H" localization="NO" mirroring="NO" identifier="fileMenu.history" id="Snd-dJ-uj5">
                                            <connections>
                                                <action selector="historyMenu:" target="Ady-hI-5gd" id="VPf-oO-JCe"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="zV0-3n-jVp"/>
                                        <menuItem title="Print" image="printer" catalog="system" keyEquivalent="p" localization="NO" mirroring="NO" identifier="fileMenu.print" id="OV0-om-POJ">
                                            <connections>
                                                <action selector="printNotes:" target="Ady-hI-5gd" id="aq9-E9-nEe"/>
                                            </connections>
                                        </menuItem>
                                    </items>
                                </menu>
                            </menuItem>
                            <menuItem title="Edit" id="5QF-Oa-p0T">
                                <modifierMask key="keyEquivalentModifierMask"/>
                                <menu key="submenu" title="Edit" identifier="editMenu" id="W48-6f-4Dl">
                                    <items>
                                        <menuItem title="Undo" image="arrow.uturn.backward" catalog="system" keyEquivalent="z" id="dRJ-4n-Yzg">
                                            <connections>
                                                <action selector="undo:" target="Ady-hI-5gd" id="M6e-cu-g7V"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Redo" image="arrow.uturn.forward" catalog="system" keyEquivalent="Z" id="6dh-zS-Vam">
                                            <connections>
                                                <action selector="redo:" target="Ady-hI-5gd" id="oIA-Rs-6OD"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/>
                                        <menuItem title="Cut" image="scissors" catalog="system" keyEquivalent="x" id="uRl-iY-unG">
                                            <connections>
                                                <action selector="cut:" target="Ady-hI-5gd" id="YJe-68-I9s"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Copy" image="document.on.document" catalog="system" keyEquivalent="c" id="x3v-GG-iWU">
                                            <connections>
                                                <action selector="copy:" target="Ady-hI-5gd" id="lq4-pB-TEE"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Paste" image="document.on.clipboard" catalog="system" keyEquivalent="v" id="gVA-U4-sdL">
                                            <connections>
                                                <action selector="paste:" target="Ady-hI-5gd" id="UvS-8e-Qdg"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Paste and Match Style" image="document.on.clipboard.fill" catalog="system" keyEquivalent="V" id="WeT-3V-zwk">
                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
                                            <connections>
                                                <action selector="pasteAsPlainText:" target="Ady-hI-5gd" id="cEh-KX-wJQ"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Delete" image="trash" catalog="system" id="pa3-QI-u2k">
                                            <string key="keyEquivalent" base64-UTF8="YES">
CA
</string>
                                            <connections>
                                                <action selector="delete:" target="Ady-hI-5gd" id="0Mk-Ml-PaM"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Select All" image="filemenu.and.selection" catalog="system" keyEquivalent="a" id="Ruw-6m-B2m">
                                            <connections>
                                                <action selector="selectAll:" target="Ady-hI-5gd" id="VNm-Mi-diN"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/>
                                        <menuItem title="Find" image="magnifyingglass" catalog="system" id="4EN-yA-p0u">
                                            <modifierMask key="keyEquivalentModifierMask"/>
                                            <menu key="submenu" title="Find" identifier="findMenu" id="1b7-l0-nxx">
                                                <items>
                                                    <menuItem title="Find…" tag="1" keyEquivalent="f" identifier="findMenu.find" id="Xz5-n4-O0W">
                                                        <connections>
                                                            <action selector="textFinder:" target="Ady-hI-5gd" id="2Cg-JO-owM"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Find and Replace…" tag="12" keyEquivalent="f" identifier="findMenu.findAndReplace" id="YEy-JH-Tfz">
                                                        <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
                                                        <connections>
                                                            <action selector="textFinder:" target="Ady-hI-5gd" id="0qw-zr-Yhp"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Find Next" tag="2" keyEquivalent="g" identifier="findMenu.next" id="q09-fT-Sye">
                                                        <connections>
                                                            <action selector="textFinder:" target="Ady-hI-5gd" id="fIz-Br-Zj3"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Find Previous" tag="3" keyEquivalent="G" identifier="findMenu.prev" id="OwM-mh-QMV">
                                                        <connections>
                                                            <action selector="textFinder:" target="Ady-hI-5gd" id="gEq-hu-Qc3"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" identifier="findMenu.selectionToFind" id="buJ-ug-pKt">
                                                        <connections>
                                                            <action selector="textFinder:" target="Ady-hI-5gd" id="pyk-IL-ame"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd">
                                                        <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
                                                        <connections>
                                                            <action selector="centerSelectionInVisibleArea:" target="Ady-hI-5gd" id="IOG-6D-g5B"/>
                                                        </connections>
                                                    </menuItem>
                                                </items>
                                            </menu>
                                        </menuItem>
                                        <menuItem title="Spelling and Grammar" image="graduationcap" catalog="system" id="Dv1-io-Yv7">
                                            <modifierMask key="keyEquivalentModifierMask"/>
                                            <menu key="submenu" title="Spelling and Grammar" identifier="spelling" id="3IN-sU-3Bg">
                                                <items>
                                                    <menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI">
                                                        <connections>
                                                            <action selector="showGuessPanel:" target="Ady-hI-5gd" id="vFj-Ks-hy3"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7">
                                                        <connections>
                                                            <action selector="checkSpelling:" target="Ady-hI-5gd" id="fz7-VC-reM"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem isSeparatorItem="YES" id="bNw-od-mp5"/>
                                                    <menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="toggleContinuousSpellChecking:" target="Ady-hI-5gd" id="7w6-Qz-0kB"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="toggleGrammarChecking:" target="Ady-hI-5gd" id="muD-Qn-j4w"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Correct Spelling Automatically" id="78Y-hA-62v">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="toggleAutomaticSpellingCorrection:" target="Ady-hI-5gd" id="2lM-Qi-WAP"/>
                                                        </connections>
                                                    </menuItem>
                                                </items>
                                            </menu>
                                        </menuItem>
                                        <menuItem title="Substitutions" image="textformat.subscript" catalog="system" id="9ic-FL-obx">
                                            <modifierMask key="keyEquivalentModifierMask"/>
                                            <menu key="submenu" title="Substitutions" identifier="substitutions" id="FeM-D8-WVr">
                                                <items>
                                                    <menuItem title="Show Substitutions" id="z6F-FW-3nz">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="orderFrontSubstitutionsPanel:" target="Ady-hI-5gd" id="oku-mr-iSq"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/>
                                                    <menuItem title="Smart Copy/Paste" id="9yt-4B-nSM">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="toggleSmartInsertDelete:" target="Ady-hI-5gd" id="3IJ-Se-DZD"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Smart Quotes" id="hQb-2v-fYv">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="toggleAutomaticQuoteSubstitution:" target="Ady-hI-5gd" id="ptq-xd-QOA"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Smart Dashes" id="rgM-f4-ycn">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="toggleAutomaticDashSubstitution:" target="Ady-hI-5gd" id="oCt-pO-9gS"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Smart Links" id="cwL-P1-jid">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="toggleAutomaticLinkDetection:" target="Ady-hI-5gd" id="Gip-E3-Fov"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Data Detectors" id="tRr-pd-1PS">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="toggleAutomaticDataDetection:" target="Ady-hI-5gd" id="R1I-Nq-Kbl"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Text Replacement" id="HFQ-gK-NFA">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="toggleAutomaticTextReplacement:" target="Ady-hI-5gd" id="DvP-Fe-Py6"/>
                                                        </connections>
                                                    </menuItem>
                                                </items>
                                            </menu>
                                        </menuItem>
                                        <menuItem title="Transformations" image="textformat.abc" catalog="system" id="2oI-Rn-ZJC">
                                            <modifierMask key="keyEquivalentModifierMask"/>
                                            <menu key="submenu" title="Transformations" id="c8a-y6-VQd">
                                                <items>
                                                    <menuItem title="Make Upper Case" id="vmV-6d-7jI">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="uppercaseWord:" target="Ady-hI-5gd" id="sPh-Tk-edu"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Make Lower Case" id="d9M-CD-aMd">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="lowercaseWord:" target="Ady-hI-5gd" id="iUZ-b5-hil"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Capitalize" id="UEZ-Bs-lqG">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="capitalizeWord:" target="Ady-hI-5gd" id="26H-TL-nsh"/>
                                                        </connections>
                                                    </menuItem>
                                                </items>
                                            </menu>
                                        </menuItem>
                                        <menuItem title="Speech" image="waveform" catalog="system" id="xrE-MZ-jX0">
                                            <modifierMask key="keyEquivalentModifierMask"/>
                                            <menu key="submenu" title="Speech" id="3rS-ZA-NoH">
                                                <items>
                                                    <menuItem title="Start Speaking" id="Ynk-f8-cLZ">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="startSpeaking:" target="Ady-hI-5gd" id="654-Ng-kyl"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Stop Speaking" id="Oyz-dy-DGm">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="stopSpeaking:" target="Ady-hI-5gd" id="dX8-6p-jy9"/>
                                                        </connections>
                                                    </menuItem>
                                                </items>
                                            </menu>
                                        </menuItem>
                                    </items>
                                </menu>
                            </menuItem>
                            <menuItem title="Format" id="jxT-CU-nIS">
                                <modifierMask key="keyEquivalentModifierMask"/>
                                <menu key="submenu" title="Format" identifier="formatMenu" id="GEO-Iw-cKr">
                                    <items>
                                        <menuItem title="Bold" image="bold" catalog="system" keyEquivalent="b" id="LTw-w4-tEo">
                                            <connections>
                                                <action selector="boldMenu:" target="Ady-hI-5gd" id="iEg-Ph-IUa"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Italic" image="italic" catalog="system" keyEquivalent="i" id="k32-YP-yyI">
                                            <connections>
                                                <action selector="italicMenu:" target="Ady-hI-5gd" id="NfW-nJ-p7S"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Strikethrough" image="strikethrough" catalog="system" keyEquivalent="y" id="EK1-kN-kK3">
                                            <connections>
                                                <action selector="strikeMenu:" target="Ady-hI-5gd" id="ez5-KB-i65"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="pUR-Y1-6Rc"/>
                                        <menuItem title="Headers" image="textformat.size.smaller" catalog="system" id="Pzb-TG-43d">
                                            <modifierMask key="keyEquivalentModifierMask"/>
                                            <menu key="submenu" title="Headers" id="UMi-Hx-Z1c">
                                                <items>
                                                    <menuItem title="Header 1" keyEquivalent="1" identifier="format.h1" id="jRm-BN-BNK">
                                                        <connections>
                                                            <action selector="headerMenu:" target="Ady-hI-5gd" id="ZMG-7U-hDJ"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Header 2" keyEquivalent="2" identifier="format.h2" id="cYB-6U-8ac">
                                                        <connections>
                                                            <action selector="headerMenu:" target="Ady-hI-5gd" id="uk8-PE-ezN"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Header 3" keyEquivalent="3" identifier="format.h3" id="Lmy-lE-9MZ">
                                                        <connections>
                                                            <action selector="headerMenu:" target="Ady-hI-5gd" id="7T9-eU-evK"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Header 4" keyEquivalent="4" identifier="format.h4" id="GhL-6I-558">
                                                        <connections>
                                                            <action selector="headerMenu:" target="Ady-hI-5gd" id="xL5-Mc-FpK"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Header 5" keyEquivalent="5" identifier="format.h5" id="DWe-bx-jfM">
                                                        <connections>
                                                            <action selector="headerMenu:" target="Ady-hI-5gd" id="VQ0-l4-gu2"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Header 6" keyEquivalent="6" identifier="format.h6" id="cq7-SM-dez">
                                                        <connections>
                                                            <action selector="headerMenu:" target="Ady-hI-5gd" id="Ma4-If-e1Y"/>
                                                        </connections>
                                                    </menuItem>
                                                </items>
                                            </menu>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="axj-Yd-h2p"/>
                                        <menuItem title="List" image="list.bullet" catalog="system" keyEquivalent="l" id="1sM-9Q-KeG">
                                            <modifierMask key="keyEquivalentModifierMask" control="YES"/>
                                            <connections>
                                                <action selector="insertList:" target="Ady-hI-5gd" id="6EM-1j-yZn"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Ordered List" image="list.number" catalog="system" keyEquivalent="L" id="8cf-5K-KZh">
                                            <modifierMask key="keyEquivalentModifierMask" control="YES"/>
                                            <connections>
                                                <action selector="insertOrderedList:" target="Ady-hI-5gd" id="mSc-hh-Emb"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Toggle Todo" image="checklist" catalog="system" keyEquivalent="t" identifier="format.todo" id="n0M-SN-fzg">
                                            <connections>
                                                <action selector="todo:" target="Ady-hI-5gd" id="tNn-G1-JVu"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Clear Completed Todos" image="checklist.unchecked" catalog="system" keyEquivalent="t" id="BoD-Jy-zeE">
                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
                                            <connections>
                                                <action selector="clearCompletedTodos:" target="Ady-hI-5gd" id="9Vo-lw-EsW"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="p1N-Ks-tWf"/>
                                        <menuItem title="Link" image="link" catalog="system" keyEquivalent="i" identifier="format.link" id="xfW-7n-cIw">
                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
                                            <connections>
                                                <action selector="linkMenu:" target="Ady-hI-5gd" id="V6q-no-eC3"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Image or File" image="paperclip" catalog="system" keyEquivalent="I" identifier="format.image" id="yx6-SW-3vn">
                                            <connections>
                                                <action selector="insertFileOrImage:" target="Ady-hI-5gd" id="2EE-rd-dsJ"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Code Block" image="swift" catalog="system" keyEquivalent="c" identifier="format.codeBlock" id="OOL-dM-zIE">
                                            <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
                                            <connections>
                                                <action selector="insertCodeBlock:" target="Ady-hI-5gd" id="dB1-yF-DnW"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Code Span" image="chevron.left.forwardslash.chevron.right" catalog="system" keyEquivalent="C" identifier="format.codeSpan" id="Ukg-MO-eaB">
                                            <connections>
                                                <action selector="insertCodeSpan:" target="Ady-hI-5gd" id="zP1-Kg-gh9"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Quote" image="quote.bubble" catalog="system" keyEquivalent="U" id="X3S-sG-ykW">
                                            <connections>
                                                <action selector="insertQuote:" target="Ady-hI-5gd" id="CsH-RU-eV9"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="WikiLinks" image="link.badge.plus" catalog="system" keyEquivalent="9" id="hqQ-4C-VJL">
                                            <connections>
                                                <action selector="wikiLinks:" target="Ady-hI-5gd" id="gT7-1q-B11"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="mrY-K0-JGH"/>
                                        <menuItem title="Move Item" image="move.3d" catalog="system" id="3fK-Ap-A5p">
                                            <modifierMask key="keyEquivalentModifierMask"/>
                                            <menu key="submenu" title="Move Item" id="zRJ-Z2-Lsa">
                                                <items>
                                                    <menuItem title="Shift Left" keyEquivalent="[" id="DeU-hy-pvi">
                                                        <connections>
                                                            <action selector="shiftLeft:" target="Ady-hI-5gd" id="fP7-F6-api"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Shift Right" keyEquivalent="]" id="IPu-Ll-IBE">
                                                        <connections>
                                                            <action selector="shiftRight:" target="Ady-hI-5gd" id="kJe-pA-OMN"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Move Selected Lines Down" keyEquivalent="" id="STm-3f-GNu">
                                                        <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
                                                        <connections>
                                                            <action selector="moveSelectedLinesDown:" target="Ady-hI-5gd" id="7r8-RI-N3B"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Move Selected Lines Up" keyEquivalent="" id="yMK-aK-OV2">
                                                        <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
                                                        <connections>
                                                            <action selector="moveSelectedLinesUp:" target="Ady-hI-5gd" id="BR0-Oc-4LZ"/>
                                                        </connections>
                                                    </menuItem>
                                                </items>
                                            </menu>
                                        </menuItem>
                                    </items>
                                </menu>
                            </menuItem>
                            <menuItem title="View" id="H8h-7b-M4v">
                                <modifierMask key="keyEquivalentModifierMask"/>
                                <menu key="submenu" title="View" identifier="viewMenu" id="HyV-fh-RgO">
                                    <items>
                                        <menuItem title="Toggle Preview" image="eye" catalog="system" keyEquivalent="/" id="PdU-Em-Ugm">
                                            <connections>
                                                <action selector="togglePreview:" target="Ady-hI-5gd" id="62m-Nl-zcS"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Preview MathJax" image="x.squareroot" catalog="system" keyEquivalent="/" identifier="previewMathJax" id="KIz-OO-IQT">
                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
                                            <connections>
                                                <action selector="toggleMathJax:" target="Ady-hI-5gd" id="KrN-I7-17C"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="BackLinks" image="link.circle" catalog="system" keyEquivalent="b" id="1cO-zi-naR">
                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
                                            <connections>
                                                <action selector="showBackLinks:" target="Ady-hI-5gd" id="aGr-tc-O21"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="sLG-sQ-Yi1"/>
                                        <menuItem title="Hide/Show Note List" image="sidebar.squares.leading" catalog="system" keyEquivalent="B" identifier="view.toggleNoteList" id="WHt-T4-l9c">
                                            <connections>
                                                <action selector="toggleNoteList:" target="L4m-js-agn" id="G22-P2-hks"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Hide/Show Sidebar" image="sidebar.left" catalog="system" keyEquivalent="s" identifier="view.toggleSidebar" id="DCh-5P-PZe">
                                            <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
                                            <connections>
                                                <action selector="toggleSidebar:" target="L4m-js-agn" id="MRM-fh-zTo"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="2A1-iA-fhx"/>
                                        <menuItem title="Back" image="backward" catalog="system" keyEquivalent="[" identifier="viewMenu.historyBack" id="qNE-oZ-zJr">
                                            <modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/>
                                            <connections>
                                                <action selector="prevHistory:" target="L4m-js-agn" id="o7w-Hu-ldI"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Forward" image="forward" catalog="system" keyEquivalent="]" identifier="viewMenu.historyForward" id="oQE-3t-6pa">
                                            <modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/>
                                            <connections>
                                                <action selector="nextHistory:" target="L4m-js-agn" id="D4W-nU-AEU"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="iip-ri-cBa"/>
                                        <menuItem title="Move Down in the Notes List" image="arrowshape.down" catalog="system" keyEquivalent="j" id="BtV-Z4-7Vq">
                                            <connections>
                                                <action selector="noteDown:" target="Ady-hI-5gd" id="WHy-qc-OvH"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Move Up in the Notes List" image="arrowshape.up" catalog="system" keyEquivalent="k" id="Hqu-Sx-xgo">
                                            <connections>
                                                <action selector="noteUp:" target="Ady-hI-5gd" id="gfc-6f-Jom"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="hB3-LF-h0Y"/>
                                        <menuItem title="Move Down in the Sidebar" image="arrow.down.circle" catalog="system" keyEquivalent="J" identifier="folderMenu.down" id="vrs-XL-lyE">
                                            <connections>
                                                <action selector="sidebarDown:" target="Ady-hI-5gd" id="87t-Yf-dii"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Move Up in the Sidebar" image="arrow.up.circle" catalog="system" keyEquivalent="K" identifier="folderMenu.up" id="sdE-ZM-6cq">
                                            <connections>
                                                <action selector="sidebarUp:" target="Ady-hI-5gd" id="8dT-Az-Nv2"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="Ljl-jP-3qX"/>
                                        <menuItem title="Sort By" image="arrow.up.arrow.down" catalog="system" id="rHB-xF-GgG">
                                            <modifierMask key="keyEquivalentModifierMask"/>
                                            <menu key="submenu" title="Sort By" identifier="viewSortBy" id="05n-RU-nOV">
                                                <items>
                                                    <menuItem title="Modification Date" tag="1" identifier="SB.modificationDate" id="dCc-l5-XB2">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="sortBy:" target="L4m-js-agn" id="UCf-WH-qOL"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Creation Date" tag="2" identifier="SB.creationDate" id="eTL-dh-GvM">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="sortBy:" target="L4m-js-agn" id="2Jk-Qh-1MD"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Title" tag="3" identifier="SB.title" id="1qV-pJ-ZQT">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="sortBy:" target="L4m-js-agn" id="Diu-Vl-cVb"/>
                                                        </connections>
                                                    </menuItem>
                                                </items>
                                            </menu>
                                        </menuItem>
                                        <menuItem title="Show in Sidebar" image="rectangle.expand.vertical" catalog="system" id="O9f-Lf-HF6">
                                            <modifierMask key="keyEquivalentModifierMask"/>
                                            <menu key="submenu" title="Show in Sidebar" identifier="showInSidebar" id="xjf-5G-e5Q">
                                                <items>
                                                    <menuItem title="Notes" state="on" tag="2" id="xPz-yo-VwM">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="sidebarItemVisibility:" target="L4m-js-agn" id="9eO-fj-M9I"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Inbox" state="on" tag="1" id="IHG-4U-pF1">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="sidebarItemVisibility:" target="Ady-hI-5gd" id="fCX-Hw-xKB"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Todo" state="on" tag="3" id="e0G-y0-N0C">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="sidebarItemVisibility:" target="L4m-js-agn" id="vD4-T3-64C"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Untagged" state="on" tag="6" id="BX0-nb-tVk">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="sidebarItemVisibility:" target="L4m-js-agn" id="Je9-DX-4lc"/>
                                                        </connections>
                                                    </menuItem>
                                                    <menuItem title="Trash" state="on" tag="5" id="RdI-N4-pR2">
                                                        <modifierMask key="keyEquivalentModifierMask"/>
                                                        <connections>
                                                            <action selector="sidebarItemVisibility:" target="L4m-js-agn" id="Vrr-NC-FPf"/>
                                                        </connections>
                                                    </menuItem>
                                                </items>
                                            </menu>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="J7t-Zu-WdP"/>
                                        <menuItem title="Actual Size" image="arrow.counterclockwise" catalog="system" keyEquivalent="0" identifier="viewMenu.actualSize" id="LFw-De-3DP">
                                            <connections>
                                                <action selector="actualSize:" target="Ady-hI-5gd" id="YdB-qs-3rs"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Zoom In" image="plus.magnifyingglass" catalog="system" keyEquivalent="+" id="NZK-ki-p6Z">
                                            <connections>
                                                <action selector="zoomIn:" target="Ady-hI-5gd" id="wMo-ve-Eil"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Zoom Out" image="minus.magnifyingglass" catalog="system" keyEquivalent="-" id="gYQ-MC-Xwt">
                                            <connections>
                                                <action selector="zoomOut:" target="Ady-hI-5gd" id="r5g-eg-lj6"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="XWg-CY-0hh"/>
                                        <menuItem title="Enter Full Screen" image="arrow.up.left.and.arrow.down.right" catalog="system" keyEquivalent="f" id="4J7-dP-txa">
                                            <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
                                            <connections>
                                                <action selector="toggleFullScreen:" target="Ady-hI-5gd" id="dU3-MA-1Rq"/>
                                            </connections>
                                        </menuItem>
                                    </items>
                                </menu>
                            </menuItem>
                            <menuItem title="Window" id="SdL-vK-KjH">
                                <modifierMask key="keyEquivalentModifierMask"/>
                                <menu key="submenu" title="Window" systemMenu="window" identifier="windowMenu" id="MlK-p2-CxF">
                                    <items>
                                        <menuItem title="Minimize" keyEquivalent="m" id="A5V-Wm-if2">
                                            <connections>
                                                <action selector="performMiniaturize:" target="Ady-hI-5gd" id="JEs-m4-uJy"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Zoom" id="FQV-5x-ffs">
                                            <modifierMask key="keyEquivalentModifierMask"/>
                                            <connections>
                                                <action selector="performZoom:" target="Ady-hI-5gd" id="Wrc-W7-8lh"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="f4P-YX-ans"/>
                                        <menuItem title="Main Window" keyEquivalent="\" id="qZf-Xp-kDW">
                                            <connections>
                                                <action selector="openMainWindow:" target="Voe-Tx-rLC" id="wG8-zv-K7f"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem isSeparatorItem="YES" id="DHU-Ji-YT6"/>
                                        <menuItem title="Bring All to Front" id="s6A-tQ-Sbe">
                                            <modifierMask key="keyEquivalentModifierMask"/>
                                            <connections>
                                                <action selector="arrangeInFront:" target="Ady-hI-5gd" id="zFj-Sz-Cbg"/>
                                            </connections>
                                        </menuItem>
                                    </items>
                                </menu>
                            </menuItem>
                            <menuItem title="Help" id="wpr-3q-Mcd">
                                <modifierMask key="keyEquivalentModifierMask"/>
                                <menu key="submenu" title="Help" systemMenu="help" id="F2S-fz-NVQ">
                                    <items>
                                        <menuItem title="FSNotes Help" image="questionmark.circle" catalog="system" keyEquivalent="?" id="FKE-Sm-Kum">
                                            <connections>
                                                <action selector="openHelp:" target="Voe-Tx-rLC" id="CHO-se-CJA"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Report Bugs or Feature Requests" image="ladybug" catalog="system" id="Q9n-yE-Ul0">
                                            <modifierMask key="keyEquivalentModifierMask"/>
                                            <connections>
                                                <action selector="openReportsAndRequests:" target="Ady-hI-5gd" id="V1D-1X-awT"/>
                                            </connections>
                                        </menuItem>
                                        <menuItem title="Official Site" image="link" catalog="system" id="cfe-sv-2gm">
                                            <modifierMask key="keyEquivalentModifierMask"/>
                                            <connections>
                                                <action selector="openSite:" target="Voe-Tx-rLC" id="A75-hX-lIa"/>
                                            </connections>
                                        </menuItem>
                                    </items>
                                </menu>
                            </menuItem>
                        </items>
                    </menu>
                    <connections>
                        <outlet property="delegate" destination="Voe-Tx-rLC" id="PrD-fu-P6m"/>
                    </connections>
                </application>
                <customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModule="FSNotes" customModuleProvider="target"/>
                <customObject id="YLy-65-1bz" customClass="NSFontManager"/>
                <customObject id="N0L-g4-qwj" customClass="EditTextView" customModule="FSNotes" customModuleProvider="target"/>
                <customObject id="L4m-js-agn" customClass="ViewController" customModule="FSNotes" customModuleProvider="target">
                    <connections>
                        <outlet property="showInSidebar" destination="O9f-Lf-HF6" id="kDJ-q5-nnU"/>
                        <outlet property="sortByOutlet" destination="rHB-xF-GgG" id="Z3o-fD-Poh"/>
                    </connections>
                </customObject>
                <customObject id="3kq-Pd-JKK" customClass="SidebarCellView" customModule="FSNotes" customModuleProvider="target"/>
                <customObject id="yxb-XH-bXh" customClass="SidebarOutlineView" customModule="FSNotes" customModuleProvider="target"/>
                <customObject id="Ady-hI-5gd" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
                <userDefaultsController representsSharedInstance="YES" id="rlq-iU-PD6"/>
            </objects>
            <point key="canvasLocation" x="-291" y="-501"/>
        </scene>
        <!--Window Controller-->
        <scene sceneID="mVP-iC-cBD">
            <objects>
                <windowController storyboardIdentifier="Preferences" showSeguePresentationStyle="single" id="Ozi-at-KZg" customClass="PrefsWindowController" customModule="FSNotes" customModuleProvider="target" sceneMemberID="viewController">
                    <window key="window" title="Preferences" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" frameAutosaveName="PrefsWindow" animationBehavior="default" id="ldu-U8-PD1">
                        <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
                        <rect key="contentRect" x="196" y="240" width="513" height="270"/>
                        <rect key="screenRect" x="0.0" y="0.0" width="1792" height="1097"/>
                        <connections>
                            <outlet property="delegate" destination="Ozi-at-KZg" id="jdS-QV-DS0"/>
                        </connections>
                    </window>
                    <connections>
                        <segue destination="tR0-Uj-4tB" kind="relationship" relationship="window.shadowedContentViewController" id="yDP-1O-iOj"/>
                    </connections>
                </windowController>
                <customObject id="NeV-iG-RmF" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="755" y="80"/>
        </scene>
        <!--Preferences-->
        <scene sceneID="jPb-fQ-VKL">
            <objects>
                <tabViewController title="Preferences" selectedTabViewItemIndex="0" tabStyle="toolbar" id="tR0-Uj-4tB" customClass="PrefsViewController" customModule="FSNotes" customModuleProvider="target" sceneMemberID="viewController">
                    <tabViewItems>
                        <tabViewItem identifier="" image="prefsGeneral" id="rNR-GY-ptT" userLabel="General">
                            <nil key="label"/>
                        </tabViewItem>
                        <tabViewItem identifier="ui" image="prefsLayout" id="sue-zm-fiI" userLabel="Layout"/>
                        <tabViewItem image="prefsEditor" id="1OI-UI-JVH" userLabel="Editor"/>
                        <tabViewItem identifier="security" image="privacy" id="eYm-FV-50h" userLabel="Security"/>
                        <tabViewItem label="Git" identifier="git" image="prefsGit" id="wxM-bE-TE9"/>
                        <tabViewItem label="Web" identifier="web" image="prefsWeb" id="Ng2-HH-bmY" userLabel="Web"/>
                        <tabViewItem identifier="advanced" image="prefsAdvanced" id="0v6-hJ-g1F" userLabel="Advanced">
                            <nil key="label"/>
                        </tabViewItem>
                    </tabViewItems>
                    <tabView key="tabView" autoresizesSubviews="NO" allowsTruncatedLabels="NO" type="noTabsNoBorder" id="db4-eL-XEQ">
                        <rect key="frame" x="675" y="-450" width="450" height="300"/>
                        <autoresizingMask key="autoresizingMask"/>
                        <font key="font" metaFont="menu" size="14"/>
                    </tabView>
                    <connections>
                        <outlet property="advancedTabViewItem" destination="0v6-hJ-g1F" id="fkv-5e-W3u"/>
                        <outlet property="editorTabViewItem" destination="1OI-UI-JVH" id="VIK-r5-1g0"/>
                        <outlet property="generalTabViewItem" destination="rNR-GY-ptT" id="ks6-RP-bh1"/>
                        <outlet property="gitTabViewItem" destination="wxM-bE-TE9" id="eqH-R3-Qyb"/>
                        <outlet property="libraryTabViewItem" destination="sue-zm-fiI" id="PhQ-e7-ZK7"/>
                        <outlet property="securityTabViewItem" destination="eYm-FV-50h" id="E9A-Wf-dJb"/>
                        <outlet property="webTabViewItem" destination="Ng2-HH-bmY" id="Yfx-1v-kow"/>
                        <segue destination="NHv-lG-vxt" kind="relationship" relationship="tabItems" id="AHk-7F-en6"/>
                        <segue destination="P2a-yk-5Rx" kind="relationship" relationship="tabItems" id="HER-xL-S6y"/>
                        <segue destination="ssC-ed-19K" kind="relationship" relationship="tabItems" id="ppI-q9-PJm"/>
                        <segue destination="PXw-YJ-q6A" kind="relationship" relationship="tabItems" id="lxO-6V-7BP"/>
                        <segue destination="2un-du-hJz" kind="relationship" relationship="tabItems" id="KnF-bE-uZD"/>
                        <segue destination="X76-X8-PbG" kind="relationship" relationship="tabItems" id="Q4A-W6-Oyn"/>
                        <segue destination="mvt-gI-iG0" kind="relationship" relationship="tabItems" id="qYM-eH-890"/>
                    </connections>
                </tabViewController>
                <customObject id="9E2-Js-TDw" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
                <userDefaultsController id="qTX-G9-cKe"/>
            </objects>
            <point key="canvasLocation" x="1343" y="45"/>
        </scene>
        <!--General-->
        <scene sceneID="8BR-f0-7JZ">
            <objects>
                <viewController title="General" id="NHv-lG-vxt" customClass="PreferencesGeneralViewController" customModule="FSNotes" customModuleProvider="target" sceneMemberID="viewController">
                    <view key="view" id="4Xk-4f-czc">
                        <rect key="frame" x="0.0" y="0.0" width="468" height="571"/>
                        <autoresizingMask key="autoresizingMask"/>
                        <subviews>
                            <customView translatesAutoresizingMaskIntoConstraints="NO" id="rjd-D6-Jj2" customClass="MASShortcutView">
                                <rect key="frame" x="255" y="104" width="178" height="25"/>
                                <constraints>
                                    <constraint firstAttribute="height" constant="25" id="Cvw-f5-Zb0"/>
                                    <constraint firstAttribute="width" constant="178" id="wsm-9W-2qC"/>
                                </constraints>
                            </customView>
                            <customView translatesAutoresizingMaskIntoConstraints="NO" id="XYa-Po-O09" customClass="MASShortcutView">
                                <rect key="frame" x="35" y="104" width="169" height="25"/>
                                <constraints>
                                    <constraint firstAttribute="width" constant="169" id="If5-ek-85k"/>
                                    <constraint firstAttribute="height" constant="25" id="uHR-VQ-LaB"/>
                                </constraints>
                            </customView>
                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="81L-hB-Mc1">
                                <rect key="frame" x="33" y="525" width="426" height="16"/>
                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Default Storage:" id="fmS-eE-nne">
                                    <font key="font" metaFont="system"/>
                                    <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                                </textFieldCell>
                            </textField>
                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="XZf-Ag-G2L">
                                <rect key="frame" x="359" y="489" width="81" height="32"/>
                                <buttonCell key="cell" type="push" title="Change" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="nBn-aV-7mt">
                                    <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                    <font key="font" metaFont="system"/>
                                </buttonCell>
                                <connections>
                                    <action selector="changeDefaultStorage:" target="NHv-lG-vxt" id="LS1-05-YQG"/>
                                </connections>
                            </button>
                            <pathControl horizontalHuggingPriority="100" verticalHuggingPriority="750" horizontalCompressionResistancePriority="1" allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dkg-Hb-c1w">
                                <rect key="frame" x="35" y="495" width="323" height="22"/>
                                <constraints>
                                    <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="100" id="10Y-Pk-0Xu"/>
                                </constraints>
                                <pathCell key="cell" selectable="YES" editable="YES" alignment="left" id="3NY-lU-xWa">
                                    <font key="font" metaFont="system"/>
                                    <url key="url" string="file://localhost/Applications/"/>
                                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                                </pathCell>
                            </pathControl>
                            <box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="4Kr-dW-0Jm">
                                <rect key="frame" x="20" y="472" width="452" height="5"/>
                            </box>
                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="TXq-y1-xzw">
                                <rect key="frame" x="253" y="137" width="152" height="16"/>
                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Save clipboard shortcut:" id="gbE-yH-ECm">
                                    <font key="font" metaFont="system"/>
                                    <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                                </textFieldCell>
                            </textField>
                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="bMo-2z-4jT">
                                <rect key="frame" x="33" y="137" width="105" height="16"/>
                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Search shortcut:" id="a6n-hz-V8D">
                                    <font key="font" metaFont="system"/>
                                    <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                                </textFieldCell>
                            </textField>
                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="UaP-4D-ZNN">
                                <rect key="frame" x="33" y="237" width="279" height="18"/>
                                <buttonCell key="cell" type="check" title="Focus on search bar when ESC is pressed" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="Vwq-Ek-K2v">
                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
                                    <font key="font" metaFont="system"/>
                                </buttonCell>
                                <connections>
                                    <action selector="searchFocusOnESC:" target="NHv-lG-vxt" id="tvd-sF-9ty"/>
                                </connections>
                            </button>
                            <box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="e7K-T3-Vtb">
                                <rect key="frame" x="20" y="316" width="428" height="5"/>
                            </box>
                            <box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="BIH-5M-4PT">
                                <rect key="frame" x="20" y="171" width="428" height="5"/>
                            </box>
                            <popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="P8W-WS-MSI">
                                <rect key="frame" x="243" y="432" width="107" height="25"/>
                                <popUpButtonCell key="cell" type="push" title="TextBundle" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" tag="3" imageScaling="proportionallyDown" inset="2" selectedItem="MCR-1v-3Wc" id="u6Y-Is-Nwm">
                                    <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
                                    <font key="font" usesAppearanceFont="YES"/>
                                    <menu key="menu" id="kGi-nO-Y2a">
                                        <items>
                                            <menuItem title="TextBundle" state="on" tag="3" id="MCR-1v-3Wc"/>
                                            <menuItem title="None" tag="1" id="xxB-ic-LFu"/>
                                        </items>
                                    </menu>
                                </popUpButtonCell>
                                <connections>
                                    <action selector="fileContainer:" target="NHv-lG-vxt" id="7gU-Lr-OUP"/>
                                </connections>
                            </popUpButton>
                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Cyw-aB-0wY">
                                <rect key="frame" x="156" y="438" width="67" height="16"/>
                                <textFieldCell key="cell" lineBreakMode="clipping" title="Container:" id="mXw-d9-js5">
                                    <font key="font" metaFont="system"/>
                                    <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                </textFieldCell>
                            </textField>
                            <textField identifier="openInExternalEditor" focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7Hz-R4-h7D">
                                <rect key="frame" x="246" y="371" width="187" height="21"/>
                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="TextEdit" drawsBackground="YES" id="1XY-bI-DX7">
                                    <font key="font" metaFont="system"/>
                                    <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                </textFieldCell>
                                <connections>
                                    <action selector="externalEditor:" target="NHv-lG-vxt" id="7GF-3g-9zI"/>
                                    <binding destination="gPl-hR-49I" name="value" keyPath="values.externalEditorApp" id="0j3-ee-7f3"/>
                                </connections>
                            </textField>
                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1vW-Wi-nGt">
                                <rect key="frame" x="76" y="374" width="147" height="16"/>
                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Open in External Editor:" id="zcY-e5-gKs">
                                    <font key="font" metaFont="system"/>
                                    <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                                </textFieldCell>
                            </textField>
                            <popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Qf2-ns-Osr">
                                <rect key="frame" x="243" y="400" width="106" height="25"/>
                                <popUpButtonCell key="cell" type="push" title=".markdown" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="HK7-Qq-ilB" id="SNo-Pc-VFy">
                                    <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
                                    <font key="font" usesAppearanceFont="YES"/>
                                    <menu key="menu" id="5cf-YK-mN9">
                                        <items>
                                            <menuItem title=".markdown" state="on" id="HK7-Qq-ilB"/>
                                            <menuItem title=".md" id="bCL-eg-DgP"/>
                                            <menuItem title=".txt" id="TfH-z4-HHY"/>
                                        </items>
                                    </menu>
                                </popUpButtonCell>
                                <connections>
                                    <action selector="defaultExtension:" target="NHv-lG-vxt" id="Pgm-OZ-qRz"/>
                                </connections>
                            </popUpButton>
                            <popUpButton verticalHuggingPriority="750" horizontalCompressionResistancePriority="1" translatesAutoresizingMaskIntoConstraints="NO" id="UbX-Sa-Jtd">
                                <rect key="frame" x="243" y="335" width="194" height="25"/>
                                <popUpButtonCell key="cell" type="push" title="Autoname by Title (30s)" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" tag="5" imageScaling="proportionallyDown" inset="2" selectedItem="y5T-sb-gw4" id="3k2-O8-Jza">
                                    <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
                                    <font key="font" usesAppearanceFont="YES"/>
                                    <menu key="menu" id="Ilk-gp-eEJ">
                                        <items>
                                            <menuItem title="Autoname by Title (30s)" state="on" tag="5" id="y5T-sb-gw4">
                                                <modifierMask key="keyEquivalentModifierMask"/>
                                            </menuItem>
                                            <menuItem title="Auto Rename By Title" tag="1" id="wW6-4n-sve"/>
                                            <menuItem title="Format: UUID" id="cmH-fQ-bVK"/>
                                            <menuItem title="Format: Untitled Note" tag="2" id="IWL-lp-G1M">
                                                <modifierMask key="keyEquivalentModifierMask"/>
                                            </menuItem>
                                            <menuItem title="Format: yyyyMMddHHmmss" tag="3" id="aVa-yH-IpC">
                                                <modifierMask key="keyEquivalentModifierMask"/>
                                            </menuItem>
                                            <menuItem title="Format: yyyy-MM-dd hh.mm.ss a" tag="4" id="qn1-vy-8oB">
                                                <modifierMask key="keyEquivalentModifierMask"/>
                                            </menuItem>
                                        </items>
                                    </menu>
                                </popUpButtonCell>
                                <connections>
                                    <action selector="filesNaming:" target="NHv-lG-vxt" id="dK7-H3-kSu"/>
                                </connections>
                            </popUpButton>
                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="JjB-78-ifK">
                                <rect key="frame" x="137" y="342" width="86" height="16"/>
                                <textFieldCell key="cell" lineBreakMode="clipping" title="Files Naming:" id="FS0-ZJ-WvJ">
                                    <font key="font" metaFont="system"/>
                                    <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                </textFieldCell>
                            </textField>
                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="0MX-CO-c4Y">
                                <rect key="frame" x="172" y="406" width="51" height="16"/>
                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Format:" id="ctD-Qn-kDS">
                                    <font key="font" metaFont="system"/>
                                    <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                                </textFieldCell>
                            </textField>
                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1T1-iH-jib">
                                <rect key="frame" x="33" y="68" width="74" height="16"/>
                                <textFieldCell key="cell" lineBreakMode="clipping" title="Quick note:" id="yNE-Yn-AWj">
                                    <font key="font" metaFont="system"/>
                                    <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                </textFieldCell>
                            </textField>
                            <customView translatesAutoresizingMaskIntoConstraints="NO" id="B3F-c9-AP8" customClass="MASShortcutView">
                                <rect key="frame" x="35" y="35" width="169" height="25"/>
                                <constraints>
                                    <constraint firstAttribute="height" constant="25" id="s6k-MV-VCi"/>
                                </constraints>
                            </customView>
                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="187-a6-mAR">
                                <rect key="frame" x="33" y="215" width="284" height="18"/>
                                <buttonCell key="cell" type="check" title="Automatic iCloud Drive conflicts resolution" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="t3f-wS-BqN">
                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
                                    <font key="font" metaFont="system"/>
                                </buttonCell>
                                <connections>
                                    <action selector="automaticConflictsResolution:" target="NHv-lG-vxt" id="zsj-xy-jJK"/>
                                </connections>
                            </button>
                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Akc-AN-R9w">
                                <rect key="frame" x="33" y="193" width="278" height="18"/>
                                <buttonCell key="cell" type="check" title="Use TextBundle info.json to store c/mtime" bezelStyle="regularSquare" imagePosition="left" inset="2" id="nTf-oq-7k2">
                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
                                    <font key="font" metaFont="system"/>
                                </buttonCell>
                                <connections>
                                    <action selector="saveTextBundleMetaData:" target="NHv-lG-vxt" id="ox9-V3-f1m"/>
                                </connections>
                            </button>
                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="uTG-yn-jge">
                                <rect key="frame" x="33" y="259" width="297" height="18"/>
                                <buttonCell key="cell" type="check" title="Note auto selection when body text matched" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="ZqK-gu-KdQ">
                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
                                    <font key="font" metaFont="system"/>
                                </buttonCell>
                                <connections>
                                    <action selector="textMatchAutoSelection:" target="NHv-lG-vxt" id="qlh-wK-MIV"/>
                                </connections>
                            </button>
                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="qW8-n9-YAx">
                                <rect key="frame" x="33" y="281" width="328" height="18"/>
                                <buttonCell key="cell" type="check" title="Hide FSNotes when activating another application" bezelStyle="regularSquare" imagePosition="left" inset="2" id="M29-fW-FJa">
                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
                                    <font key="font" metaFont="system"/>
                                </buttonCell>
                                <connections>
                                    <action selector="changeHideOnDeactivate:" target="NHv-lG-vxt" id="vhB-yD-KJt"/>
                                </connections>
                            </button>
                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="oAW-vX-xph">
                                <rect key="frame" x="253" y="68" width="182" height="16"/>
                                <textFieldCell key="cell" lineBreakMode="clipping" title="Activate:" id="0o7-iB-dtg">
                                    <font key="font" metaFont="system"/>
                                    <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                </textFieldCell>
                            </textField>
                            <customView translatesAutoresizingMaskIntoConstraints="NO" id="b4Q-10-yq8" customClass="MASShortcutView">
                                <rect key="frame" x="255" y="35" width="178" height="25"/>
                                <constraints>
                                    <constraint firstAttribute="width" constant="178" id="0RV-2z-TtT"/>
                                </constraints>
                            </customView>
                        </subviews>
                        <constraints>
                            <constraint firstItem="7Hz-R4-h7D" firstAttribute="leading" secondItem="1vW-Wi-nGt" secondAttribute="trailing" constant="25" id="1Px-GF-v1A"/>
                            <constraint firstAttribute="trailing" secondItem="rjd-D6-Jj2" secondAttribute="trailing" constant="35" id="4EG-2q-Wy4"/>
                            <constraint firstItem="rjd-D6-Jj2" firstAttribute="top" secondItem="TXq-y1-xzw" secondAttribute="bottom" constant="8" symbolic="YES" id="5d4-GJ-axU"/>
                            <constraint firstItem="XYa-Po-O09" firstAttribute="top" secondItem="bMo-2z-4jT" secondAttribute="bottom" constant="8" symbolic="YES" id="7iT-Ba-g7S"/>
                            <constraint firstItem="bMo-2z-4jT" firstAttribute="top" secondItem="BIH-5M-4PT" secondAttribute="bottom" constant="20" id="7pF-DH-9ts"/>
                            <constraint firstItem="B3F-c9-AP8" firstAttribute="trailing" secondItem="XYa-Po-O09" secondAttribute="trailing" id="8mP-a1-l2Q"/>
                            <constraint firstAttribute="trailing" secondItem="b4Q-10-yq8" secondAttribute="trailing" constant="35" id="AvH-lI-bwd"/>
                            <constraint firstItem="Akc-AN-R9w" firstAttribute="leading" secondItem="187-a6-mAR" secondAttribute="leading" id="CjW-VG-Ez8"/>
                            <constraint firstItem="qW8-n9-YAx" firstAttribute="leading" secondItem="4Xk-4f-czc" secondAttribute="leading" constant="35" id="DhD-rj-JUt"/>
                            <constraint firstItem="Cyw-aB-0wY" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="4Xk-4f-czc" secondAttribute="leading" constant="20" symbolic="YES" id="F8e-cT-4nC"/>
                            <constraint firstAttribute="trailing" secondItem="81L-hB-Mc1" secondAttribute="trailing" constant="11" id="FWR-0L-QkT"/>
                            <constraint firstItem="1vW-Wi-nGt" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="4Xk-4f-czc" secondAttribute="leading" constant="20" symbolic="YES" id="HRT-0a-6w7"/>
                            <constraint firstItem="XZf-Ag-G2L" firstAttribute="centerY" secondItem="dkg-Hb-c1w" secondAttribute="centerY" id="IWB-ar-OkH"/>
                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="TXq-y1-xzw" secondAttribute="trailing" constant="35" id="J5R-MR-9PH"/>
                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="P8W-WS-MSI" secondAttribute="trailing" constant="20" symbolic="YES" id="JVx-Rc-KGH"/>
                            <constraint firstItem="UbX-Sa-Jtd" firstAttribute="firstBaseline" secondItem="JjB-78-ifK" secondAttribute="firstBaseline" id="JyW-lo-2O0"/>
                            <constraint firstItem="P8W-WS-MSI" firstAttribute="leading" secondItem="Cyw-aB-0wY" secondAttribute="trailing" constant="25" id="K4m-6p-4Ys"/>
                            <constraint firstItem="4Kr-dW-0Jm" firstAttribute="leading" secondItem="4Xk-4f-czc" secondAttribute="leading" constant="20" symbolic="YES" id="KAC-HP-TqR"/>
                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="qW8-n9-YAx" secondAttribute="trailing" constant="35" id="LXA-gs-LZg"/>
                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="UbX-Sa-Jtd" secondAttribute="trailing" constant="35" id="M4E-yE-pX1"/>
                            <constraint firstItem="UaP-4D-ZNN" firstAttribute="top" secondItem="uTG-yn-jge" secondAttribute="bottom" constant="6" symbolic="YES" id="Nao-g3-xgn"/>
                            <constraint firstItem="qW8-n9-YAx" firstAttribute="top" secondItem="e7K-T3-Vtb" secondAttribute="bottom" constant="20" id="OY4-tg-MIm"/>
                            <constraint firstItem="P8W-WS-MSI" firstAttribute="leading" secondItem="4Xk-4f-czc" secondAttribute="centerX" constant="12" id="OnF-Gy-ztC"/>
                            <constraint firstItem="1T1-iH-jib" firstAttribute="top" secondItem="XYa-Po-O09" secondAttribute="bottom" constant="20" id="OuF-xZ-5S8"/>
                            <constraint firstAttribute="trailing" secondItem="BIH-5M-4PT" secondAttribute="trailing" constant="20" symbolic="YES" id="Q1y-B8-pHU"/>
                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="uTG-yn-jge" secondAttribute="trailing" constant="35" id="QOM-gZ-Dh0"/>
                            <constraint firstItem="oAW-vX-xph" firstAttribute="top" secondItem="rjd-D6-Jj2" secondAttribute="bottom" constant="20" id="QkD-1h-537"/>
                            <constraint firstItem="Akc-AN-R9w" firstAttribute="top" secondItem="187-a6-mAR" secondAttribute="bottom" constant="6" symbolic="YES" id="R27-V8-AdN"/>
                            <constraint firstItem="Qf2-ns-Osr" firstAttribute="centerY" secondItem="0MX-CO-c4Y" secondAttribute="centerY" id="RLu-ch-v2c"/>
                            <constraint firstItem="b4Q-10-yq8" firstAttribute="trailing" secondItem="oAW-vX-xph" secondAttribute="trailing" id="RNL-EQ-YMb"/>
                            <constraint firstItem="Qf2-ns-Osr" firstAttribute="leading" secondItem="0MX-CO-c4Y" secondAttribute="trailing" constant="25" id="RWh-v8-p4O"/>
                            <constraint firstItem="XZf-Ag-G2L" firstAttribute="leading" secondItem="dkg-Hb-c1w" secondAttribute="trailing" constant="8" symbolic="YES" id="RjQ-Go-XgZ"/>
                            <constraint firstAttribute="bottom" secondItem="b4Q-10-yq8" secondAttribute="bottom" constant="35" id="Rvy-u6-vHK"/>
                            <constraint firstItem="UbX-Sa-Jtd" firstAttribute="leading" secondItem="JjB-78-ifK" secondAttribute="trailing" constant="25" id="SRJ-V6-CRJ"/>
                            <constraint firstItem="0MX-CO-c4Y" firstAttribute="top" secondItem="Cyw-aB-0wY" secondAttribute="bottom" constant="16" id="Tx1-0O-4iU"/>
                            <constraint firstItem="B3F-c9-AP8" firstAttribute="leading" secondItem="4Xk-4f-czc" secondAttribute="leading" constant="35" id="VZ8-Qx-dMf"/>
                            <constraint firstItem="bMo-2z-4jT" firstAttribute="leading" secondItem="4Xk-4f-czc" secondAttribute="leading" constant="35" id="Wjx-iB-fU4"/>
                            <constraint firstItem="TXq-y1-xzw" firstAttribute="firstBaseline" secondItem="bMo-2z-4jT" secondAttribute="firstBaseline" id="XG1-9H-dIr"/>
                            <constraint firstItem="81L-hB-Mc1" firstAttribute="top" secondItem="4Xk-4f-czc" secondAttribute="top" constant="30" id="XKj-Go-RBM"/>
                            <constraint firstItem="Cyw-aB-0wY" firstAttribute="top" secondItem="4Kr-dW-0Jm" secondAttribute="bottom" constant="20" id="XbJ-Tz-ACd"/>
                            <constraint firstItem="BIH-5M-4PT" firstAttribute="leading" secondItem="4Xk-4f-czc" secondAttribute="leading" constant="20" symbolic="YES" id="Yck-fc-VKn"/>
                            <constraint firstAttribute="trailing" secondItem="XZf-Ag-G2L" secondAttribute="trailing" constant="35" id="Zxv-L8-7ak"/>
                            <constraint firstItem="1vW-Wi-nGt" firstAttribute="top" secondItem="0MX-CO-c4Y" secondAttribute="bottom" constant="16" id="ZzC-Nz-BlA"/>
                            <constraint firstItem="TXq-y1-xzw" firstAttribute="leading" secondItem="rjd-D6-Jj2" secondAttribute="leading" id="a2E-l8-Myr"/>
                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="Akc-AN-R9w" secondAttribute="trailing" constant="35" id="aQA-SY-zTb"/>
                            <constraint firstItem="JjB-78-ifK" firstAttribute="trailing" secondItem="1vW-Wi-nGt" secondAttribute="trailing" id="b5I-tU-QMY"/>
                            <constraint firstItem="UbX-Sa-Jtd" firstAttribute="trailing" secondItem="7Hz-R4-h7D" secondAttribute="trailing" id="bL9-gf-K4r"/>
                            <constraint firstItem="dkg-Hb-c1w" firstAttribute="leading" secondItem="81L-hB-Mc1" secondAttribute="leading" id="bgQ-px-vLb"/>
                            <constraint firstItem="e7K-T3-Vtb" firstAttribute="top" secondItem="UbX-Sa-Jtd" secondAttribute="bottom" constant="20" id="dIC-Qb-4iy"/>
                            <constraint firstItem="187-a6-mAR" firstAttribute="leading" secondItem="UaP-4D-ZNN" secondAttribute="leading" id="dgB-wx-7kc"/>
                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="187-a6-mAR" secondAttribute="trailing" constant="35" id="eEc-3r-7g0"/>
                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="7Hz-R4-h7D" secondAttribute="trailing" constant="35" id="ehY-et-Nz0"/>
                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="UaP-4D-ZNN" secondAttribute="trailing" constant="35" id="f2F-B7-7hH"/>
                            <constraint firstAttribute="bottom" secondItem="B3F-c9-AP8" secondAttribute="bottom" constant="35" id="feu-I4-VMb"/>
                            <constraint firstItem="0MX-CO-c4Y" firstAttribute="trailing" secondItem="Cyw-aB-0wY" secondAttribute="trailing" id="g49-cs-WqE"/>
                            <constraint firstItem="JjB-78-ifK" firstAttribute="top" secondItem="1vW-Wi-nGt" secondAttribute="bottom" constant="16" id="g4H-bP-ffd"/>
                            <constraint firstItem="P8W-WS-MSI" firstAttribute="centerY" secondItem="Cyw-aB-0wY" secondAttribute="centerY" id="geN-Nk-NKC"/>
                            <constraint firstItem="b4Q-10-yq8" firstAttribute="leading" secondItem="oAW-vX-xph" secondAttribute="leading" id="gzK-ua-xLU"/>
                            <constraint firstItem="b4Q-10-yq8" firstAttribute="top" secondItem="oAW-vX-xph" secondAttribute="bottom" constant="8" symbolic="YES" id="hhR-5T-sdU"/>
                            <constraint firstItem="dkg-Hb-c1w" firstAttribute="top" secondItem="81L-hB-Mc1" secondAttribute="bottom" constant="8" symbolic="YES" id="iCp-he-DMb"/>
                            <constraint firstItem="JjB-78-ifK" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="4Xk-4f-czc" secondAttribute="leading" constant="20" symbolic="YES" id="ijN-p7-YPG"/>
                            <constraint firstItem="1T1-iH-jib" firstAttribute="leading" secondItem="4Xk-4f-czc" secondAttribute="leading" constant="35" id="l82-ol-rAX"/>
                            <constraint firstItem="B3F-c9-AP8" firstAttribute="top" secondItem="1T1-iH-jib" secondAttribute="bottom" constant="8" symbolic="YES" id="lH6-E4-5O4"/>
                            <constraint firstItem="UaP-4D-ZNN" firstAttribute="leading" secondItem="qW8-n9-YAx" secondAttribute="leading" id="lxg-a3-oOA"/>
                            <constraint firstItem="e7K-T3-Vtb" firstAttribute="leading" secondItem="4Xk-4f-czc" secondAttribute="leading" constant="20" symbolic="YES" id="mRB-Pp-CPW"/>
                            <constraint firstItem="uTG-yn-jge" firstAttribute="top" secondItem="qW8-n9-YAx" secondAttribute="bottom" constant="6" symbolic="YES" id="mfC-r3-ohE"/>
                            <constraint firstAttribute="trailing" secondItem="4Kr-dW-0Jm" secondAttribute="trailing" constant="-4" id="n79-9A-pPE"/>
                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="Qf2-ns-Osr" secondAttribute="trailing" constant="20" symbolic="YES" id="ni1-yl-rbf"/>
                            <constraint firstItem="XYa-Po-O09" firstAttribute="leading" secondItem="bMo-2z-4jT" secondAttribute="leading" id="oVH-58-dGa"/>
                            <constraint firstItem="BIH-5M-4PT" firstAttribute="top" secondItem="Akc-AN-R9w" secondAttribute="bottom" constant="20" id="phH-vC-hYS"/>
                            <constraint firstItem="dkg-Hb-c1w" firstAttribute="leading" secondItem="4Xk-4f-czc" secondAttribute="leading" constant="35" id="ps6-UX-PGe"/>
                            <constraint firstItem="4Kr-dW-0Jm" firstAttribute="top" secondItem="dkg-Hb-c1w" secondAttribute="bottom" constant="20" id="q98-nm-CRR"/>
                            <constraint firstItem="0MX-CO-c4Y" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="4Xk-4f-czc" secondAttribute="leading" constant="20" symbolic="YES" id="sF2-OW-MBx"/>
                            <constraint firstItem="187-a6-mAR" firstAttribute="top" secondItem="UaP-4D-ZNN" secondAttribute="bottom" constant="6" symbolic="YES" id="ss9-0K-Jlm"/>
                            <constraint firstAttribute="trailing" secondItem="e7K-T3-Vtb" secondAttribute="trailing" constant="20" symbolic="YES" id="uCD-Gg-boQ"/>
                            <constraint firstItem="1vW-Wi-nGt" firstAttribute="trailing" secondItem="0MX-CO-c4Y" secondAttribute="trailing" id="vyF-e3-TtX"/>
                            <constraint firstItem="7Hz-R4-h7D" firstAttribute="firstBaseline" secondItem="1vW-Wi-nGt" secondAttribute="firstBaseline" id="xNe-4T-VFA"/>
                            <constraint firstItem="uTG-yn-jge" firstAttribute="leading" secondItem="qW8-n9-YAx" secondAttribute="leading" id="zxz-hL-scm"/>
                        </constraints>
                    </view>
                    <connections>
                        <outlet property="activateShortcut" destination="b4Q-10-yq8" id="dFf-dH-P0o"/>
                        <outlet property="automaticConflictsResolution" destination="187-a6-mAR" id="VAS-8V-m6d"/>
                        <outlet property="defaultExtension" destination="Qf2-ns-Osr" id="jAT-C4-8fh"/>
                        <outlet property="defaultStoragePath" destination="dkg-Hb-c1w" id="ly3-HH-jj3"/>
                        <outlet property="externalEditorApp" destination="7Hz-R4-h7D" id="2xL-OW-e8B"/>
                        <outlet property="fileContainer" destination="P8W-WS-MSI" id="bSq-48-iHc"/>
                        <outlet property="filesNaming" destination="UbX-Sa-Jtd" id="3L6-jh-WAB"/>
                        <outlet property="hideOnDeactivate" destination="qW8-n9-YAx" id="g1U-XI-JGU"/>
                        <outlet property="newNoteshortcutView" destination="rjd-D6-Jj2" id="Adh-7m-agR"/>
                        <outlet property="quickNote" destination="B3F-c9-AP8" id="VI1-A8-kXk"/>
                        <outlet property="saveTextBundleMetaData" destination="Akc-AN-R9w" id="Xcl-DD-egH"/>
                        <outlet property="searchFocusOnESC" destination="UaP-4D-ZNN" id="SX9-jC-ect"/>
                        <outlet property="searchNotesShortcut" destination="XYa-Po-O09" id="EWj-n1-bzn"/>
                        <outlet property="showInMenuBar" destination="ax0-sQ-dzy" id="nPC-Ke-oHy"/>
                        <outlet property="textMatchAutoSelection" destination="uTG-yn-jge" id="f4H-hJ-RvZ"/>
                    </connections>
                </viewController>
                <customObject id="o4P-dg-Cec" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
                <userDefaultsController id="gPl-hR-49I"/>
            </objects>
            <point key="canvasLocation" x="726" y="732.5"/>
        </scene>
        <!--Layout-->
        <scene sceneID="vmk-ef-Yif">
            <objects>
                <viewController title="Layout" id="P2a-yk-5Rx" customClass="PreferencesUserInterfaceViewController" customModule="FSNotes" customModuleProvider="target" sceneMemberID="viewController">
                    <view key="view" horizontalHuggingPriority="100" translatesAutoresizingMaskIntoConstraints="NO" id="GGR-Nj-xCY">
                        <rect key="frame" x="0.0" y="0.0" width="550" height="345"/>
                        <subviews>
                            <box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="9b2-ti-sGJ">
                                <rect key="frame" x="20" y="236" width="510" height="5"/>
                            </box>
                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="FFS-iV-L6i">
                                <rect key="frame" x="33" y="100" width="105" height="18"/>
                                <buttonCell key="cell" type="check" title="Hide preview" bezelStyle="regularSquare" imagePosition="left" inset="2" id="F6G-ua-MNX">
                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
                                    <font key="font" metaFont="system"/>
                                </buttonCell>
                                <connections>
                                    <action selector="changePreview:" target="P2a-yk-5Rx" id="1AT-gZ-zaj"/>
                                </connections>
                            </button>
                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="kBX-OV-8sO">
                                <rect key="frame" x="33" y="122" width="152" height="18"/>
                                <buttonCell key="cell" type="check" title="Hide images preview" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="6AI-tL-TDI">
                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
                                    <font key="font" metaFont="system"/>
                                </buttonCell>
                                <connections>
                                    <action selector="hideImagesPreview:" target="P2a-yk-5Rx" id="yb9-xh-UFF"/>
                                </connections>
                            </button>
                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="MAi-TG-JXR">
                                <rect key="frame" x="162" y="294" width="115" height="16"/>
                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Note List Spacing:" id="bXK-wP-sZc">
                                    <font key="font" metaFont="system"/>
                                    <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                                </textFieldCell>
                            </textField>
                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Hy2-6l-V6s">
                                <rect key="frame" x="33" y="78" width="85" height="18"/>
                                <buttonCell key="cell" type="check" title="Hide date" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="e15-ps-th1">
                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
                                    <font key="font" metaFont="system"/>
                                </buttonCell>
                                <connections>
                                    <action selector="hideDate:" target="P2a-yk-5Rx" id="ppm-oh-GQv"/>
                                </connections>
                            </button>
                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="GN8-Yw-N26">
                                <rect key="frame" x="161" y="262" width="116" height="16"/>
                                <textFieldCell key="cell" lineBreakMode="clipping" title="Preview Font Size:" id="xJQ-ch-Xlp">
                                    <font key="font" metaFont="system"/>
                                    <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                </textFieldCell>
                            </textField>
                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Yn6-yP-tkd">
                                <rect key="frame" x="33" y="56" width="122" height="18"/>
                                <buttonCell key="cell" type="check" title="First line as title" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="tMJ-Dj-OZc">
                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
                                    <font key="font" metaFont="system"/>
                                </buttonCell>
                                <connections>
                                    <action selector="firstLineAsTitle:" target="P2a-yk-5Rx" id="xpg-88-OBx"/>
                                </connections>
                            </button>
                            <box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="thJ-9r-qKd">
                                <rect key="frame" x="20" y="157" width="510" height="5"/>
                            </box>
                            <slider verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="X4v-hO-tFb">
                                <rect key="frame" x="298" y="286" width="154" height="28"/>
                                <constraints>
                                    <constraint firstAttribute="width" constant="150" id="Xyd-Vk-ueZ"/>
                                </constraints>
                                <sliderCell key="cell" continuous="YES" state="on" alignment="left" maxValue="65" tickMarkPosition="above" sliderType="linear" id="hkY-Mc-VIz">
                                    <connections>
                                        <binding destination="feO-BX-gQb" name="value" keyPath="values.cellSpacing" id="Ixh-K9-pnZ"/>
                                    </connections>
                                </sliderCell>
                                <connections>
                                    <action selector="changeCellSpacing:" target="P2a-yk-5Rx" id="24G-de-vQk"/>
                                </connections>
                            </slider>
                            <popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="h8R-h7-V5R">
                                <rect key="frame" x="297" y="255" width="88" height="25"/>
                                <popUpButtonCell key="cell" type="push" title="Small" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" tag="11" imageScaling="proportionallyDown" inset="2" selectedItem="8AQ-IN-Edm" id="Wo8-7N-6sB">
                                    <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
                                    <font key="font" usesAppearanceFont="YES"/>
                                    <menu key="menu" id="h03-jd-8ll">
                                        <items>
                                            <menuItem title="Big" tag="13" id="cUI-cw-eo5"/>
                                            <menuItem title="Medium" tag="12" id="DcN-1g-hEi"/>
                                            <menuItem title="Small" state="on" tag="11" id="8AQ-IN-Edm"/>
                                        </items>
                                    </menu>
                                </popUpButtonCell>
                                <connections>
                                    <action selector="changePreviewFontSize:" target="P2a-yk-5Rx" id="peK-BX-xIu"/>
                                </connections>
                            </popUpButton>
                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="BWu-lt-Hmt">
                                <rect key="frame" x="33" y="201" width="136" height="18"/>
                                <buttonCell key="cell" type="check" title="Show icon in dock" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="bJv-E9-bwW">
                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
                                    <font key="font" metaFont="system"/>
                                </buttonCell>
                                <connections>
                                    <action selector="showDockIcon:" target="P2a-yk-5Rx" id="MOg-XN-LXw"/>
                                </connections>
                            </button>
                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ax0-sQ-dzy">
                                <rect key="frame" x="33" y="179" width="164" height="18"/>
                                <buttonCell key="cell" type="check" title="Show icon in menu bar" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="SSY-US-gmJ">
                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
                                    <font key="font" metaFont="system"/>
                                </buttonCell>
                                <connections>
                                    <action selector="showInMenuBar:" target="P2a-yk-5Rx" id="Ie7-i4-4bm"/>
                                </connections>
                            </button>
                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="4gq-Ny-8kZ">
                                <rect key="frame" x="33" y="34" width="206" height="18"/>
                                <buttonCell key="cell" type="check" title="Arrange note list above editor" bezelStyle="regularSquare" imagePosition="left" inset="2" id="Ws8-ql-C52">
                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
                                    <font key="font" metaFont="system"/>
                                </buttonCell>
                                <connections>
                                    <action selector="horizontalOrientation:" target="P2a-yk-5Rx" id="jgb-f7-Qie"/>
                                </connections>
                            </button>
                        </subviews>
                        <constraints>
                            <constraint firstItem="kBX-OV-8sO" firstAttribute="leading" secondItem="GGR-Nj-xCY" secondAttribute="leading" constant="35" id="1Xz-yx-yJY"/>
                            <constraint firstItem="4gq-Ny-8kZ" firstAttribute="leading" secondItem="Yn6-yP-tkd" secondAttribute="leading" id="2ny-5B-EKG"/>
                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="4gq-Ny-8kZ" secondAttribute="trailing" constant="20" symbolic="YES" id="3Tx-Gi-Vl9"/>
                            <constraint firstItem="GN8-Yw-N26" firstAttribute="top" secondItem="MAi-TG-JXR" secondAttribute="bottom" constant="16" id="5WH-gS-efP"/>
                            <constraint firstItem="h8R-h7-V5R" firstAttribute="leading" secondItem="GN8-Yw-N26" secondAttribute="trailing" constant="25" id="755-3t-yXM"/>
                            <constraint firstAttribute="trailing" secondItem="thJ-9r-qKd" secondAttribute="trailing" constant="20" symbolic="YES" id="9DZ-IE-xnQ"/>
                            <constraint firstItem="FFS-iV-L6i" firstAttribute="leading" secondItem="kBX-OV-8sO" secondAttribute="leading" id="9Vk-O1-Gw0"/>
                            <constraint firstItem="ax0-sQ-dzy" firstAttribute="leading" secondItem="BWu-lt-Hmt" secondAttribute="leading" id="9fh-G3-nKW"/>
                            <constraint firstItem="Yn6-yP-tkd" firstAttribute="leading" secondItem="Hy2-6l-V6s" secondAttribute="leading" id="BOL-TI-Qnj"/>
                            <constraint firstAttribute="bottom" secondItem="4gq-Ny-8kZ" secondAttribute="bottom" constant="35" id="DAN-1V-Dpo"/>
                            <constraint firstItem="BWu-lt-Hmt" firstAttribute="top" secondItem="9b2-ti-sGJ" secondAttribute="bottom" constant="20" id="H6i-af-SIR"/>
                            <constraint firstItem="4gq-Ny-8kZ" firstAttribute="top" secondItem="Yn6-yP-tkd" secondAttribute="bottom" constant="6" symbolic="YES" id="HlI-v1-5rk"/>
                            <constraint firstItem="thJ-9r-qKd" firstAttribute="top" secondItem="ax0-sQ-dzy" secondAttribute="bottom" constant="20" id="ICs-MT-tFX"/>
                            <constraint firstAttribute="trailing" secondItem="9b2-ti-sGJ" secondAttribute="trailing" constant="20" symbolic="YES" id="JeV-Ik-fQo"/>
                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="h8R-h7-V5R" secondAttribute="trailing" constant="35" id="KPN-gr-sZx"/>
                            <constraint firstItem="X4v-hO-tFb" firstAttribute="centerY" secondItem="MAi-TG-JXR" secondAttribute="centerY" id="KcZ-YY-xH5"/>
                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="ax0-sQ-dzy" secondAttribute="trailing" constant="223" id="Kr0-nw-Rgx"/>
                            <constraint firstItem="FFS-iV-L6i" firstAttribute="top" secondItem="kBX-OV-8sO" secondAttribute="bottom" constant="6" symbolic="YES" id="R5n-u4-z2g"/>
                            <constraint firstItem="BWu-lt-Hmt" firstAttribute="leading" secondItem="GGR-Nj-xCY" secondAttribute="leading" constant="35" id="T0c-Gb-3Ra"/>
                            <constraint firstItem="MAi-TG-JXR" firstAttribute="top" secondItem="GGR-Nj-xCY" secondAttribute="top" constant="35" id="TTp-bP-fOm"/>
                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="BWu-lt-Hmt" secondAttribute="trailing" constant="251" id="Tjz-rm-KA4"/>
                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="FFS-iV-L6i" secondAttribute="trailing" constant="20" symbolic="YES" id="UYU-pg-OGA"/>
                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="Hy2-6l-V6s" secondAttribute="trailing" constant="20" symbolic="YES" id="VBP-ry-ssb"/>
                            <constraint firstItem="9b2-ti-sGJ" firstAttribute="top" secondItem="h8R-h7-V5R" secondAttribute="bottom" constant="20" id="Vby-Rc-07A"/>
                            <constraint firstItem="X4v-hO-tFb" firstAttribute="leading" secondItem="MAi-TG-JXR" secondAttribute="trailing" constant="25" id="cJK-rm-4cP"/>
                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="Yn6-yP-tkd" secondAttribute="trailing" constant="20" symbolic="YES" id="eSt-TT-Z2A"/>
                            <constraint firstItem="kBX-OV-8sO" firstAttribute="top" secondItem="thJ-9r-qKd" secondAttribute="bottom" constant="20" id="fav-MJ-PDz"/>
                            <constraint firstItem="Yn6-yP-tkd" firstAttribute="top" secondItem="Hy2-6l-V6s" secondAttribute="bottom" constant="6" symbolic="YES" id="g0e-nZ-vm9"/>
                            <constraint firstItem="MAi-TG-JXR" firstAttribute="trailing" secondItem="GGR-Nj-xCY" secondAttribute="centerX" id="gRB-fp-a1Z"/>
                            <constraint firstItem="Hy2-6l-V6s" firstAttribute="leading" secondItem="FFS-iV-L6i" secondAttribute="leading" id="hRV-nX-MwL"/>
                            <constraint firstItem="ax0-sQ-dzy" firstAttribute="top" secondItem="BWu-lt-Hmt" secondAttribute="bottom" constant="6" symbolic="YES" id="iNe-MI-PQr"/>
                            <constraint firstItem="h8R-h7-V5R" firstAttribute="leading" secondItem="X4v-hO-tFb" secondAttribute="leading" id="jJe-FC-2wT"/>
                            <constraint firstItem="h8R-h7-V5R" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="X4v-hO-tFb" secondAttribute="leading" id="k8N-MA-peX"/>
                            <constraint firstItem="GN8-Yw-N26" firstAttribute="trailing" secondItem="GGR-Nj-xCY" secondAttribute="centerX" id="pkA-hQ-wlD"/>
                            <constraint firstItem="h8R-h7-V5R" firstAttribute="firstBaseline" secondItem="GN8-Yw-N26" secondAttribute="firstBaseline" id="qz0-AQ-dQb"/>
                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="kBX-OV-8sO" secondAttribute="trailing" constant="20" symbolic="YES" id="svc-hM-Y19"/>
                            <constraint firstItem="thJ-9r-qKd" firstAttribute="leading" secondItem="GGR-Nj-xCY" secondAttribute="leading" constant="20" symbolic="YES" id="vY7-YB-8eK"/>
                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="X4v-hO-tFb" secondAttribute="trailing" constant="35" id="wmz-wR-azH"/>
                            <constraint firstItem="9b2-ti-sGJ" firstAttribute="leading" secondItem="GGR-Nj-xCY" secondAttribute="leading" constant="20" symbolic="YES" id="wzq-RG-rqN"/>
                            <constraint firstItem="Hy2-6l-V6s" firstAttribute="top" secondItem="FFS-iV-L6i" secondAttribute="bottom" constant="6" symbolic="YES" id="z5l-B7-eVh"/>
                        </constraints>
                    </view>
                    <connections>
                        <outlet property="cellSpacing" destination="X4v-hO-tFb" id="r4Y-4Z-kV3"/>
                        <outlet property="firstLineAsTitle" destination="Yn6-yP-tkd" id="Ap9-EI-2Tb"/>
                        <outlet property="hideDate" destination="Hy2-6l-V6s" id="Tfc-Ur-PnR"/>
                        <outlet property="hideImagesPreview" destination="kBX-OV-8sO" id="tgI-8X-Re0"/>
                        <outlet property="hidePreview" destination="FFS-iV-L6i" id="6e2-Xa-nly"/>
                        <outlet property="horizontalOrientation" destination="4gq-Ny-8kZ" id="bY1-PL-UlA"/>
                        <outlet property="previewFontSize" destination="h8R-h7-V5R" id="yTV-Pf-FSJ"/>
                        <outlet property="showDockIcon" destination="BWu-lt-Hmt" id="ttK-Oh-uLh"/>
                        <outlet property="showInMenuBar" destination="ax0-sQ-dzy" id="vW6-kA-hRk"/>
                    </connections>
                </viewController>
                <customObject id="7Tr-yU-uWi" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
                <userDefaultsController id="feO-BX-gQb"/>
            </objects>
            <point key="canvasLocation" x="1368" y="609"/>
        </scene>
        <!--Window Controller-->
        <scene sceneID="R2V-B0-nI4">
            <objects>
                <windowController storyboardIdentifier="MainWindowController" id="B8D-0N-5wS" customClass="MainWindowController" customModule="FSNotes" customModuleProvider="target" sceneMemberID="viewController">
                    <window key="window" title="FSNotes" allowsToolTipsWhenApplicationIsInactive="NO" restorable="NO" releasedWhenClosed="NO" frameAutosaveName="MainWindow" animationBehavior="default" tabbingMode="disallowed" titlebarAppearsTransparent="YES" id="IQv-IB-iLA" customClass="MainWindow" customModule="FSNotes" customModuleProvider="target">
                        <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES" texturedBackground="YES" fullSizeContentView="YES"/>
                        <rect key="contentRect" x="196" y="240" width="900" height="600"/>
                        <rect key="screenRect" x="0.0" y="0.0" width="1680" height="1027"/>
                        <connections>
                            <outlet property="delegate" destination="B8D-0N-5wS" id="98r-iN-zZc"/>
                        </connections>
                    </window>
                    <connections>
                        <segue destination="XfG-lQ-9wD" kind="relationship" relationship="window.shadowedContentViewController" id="cq2-FE-JQM"/>
                    </connections>
                </windowController>
                <customObject id="Oky-zY-oP4" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="-73" y="-85"/>
        </scene>
        <!--View Controller-->
        <scene sceneID="hIz-AP-VOD">
            <objects>
                <viewController id="XfG-lQ-9wD" customClass="ViewController" customModule="FSNotes" customModuleProvider="target" sceneMemberID="viewController">
                    <view key="view" wantsLayer="YES" id="m2S-Jp-Qdl">
                        <rect key="frame" x="0.0" y="0.0" width="951" height="600"/>
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <subviews>
                            <splitView arrangesAllSubviews="NO" dividerStyle="thin" vertical="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dO0-pK-Ktm" customClass="SidebarSplitView" customModule="FSNotes" customModuleProvider="target">
                                <rect key="frame" x="0.0" y="0.0" width="951" height="600"/>
                                <subviews>
                                    <customView autoresizesSubviews="NO" misplaced="YES" id="5sB-7J-vgE">
                                        <rect key="frame" x="0.0" y="0.0" width="144" height="600"/>
                                        <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                        <subviews>
                                            <scrollView fixedFrame="YES" borderType="none" autohidesScrollers="YES" horizontalLineScroll="52" horizontalPageScroll="10" verticalLineScroll="52" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BdT-Ac-GAV">
                                                <rect key="frame" x="0.0" y="0.0" width="144" height="600"/>
                                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                                <clipView key="contentView" drawsBackground="NO" id="ceg-yR-Ncf">
                                                    <rect key="frame" x="0.0" y="0.0" width="144" height="600"/>
                                                    <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                                    <subviews>
                                                        <outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" autosaveColumns="NO" rowHeight="50" rowSizeStyle="automatic" viewBased="YES" indentationPerLevel="16" autosaveExpandedItems="YES" outlineTableColumn="Gwp-vX-YaR" id="urA-eK-bWB" customClass="SidebarOutlineView" customModule="FSNotes" customModuleProvider="target">
                                                            <rect key="frame" x="0.0" y="0.0" width="144" height="562"/>
                                                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                                            <size key="intercellSpacing" width="3" height="2"/>
                                                            <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                            <color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
                                                            <tableColumns>
                                                                <tableColumn width="112" minWidth="16" maxWidth="1000" id="Gwp-vX-YaR">
                                                                    <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Library">
                                                                        <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
                                                                        <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
                                                                    </tableHeaderCell>
                                                                    <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="SFY-jB-hva">
                                                                        <font key="font" metaFont="system"/>
                                                                        <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
                                                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                                    </textFieldCell>
                                                                    <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
                                                                    <prototypeCellViews>
                                                                        <tableCellView identifier="DataCell" id="I0q-sX-uBq" customClass="SidebarCellView" customModule="FSNotes" customModuleProvider="target">
                                                                            <rect key="frame" x="11" y="1" width="121" height="50"/>
                                                                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                                                            <subviews>
                                                                                <imageView wantsLayer="YES" translatesAutoresizingMaskIntoConstraints="NO" id="1dd-W4-MiY">
                                                                                    <rect key="frame" x="3" y="17" width="17" height="17"/>
                                                                                    <constraints>
                                                                                        <constraint firstAttribute="width" constant="17" id="0qQ-T4-gWW"/>
                                                                                        <constraint firstAttribute="height" constant="17" id="lze-fP-ZIg"/>
                                                                                    </constraints>
                                                                                    <imageCell key="cell" refusesFirstResponder="YES" imageScaling="proportionallyDown" id="WHo-8O-PFO"/>
                                                                                </imageView>
                                                                                <textField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="kTp-qw-RCd">
                                                                                    <rect key="frame" x="23" y="17" width="97" height="16"/>
                                                                                    <textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" id="2ZQ-YX-F9M">
                                                                                        <font key="font" metaFont="system"/>
                                                                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                                                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                                                    </textFieldCell>
                                                                                    <attributedString key="userComments">
                                                                                        <fragment content="#bc-ignore!"/>
                                                                                    </attributedString>
                                                                                    <connections>
                                                                                        <action selector="projectName:" target="I0q-sX-uBq" id="Mx3-zh-Tac"/>
                                                                                    </connections>
                                                                                </textField>
                                                                            </subviews>
                                                                            <constraints>
                                                                                <constraint firstItem="1dd-W4-MiY" firstAttribute="leading" secondItem="I0q-sX-uBq" secondAttribute="leading" constant="3" id="KTq-ca-aXt"/>
                                                                                <constraint firstItem="kTp-qw-RCd" firstAttribute="leading" secondItem="1dd-W4-MiY" secondAttribute="trailing" constant="5" id="bav-Au-PqY"/>
                                                                                <constraint firstItem="kTp-qw-RCd" firstAttribute="centerY" secondItem="I0q-sX-uBq" secondAttribute="centerY" id="fox-W9-Kiy"/>
                                                                                <constraint firstItem="1dd-W4-MiY" firstAttribute="centerY" secondItem="I0q-sX-uBq" secondAttribute="centerY" id="slG-ke-sdb"/>
                                                                                <constraint firstAttribute="trailing" secondItem="kTp-qw-RCd" secondAttribute="trailing" constant="3" id="uQs-RT-dHB"/>
                                                                            </constraints>
                                                                            <connections>
                                                                                <outlet property="icon" destination="1dd-W4-MiY" id="cb4-9r-kd2"/>
                                                                                <outlet property="label" destination="kTp-qw-RCd" id="72n-qf-ujw"/>
                                                                                <outlet property="textField" destination="kTp-qw-RCd" id="2KP-pc-Kir"/>
                                                                            </connections>
                                                                        </tableCellView>
                                                                        <tableCellView identifier="HeaderCell" id="xN2-Aa-G21" customClass="SidebarHeaderCellView" customModule="FSNotes" customModuleProvider="target">
                                                                            <rect key="frame" x="11" y="53" width="121" height="40"/>
                                                                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                                                            <subviews>
                                                                                <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="a5J-Ua-Hnz">
                                                                                    <rect key="frame" x="1" y="12" width="81" height="16"/>
                                                                                    <textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" alignment="left" title="iCloud Drive" id="aX0-yU-aew">
                                                                                        <font key="font" metaFont="systemSemibold" size="13"/>
                                                                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                                                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                                                    </textFieldCell>
                                                                                    <attributedString key="userComments">
                                                                                        <fragment content="#bc-ignore!"/>
                                                                                    </attributedString>
                                                                                </textField>
                                                                                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="ep1-Vk-rvO">
                                                                                    <rect key="frame" x="3" y="12" width="17" height="17"/>
                                                                                    <constraints>
                                                                                        <constraint firstAttribute="height" constant="17" id="2pH-HP-D6m"/>
                                                                                        <constraint firstAttribute="width" constant="17" id="ahX-BP-lWY"/>
                                                                                    </constraints>
                                                                                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" id="tF1-ih-lWS"/>
                                                                                </imageView>
                                                                            </subviews>
                                                                            <constraints>
                                                                                <constraint firstItem="a5J-Ua-Hnz" firstAttribute="centerY" secondItem="xN2-Aa-G21" secondAttribute="centerY" id="3xr-WL-gvd"/>
                                                                                <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="a5J-Ua-Hnz" secondAttribute="trailing" constant="20" symbolic="YES" id="B0X-ZD-bfn"/>
                                                                                <constraint firstItem="ep1-Vk-rvO" firstAttribute="leading" secondItem="xN2-Aa-G21" secondAttribute="leading" constant="3" id="dQI-kA-EMe"/>
                                                                                <constraint firstItem="ep1-Vk-rvO" firstAttribute="centerY" secondItem="xN2-Aa-G21" secondAttribute="centerY" id="eB4-Zv-R9l"/>
                                                                                <constraint firstItem="a5J-Ua-Hnz" firstAttribute="leading" secondItem="xN2-Aa-G21" secondAttribute="leading" constant="3" id="rV2-yu-dpv"/>
                                                                            </constraints>
                                                                            <connections>
                                                                                <outlet property="icon" destination="ep1-Vk-rvO" id="7Sj-rZ-I6G"/>
                                                                                <outlet property="label" destination="a5J-Ua-Hnz" id="Bke-02-Pi1"/>
                                                                            </connections>
                                                                        </tableCellView>
                                                                    </prototypeCellViews>
                                                                </tableColumn>
                                                            </tableColumns>
                                                            <connections>
                                                                <outlet property="menu" destination="nuz-kc-UUC" id="AQ8-BJ-kcn"/>
                                                            </connections>
                                                        </outlineView>
                                                    </subviews>
                                                    <nil key="backgroundColor"/>
                                                    <edgeInsets key="contentInsets" left="0.0" right="0.0" top="38" bottom="0.0"/>
                                                </clipView>
                                                <edgeInsets key="scrollerInsets" left="0.0" right="0.0" top="38" bottom="0.0"/>
                                                <scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="0.23935756602005698" horizontal="YES" id="hZT-KZ-qyF">
                                                    <rect key="frame" x="0.0" y="584" width="144" height="16"/>
                                                    <autoresizingMask key="autoresizingMask"/>
                                                </scroller>
                                                <scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="su1-Ap-Xqc">
                                                    <rect key="frame" x="-16" y="10" width="16" height="0.0"/>
                                                    <autoresizingMask key="autoresizingMask"/>
                                                </scroller>
                                            </scrollView>
                                            <customView clipsToBounds="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vp7-cq-QSI" customClass="OutlineHeaderView" customModule="FSNotes" customModuleProvider="target">
                                                <rect key="frame" x="0.0" y="560" width="144" height="40"/>
                                                <subviews>
                                                    <box misplaced="YES" boxType="custom" borderType="none" translatesAutoresizingMaskIntoConstraints="NO" id="l75-ic-hjm">
                                                        <rect key="frame" x="0.0" y="0.0" width="144" height="40"/>
                                                        <view key="contentView" id="IC4-vl-P2r">
                                                            <rect key="frame" x="0.0" y="0.0" width="144" height="40"/>
                                                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                                        </view>
                                                        <color key="fillColor" name="windowBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                    </box>
                                                </subviews>
                                                <constraints>
                                                    <constraint firstItem="l75-ic-hjm" firstAttribute="top" secondItem="vp7-cq-QSI" secondAttribute="top" id="61i-47-0DS"/>
                                                    <constraint firstAttribute="height" constant="40" id="9sA-Ak-h1e"/>
                                                    <constraint firstAttribute="bottom" secondItem="l
Download .txt
gitextract_5ehxlhed/

├── .gitattributes
├── .github/
│   └── ISSUE_TEMPLATE/
│       └── bug_report.yml
├── .gitignore
├── .swiftlint.yml
├── .travis.yml
├── CODE_OF_CONDUCT.md
├── FSNotes/
│   ├── .bartycrouch.toml
│   ├── AboutViewController.swift
│   ├── AboutWindowController.swift
│   ├── AppDelegate+URLRoutes.swift
│   ├── AppDelegate.swift
│   ├── Base.lproj/
│   │   └── Main.storyboard
│   ├── EditorViewController+ScrollPosition.swift
│   ├── EditorViewController+Sharing.swift
│   ├── EditorViewController.swift
│   ├── Extensions/
│   │   ├── NSAppearance+.swift
│   │   ├── NSColor+.swift
│   │   ├── NSFont+.swift
│   │   ├── NSImage+.swift
│   │   ├── NSWindow+.swift
│   │   └── UserDefaultsManagement+.swift
│   ├── FSNotes (CloudKit).entitlements
│   ├── FSNotes.entitlements
│   ├── Helpers/
│   │   ├── FSNTextAttachmentCell.swift
│   │   ├── FileSystemEventManager.swift
│   │   ├── FileWatcher.swift
│   │   ├── FileWatcherEvent.swift
│   │   ├── Printer.swift
│   │   ├── PrinterLegacy.swift
│   │   ├── SandboxBookmark.swift
│   │   ├── Sidebar.swift
│   │   └── UserDataService.swift
│   ├── Images.xcassets/
│   │   ├── AppIcon.appiconset/
│   │   │   └── Contents.json
│   │   ├── Contents.json
│   │   ├── Icons/
│   │   │   ├── AppIconClassic.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── AppIconModern.imageset/
│   │   │   │   └── Contents.json
│   │   │   └── Contents.json
│   │   ├── checkbox_empty.imageset/
│   │   │   └── Contents.json
│   │   ├── checkbox_flipped.imageset/
│   │   │   └── Contents.json
│   │   ├── checkbox_new.imageset/
│   │   │   └── Contents.json
│   │   ├── code.colorset/
│   │   │   └── Contents.json
│   │   ├── colors_background/
│   │   │   ├── Contents.json
│   │   │   ├── background_tag.colorset/
│   │   │   │   └── Contents.json
│   │   │   └── background_win.colorset/
│   │   │       └── Contents.json
│   │   ├── copy.png.imageset/
│   │   │   └── Contents.json
│   │   ├── divider.colorset/
│   │   │   └── Contents.json
│   │   ├── dockIcon2.imageset/
│   │   │   └── Contents.json
│   │   ├── dockIcon4.imageset/
│   │   │   └── Contents.json
│   │   ├── friend.imageset/
│   │   │   └── Contents.json
│   │   ├── highlight.colorset/
│   │   │   └── Contents.json
│   │   ├── link.colorset/
│   │   │   └── Contents.json
│   │   ├── locked.imageset/
│   │   │   └── Contents.json
│   │   ├── mainBackground.colorset/
│   │   │   └── Contents.json
│   │   ├── mainText.colorset/
│   │   │   └── Contents.json
│   │   ├── menuBar.imageset/
│   │   │   └── Contents.json
│   │   ├── new_note_button.imageset/
│   │   │   └── Contents.json
│   │   ├── pin.imageset/
│   │   │   └── Contents.json
│   │   ├── prefsAdvanced.imageset/
│   │   │   └── Contents.json
│   │   ├── prefsEditor.imageset/
│   │   │   └── Contents.json
│   │   ├── prefsGeneral.imageset/
│   │   │   └── Contents.json
│   │   ├── prefsGit.imageset/
│   │   │   └── Contents.json
│   │   ├── prefsLayout.imageset/
│   │   │   └── Contents.json
│   │   ├── prefsWeb.imageset/
│   │   │   └── Contents.json
│   │   ├── privacy.imageset/
│   │   │   └── Contents.json
│   │   ├── quoteColor.colorset/
│   │   │   └── Contents.json
│   │   ├── reverseBackground.colorset/
│   │   │   └── Contents.json
│   │   ├── sidebar_archive.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_external.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_icloud_drive.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_inbox.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_notes.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_project.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_project_encrypted_locked.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_project_encrypted_unlocked.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_tag.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_todo.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_trash.imageset/
│   │   │   └── Contents.json
│   │   ├── sidebar_untagged.imageset/
│   │   │   └── Contents.json
│   │   └── web.imageset/
│   │       └── Contents.json
│   ├── Info.plist
│   ├── LayoutManager.swift
│   ├── Localizable.xcstrings
│   ├── MainWindow.swift
│   ├── MainWindowController.swift
│   ├── Model/
│   │   ├── StorageEntity+CoreDataClass.swift
│   │   └── StorageEntity+CoreDataProperties.swift
│   ├── NSWindowController+.swift
│   ├── NoteViewController.swift
│   ├── Preferences/
│   │   ├── MasterPasswordViewController.swift
│   │   ├── PreferencesAdvancedViewController.swift
│   │   ├── PreferencesEditorViewController.swift
│   │   ├── PreferencesGeneralViewController.swift
│   │   ├── PreferencesGitViewController.swift
│   │   ├── PreferencesSecurityViewController.swift
│   │   ├── PreferencesUserInterfaceViewController.swift
│   │   ├── PreferencesWebViewController.swift
│   │   └── SettingsViewController.swift
│   ├── PrefsViewController.swift
│   ├── PrefsWindowController.swift
│   ├── ProjectSettingsViewController.swift
│   ├── SidebarScrollView.swift
│   ├── View/
│   │   ├── AboutImageView.swift
│   │   ├── ClickableTextField.swift
│   │   ├── EditTextView+Clicked.swift
│   │   ├── EditTextView+Complete.swift
│   │   ├── EditTextView+DragOperation.swift
│   │   ├── EditTextView+MoveLines.swift
│   │   ├── EditTextView+Todo.swift
│   │   ├── EditTextView.swift
│   │   ├── EditorScrollView.swift
│   │   ├── EditorSplitView.swift
│   │   ├── EditorView.swift
│   │   ├── HyperlinkTextField.swift
│   │   ├── MPreviewContainerView.swift
│   │   ├── MPreviewFindPanel.swift
│   │   ├── NameTextField.swift
│   │   ├── NoteCellView.swift
│   │   ├── NoteRowView.swift
│   │   ├── NotesCounterView.swift
│   │   ├── NotesTableView.swift
│   │   ├── OutlineHeaderView.swift
│   │   ├── PreviewTextField.swift
│   │   ├── SearchTextField.swift
│   │   ├── SidebarCellView.swift
│   │   ├── SidebarHeaderCellView.swift
│   │   ├── SidebarNotesView.swift
│   │   ├── SidebarOutlineView.swift
│   │   ├── SidebarSplitView.swift
│   │   ├── SidebarTableRowView.swift
│   │   ├── TitleBarView.swift
│   │   ├── TitleTextField.swift
│   │   └── VerticallyAlignedTextFieldCell.swift
│   ├── ViewController+Git.swift
│   ├── ViewController+Menu.swift
│   ├── ViewController+Print.swift
│   ├── ViewController+Web.swift
│   ├── ViewController.swift
│   ├── bin/
│   │   └── git
│   ├── modern.icon/
│   │   └── icon.json
│   └── mul.lproj/
│       └── Main.xcstrings
├── FSNotes Info (Notarized).plist
├── FSNotes iOS/
│   ├── .bartycrouch.toml
│   ├── AppDelegate.swift
│   ├── Assets.xcassets/
│   │   ├── Colors/
│   │   │   ├── Contents.json
│   │   │   └── fsColor.colorset/
│   │   │       └── Contents.json
│   │   ├── Contents.json
│   │   ├── Editor/
│   │   │   ├── Contents.json
│   │   │   ├── checkbox.imageset/
│   │   │   │   └── Contents.json
│   │   │   └── checkbox_empty.imageset/
│   │   │       └── Contents.json
│   │   ├── Icons/
│   │   │   ├── AppIconClassic-2025.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── AppIconModern.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── AppIconNy-2026.imageset/
│   │   │   │   └── Contents.json
│   │   │   └── Contents.json
│   │   ├── LaunchScreenImage.imageset/
│   │   │   └── Contents.json
│   │   ├── Sidebar/
│   │   │   ├── Contents.json
│   │   │   ├── sidebar_archive.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── sidebar_inbox.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── sidebar_notes.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── sidebar_project.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── sidebar_project_encrypted_locked.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── sidebar_project_encrypted_unlocked.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── sidebar_tag.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── sidebar_todo.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── sidebar_trash.imageset/
│   │   │   │   └── Contents.json
│   │   │   └── sidebar_untagged.imageset/
│   │   │       └── Contents.json
│   │   ├── Sidebar Actions/
│   │   │   ├── Contents.json
│   │   │   └── gitSettings.imageset/
│   │   │       └── Contents.json
│   │   ├── Toolbar/
│   │   │   ├── Contents.json
│   │   │   ├── codeBlockAsset.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── numbered_list.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── ordered_list.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── pictureAsset.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── quote.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── redo.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── toolbarBold.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── toolbarHeader.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── toolbarImage.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── toolbarIndentLeft.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── toolbarIndentRight.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── toolbarItalic.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── toolbarTag.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── toolbarTodo.imageset/
│   │   │   │   └── Contents.json
│   │   │   ├── toolbarWiki.imageset/
│   │   │   │   └── Contents.json
│   │   │   └── undo.imageset/
│   │   │       └── Contents.json
│   │   └── Touch Bar/
│   │       ├── Contents.json
│   │       ├── Image.imageset/
│   │       │   └── Contents.json
│   │       ├── bold.imageset/
│   │       │   └── Contents.json
│   │       ├── codeblock.imageset/
│   │       │   └── Contents.json
│   │       ├── indent.imageset/
│   │       │   └── Contents.json
│   │       ├── italic.imageset/
│   │       │   └── Contents.json
│   │       ├── tb_link.imageset/
│   │       │   └── Contents.json
│   │       ├── todo.imageset/
│   │       │   └── Contents.json
│   │       └── unindent.imageset/
│   │           └── Contents.json
│   ├── DatePickerViewController.swift
│   ├── EditorViewController+QuickLook.swift
│   ├── EditorViewController+Search.swift
│   ├── EditorViewController.swift
│   ├── Extensions/
│   │   ├── UIApplication+.swift
│   │   ├── UIBarButtonItem+.swift
│   │   ├── UIColor+.swift
│   │   ├── UIFont+.swift
│   │   ├── UIImage+.swift
│   │   ├── UITextView+.swift
│   │   └── UserDefaultsManagement+.swift
│   ├── FSNotes iOS.entitlements
│   ├── FSNotes_iOS.xcdatamodeld/
│   │   ├── .xccurrentversion
│   │   └── FSNotes_iOS.xcdatamodel/
│   │       └── contents
│   ├── Helpers/
│   │   ├── Buttons.swift
│   │   ├── CloudDriveManager.swift
│   │   ├── FolderPopoverActions.swift
│   │   ├── SandboxBookmark.swift
│   │   ├── ShortcutIdentifier.swift
│   │   ├── Sidebar.swift
│   │   ├── SingleImageTouchDownGestureRecognizer.swift
│   │   └── SingleTouchDownGestureRecognizer.swift
│   ├── Icons/
│   │   ├── classic-2025.icon/
│   │   │   └── icon.json
│   │   ├── modern.icon/
│   │   │   └── icon.json
│   │   └── ny-2026.icon/
│   │       └── icon.json
│   ├── ImagePreviewViewController.swift
│   ├── Info.plist
│   ├── InfoPlist.xcstrings
│   ├── Launch Screen.storyboard
│   ├── LaunchImage.launchimage/
│   │   └── Contents.json
│   ├── Localizable.xcstrings
│   ├── Main.storyboard
│   ├── MainNavigationController.swift
│   ├── MoveViewController.swift
│   ├── Preferences/
│   │   ├── AppIconViewController.swift
│   │   ├── CodeFontViewController.swift
│   │   ├── CodeThemeViewController.swift
│   │   ├── DefaultExtensionControllerView.swift
│   │   ├── ExternalViewController.swift
│   │   ├── FontViewController.swift
│   │   ├── GitTableViewCell.swift
│   │   ├── GitViewController.swift
│   │   ├── LanguageViewController.swift
│   │   ├── ProViewController.swift
│   │   ├── ProjectSettingsViewController.swift
│   │   ├── ProjectsViewController.swift
│   │   ├── SecurityViewController.swift
│   │   ├── SettingsEditorViewController.swift
│   │   ├── SettingsTableViewCell.swift
│   │   ├── SettingsViewController.swift
│   │   ├── SidebarViewController.swift
│   │   ├── SortByViewController.swift
│   │   └── ThanksViewController.swift
│   ├── RevisionsViewController.swift
│   ├── SceneDelegate.swift
│   ├── View/
│   │   ├── EditTextView.swift
│   │   ├── EditorSelectionRect.swift
│   │   ├── ImageScrollView.swift
│   │   ├── NoteCellView.swift
│   │   ├── NotesTableView.swift
│   │   ├── SidebarTableCellView.swift
│   │   └── SidebarTableView.swift
│   ├── ViewController+More.swift
│   ├── ViewController.swift
│   ├── fr.lproj/
│   │   └── Main.storyboard
│   ├── nl-NL.lproj/
│   │   └── Main.storyboard
│   ├── pt-PT.lproj/
│   │   └── Main.storyboard
│   ├── ru.lproj/
│   │   ├── InfoPlist.strings
│   │   ├── LaunchScreen.strings
│   │   ├── Localizable.strings
│   │   └── Main.storyboard
│   └── uk.lproj/
│       └── Main.storyboard
├── FSNotes iOS Share/
│   ├── .bartycrouch.toml
│   ├── FSNotes iOS Share.entitlements
│   ├── Info.plist
│   ├── Localizable.xcstrings
│   ├── MainInterface.storyboard
│   ├── NSMutableAttributedString+.swift
│   ├── ShareViewController.swift
│   ├── es.lproj/
│   │   └── Localizable.strings
│   ├── pt.lproj/
│   │   └── InfoPlist.strings
│   ├── ru.lproj/
│   │   ├── InfoPlist.strings
│   │   ├── Localizable.strings
│   │   └── MainInterface.strings
│   ├── uk.lproj/
│   │   ├── InfoPlist.strings
│   │   └── MainInterface.strings
│   ├── zh-Hans-CN.lproj/
│   │   ├── InfoPlist.strings
│   │   └── Localizable.strings
│   └── zh-Hans.lproj/
│       └── MainInterface.strings
├── FSNotes.xcodeproj/
│   ├── project.pbxproj
│   ├── project.xcworkspace/
│   │   ├── contents.xcworkspacedata
│   │   └── xcshareddata/
│   │       ├── IDEWorkspaceChecks.plist
│   │       ├── WorkspaceSettings.xcsettings
│   │       └── swiftpm/
│   │           └── Package.resolved
│   └── xcshareddata/
│       └── xcschemes/
│           ├── FSNotes (iCloud).xcscheme
│           ├── FSNotes iOS Share Extension.xcscheme
│           ├── FSNotes iOS.xcscheme
│           └── FSNotes.xcscheme
├── FSNotes.xcworkspace/
│   └── contents.xcworkspacedata
├── FSNotesCore/
│   ├── Business/
│   │   ├── ApiResponse.swift
│   │   ├── AppearanceType.swift
│   │   ├── AttributedBox.swift
│   │   ├── FSTag.swift
│   │   ├── ImageFormat.swift
│   │   ├── LanguageType.swift
│   │   ├── Markdown.swift
│   │   ├── Note+Preview.swift
│   │   ├── Note.swift
│   │   ├── NoteAttachment.swift
│   │   ├── NoteContainer.swift
│   │   ├── NoteType.swift
│   │   ├── PreviewState.swift
│   │   ├── ProgressState.swift
│   │   ├── Project+Date.swift
│   │   ├── Project.swift
│   │   ├── ProjectSettings.swift
│   │   ├── RuntimeError.swift
│   │   ├── SearchQuery.swift
│   │   ├── SettingsFilesNaming.swift
│   │   ├── SidebarItem.swift
│   │   ├── SidebarItemType.swift
│   │   ├── SortBy.swift
│   │   ├── SortDirection.swift
│   │   ├── Storage.swift
│   │   ├── StorageType.swift
│   │   ├── TextBundleInfo.swift
│   │   └── UndoData.swift
│   ├── CodeBlockDetector.swift
│   ├── Core macOS/
│   │   └── zh-Hans-CN.lproj/
│   │       └── InfoPlist.strings
│   ├── Extensions/
│   │   ├── Data+.swift
│   │   ├── Date+.swift
│   │   ├── DateFormatter+.swift
│   │   ├── FileManager+.swift
│   │   ├── NSAttributedString+.swift
│   │   ├── NSAttributedStringKey+.swift
│   │   ├── NSMutableAttributedString+.swift
│   │   ├── NSRange+.swift
│   │   ├── NSTextCheckingResult+.swift
│   │   ├── Pasteboard.swift
│   │   ├── Project+Git.swift
│   │   ├── Storage+Git.swift
│   │   ├── String+.swift
│   │   ├── String+Punycode.swift
│   │   ├── URL+.swift
│   │   ├── URL+Image.swift
│   │   └── UTI.swift
│   ├── FSParser.swift
│   ├── Git/
│   │   ├── authentication/
│   │   │   ├── Authentication.swift
│   │   │   ├── KeyAuthentication.swift
│   │   │   └── PasswordAuthentication.swift
│   │   ├── branch/
│   │   │   ├── Branch.swift
│   │   │   ├── Branches.swift
│   │   │   └── BranchesIterator.swift
│   │   ├── commit/
│   │   │   └── Commit.swift
│   │   ├── commons/
│   │   │   ├── Blob.swift
│   │   │   ├── ConfigManager.swift
│   │   │   ├── Error.swift
│   │   │   ├── Errors.swift
│   │   │   ├── OID.swift
│   │   │   ├── Object.swift
│   │   │   ├── Progress.swift
│   │   │   ├── Signature.swift
│   │   │   ├── StaticSshKeyDelegate.swift
│   │   │   ├── Strings.swift
│   │   │   └── Wrapper.swift
│   │   ├── diff/
│   │   │   ├── Diff.swift
│   │   │   └── DiffEntry.swift
│   │   ├── head/
│   │   │   ├── Head+Checkout.swift
│   │   │   ├── Head+Merge.swift
│   │   │   └── Head.swift
│   │   ├── index/
│   │   │   ├── Index+Commit.swift
│   │   │   ├── Index+Files.swift
│   │   │   └── Index.swift
│   │   ├── reference/
│   │   │   ├── Reference+Target.swift
│   │   │   └── Reference.swift
│   │   ├── remote/
│   │   │   ├── Remote.swift
│   │   │   └── Remotes.swift
│   │   ├── repository/
│   │   │   ├── Repository+Commit.swift
│   │   │   ├── Repository+Lookup.swift
│   │   │   ├── Repository+Open.swift
│   │   │   ├── Repository.swift
│   │   │   └── RepositoryManager.swift
│   │   ├── revision/
│   │   │   ├── FileHistoryIterator.swift
│   │   │   └── RevisionIterator.swift
│   │   ├── status/
│   │   │   ├── Status.swift
│   │   │   ├── StatusIterator.swift
│   │   │   └── Statuses.swift
│   │   ├── tag/
│   │   │   ├── Tag.swift
│   │   │   ├── TagIterator.swift
│   │   │   └── Tags.swift
│   │   └── tree/
│   │       ├── Tree.swift
│   │       └── TreeEntry.swift
│   ├── HtmlExtractor.swift
│   ├── ImagesProcessor.swift
│   ├── KeychainConfiguration.swift
│   ├── KeychainPasswordItem.swift
│   ├── MPreviewView.swift
│   ├── NSTextAttachment+.swift
│   ├── NSTextStorage++.swift
│   ├── NameHelper.swift
│   ├── Note+History.swift
│   ├── NoteCellView+.swift
│   ├── NoteMeta.swift
│   ├── NotesTextProcessor.swift
│   ├── RepositoryAction.swift
│   ├── SwiftHighlighter/
│   │   ├── Languages/
│   │   │   ├── Assembly.swift
│   │   │   ├── Bash.swift
│   │   │   ├── C.swift
│   │   │   ├── Clojure.swift
│   │   │   ├── Cpp.swift
│   │   │   ├── Csharp.swift
│   │   │   ├── Css.swift
│   │   │   ├── Dart.swift
│   │   │   ├── Erlang.swift
│   │   │   ├── Go.swift
│   │   │   ├── Groovy.swift
│   │   │   ├── Haskell.swift
│   │   │   ├── Html.swift
│   │   │   ├── Java.swift
│   │   │   ├── JavaScript.swift
│   │   │   ├── Kotlin.swift
│   │   │   ├── Lisp.swift
│   │   │   ├── Lua.swift
│   │   │   ├── Matlab.swift
│   │   │   ├── Mermaid.swift
│   │   │   ├── ObjectiveC.swift
│   │   │   ├── Perl.swift
│   │   │   ├── Php.swift
│   │   │   ├── Python.swift
│   │   │   ├── R.swift
│   │   │   ├── Ruby.swift
│   │   │   ├── Rust.swift
│   │   │   ├── Scala.swift
│   │   │   ├── Scratch.swift
│   │   │   ├── Shell.swift
│   │   │   ├── Sql.swift
│   │   │   ├── Swift.swift
│   │   │   ├── TypeScript.swift
│   │   │   └── Vb.swift
│   │   ├── Platform.swift
│   │   ├── SwiftHighlighter.swift
│   │   ├── Theme.swift
│   │   └── Themes/
│   │       ├── AtomOneDark.swift
│   │       ├── AtomOneLight.swift
│   │       ├── GitHubDark.swift
│   │       ├── GitHubLight.swift
│   │       ├── SolarizedDark.swift
│   │       └── SolarizedLight.swift
│   ├── TextFormatter.swift
│   ├── TextStorageProcessor.swift
│   ├── UserDefaultsManagement.swift
│   └── ViewController+WebApi.swift
├── LICENSE
├── Logo/
│   └── License
├── Podfile
├── README.md
├── README_zh_CN.md
├── README_zh_TW.md
└── Resources/
    ├── Icons/
    │   ├── EncryptedTextPack.icns
    │   ├── Markdown.icns
    │   ├── Text.icns
    │   └── TextBundle.icns
    ├── Initial/
    │   ├── FSNotes - Readme.md
    │   ├── FSNotes 4.0 Change Log.textbundle/
    │   │   ├── info.json
    │   │   └── text.markdown
    │   ├── FSNotes 4.0 for iOS.textbundle/
    │   │   ├── info.json
    │   │   └── text.markdown
    │   ├── FSNotes 5.0 Change Log.textbundle/
    │   │   ├── info.json
    │   │   └── text.md
    │   ├── Meet FSNotes 6.textbundle/
    │   │   ├── info.json
    │   │   └── text.markdown
    │   └── Meet FSNotes 7.textbundle/
    │       ├── info.json
    │       └── text.markdown
    ├── MPreview.bundle/
    │   ├── index.html
    │   ├── js/
    │   │   └── tex-mml-chtml.js
    │   └── main.css
    └── Welcome.bundle/
        ├── 1. Introduction.textbundle/
        │   ├── info.json
        │   └── text.markdown
        ├── 2. Links.textbundle/
        │   ├── info.json
        │   └── text.markdown
        ├── 3. Shortcuts.textbundle/
        │   ├── info.json
        │   └── text.markdown
        ├── 4. Sidebar.textbundle/
        │   ├── info.json
        │   └── text.markdown
        ├── 5. Tags and subtags.textbundle/
        │   ├── info.json
        │   └── text.markdown
        ├── 6. Mermaid and MathJax.textbundle/
        │   ├── info.json
        │   └── text.markdown
        ├── 7. Git powered versioning.textbundle/
        │   ├── info.json
        │   └── text.markdown
        ├── 8. Containers.textbundle/
        │   ├── info.json
        │   └── text.markdown
        └── 9. GFM Markdown.textbundle/
            ├── info.json
            └── text.markdown
Download .txt
SYMBOL INDEX (446 symbols across 1 files)

FILE: Resources/MPreview.bundle/js/tex-mml-chtml.js
  function i (line 1) | function i(t){if(n[t])return n[t].exports;var e=n[t]={i:t,l:!1,exports:{...
  function r (line 1) | function r(){this.constructor=t}
  function y (line 1) | function y(t,e,r){void 0===e&&(e={}),void 0===r&&(r=[]);var n=u.call(thi...
  function v (line 1) | function v(){return null!==f&&f.apply(this,arguments)||this}
  function M (line 1) | function M(){return null!==b&&b.apply(this,arguments)||this}
  function S (line 1) | function S(){return null!==O&&O.apply(this,arguments)||this}
  function _ (line 1) | function _(){return null!==E&&E.apply(this,arguments)||this}
  function A (line 1) | function A(){var t=null!==T&&T.apply(this,arguments)||this;return t.text...
  function L (line 1) | function L(){var t=null!==k&&k.apply(this,arguments)||this;return t.xml=...
  function r (line 1) | function r(){this.constructor=t}
  function s (line 1) | function s(t){var e,r;void 0===t&&(t=null);var n=h.call(this)||this;n.cs...
  function r (line 1) | function r(){this.constructor=t}
  function p (line 1) | function p(){var t=null!==c&&c.apply(this,arguments)||this;return t.chtm...
  function u (line 1) | function u(t){return"object"==typeof t&&null!==t&&t.constructor===n}
  function f (line 1) | function f(t){return t?Object.keys(t).concat(Object.getOwnPropertySymbol...
  function p (line 1) | function p(t){var e,r,n={};try{for(var i=y(f(t)),o=i.next();!o.done;o=i....
  function d (line 1) | function d(i,o,a){var e,t;void 0===a&&(a=!0);function r(t){if(a&&void 0=...
  function i (line 1) | function i(t){for(var e,r,n=[],i=1;i<arguments.length;i++)n[i-1]=argumen...
  function a (line 1) | function a(t,e){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments...
  function s (line 1) | function s(t,e){var r,n;try{for(var i=l(Object.keys(e)),o=i.next();!o.do...
  function h (line 1) | function h(t,e){var r,n;try{for(var i=l(Object.keys(e)),o=i.next();!o.do...
  function f (line 1) | function f(t,e,r){(t.childNodes[e]=r)&&(r.parent=t)}
  function p (line 1) | function p(t,e){return t.isKind(e)}
  function v (line 1) | function v(t,e){void 0===e&&(e=!1);var r=t.match(e?h:c);return r?[r[1].r...
  function b (line 1) | function b(t,e,r){"{"!==e&&"}"!==e||(e="\\"+e);var n="{\\bigg"+r+" "+e+"...
  function g (line 1) | function g(t,e,r){e=e.replace(/^\s+/,y.entities.nbsp).replace(/\s+$/,y.e...
  function M (line 1) | function M(t,e,r){if(r.match(/^[a-z]/i)&&e.match(/(^|[^\\])(\\\\)*\\[a-z...
  function O (line 1) | function O(t,e){for(;0<e;)t=t.trim().slice(1,-1),e--;return t.trim()}
  function x (line 1) | function x(t,e){for(var r=t.length,n=0,i="",o=0,a=0,s=!0,c=!1;o<r;){var ...
  function a (line 1) | function a(t,e){var r,n;this._fallback=e,this._configuration=[];try{for(...
  function h (line 1) | function h(t){var e,r;this.map=new Map;try{for(var n=l(Object.keys(t.han...
  function r (line 1) | function r(){this.constructor=t}
  function s (line 1) | function s(t,e){this._name=t,this._parser=e,o.MapHandler.register(this)}
  function h (line 1) | function h(t,e,r){var n=l.call(this,t,e)||this;return n._regExp=r,n}
  function v (line 1) | function v(){var t=null!==f&&f.apply(this,arguments)||this;return t.map=...
  function M (line 1) | function M(t,e,r){var n,i,o=b.call(this,t,e)||this;try{for(var a=m(Objec...
  function S (line 1) | function S(){return null!==O&&O.apply(this,arguments)||this}
  function _ (line 1) | function _(t,e,r){var n,i,o=E.call(this,t,null)||this;try{for(var a=m(Ob...
  function A (line 1) | function A(){return null!==T&&T.apply(this,arguments)||this}
  function L (line 1) | function L(t,e,r,n){var i=k.call(this,t,r,n)||this;return i.parser=e,i}
  function l (line 1) | function l(t,e,r,n,i,o,a,s,c,l,u){void 0===e&&(e={}),void 0===r&&(r={}),...
  function r (line 1) | function r(t,e){if("#"===e.charAt(0))return s(e.slice(1));if(n.entities[...
  function s (line 1) | function s(t){var e="x"===t.charAt(0)?parseInt(t.slice(1),16):parseInt(t...
  function n (line 1) | function n(t,e,r,n,i){void 0===r&&(r=!0),void 0===n&&(n={i:0,n:0,delim:"...
  function o (line 1) | function o(t){void 0===t&&(t={w:0,h:-n.BIGDIMEN,d:-n.BIGDIMEN}),this.w=t...
  function r (line 1) | function r(){this.constructor=t}
  function c (line 1) | function c(t,e){var r=a.call(this,t)||this;return r.package=e,r}
  function d (line 1) | function d(t,e){void 0===e&&(e=!1),this.isLoaded=!1,this.isLoading=!1,th...
  function i (line 1) | function i(t,e){this.global=e,this.defaults=Object.create(e),this.inheri...
  function o (line 1) | function o(t,e,r){var n,i;this._string=t,this.configuration=r,this.macro...
  function i (line 1) | function i(t,e,r){this._symbol=t,this._char=e,this._attributes=r}
  function a (line 1) | function a(t,e,r){void 0===r&&(r=[]),this._symbol=t,this._func=e,this._a...
  function o (line 1) | function o(){var e,t;this.variant={},this.delimiters={},this.cssFontMap=...
  function i (line 1) | function i(){this.items=[],this.items=[]}
  function r (line 1) | function r(){this.constructor=t}
  function h (line 1) | function h(){return null!==a&&a.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){var t=null!==M&&M.apply(this,arguments)||this;return t.texC...
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){this.counter=0,this.allCounter=0,this.configuration=null,th...
  function p (line 1) | function p(){return null!==h&&h.apply(this,arguments)||this}
  function g (line 1) | function g(){return null!==d&&d.apply(this,arguments)||this}
  function a (line 1) | function a(t){void 0===t&&(t={}),this.adaptor=null,this.mmlFactory=null;...
  function s (line 1) | function s(t){var e,r;void 0===t&&(t=null),this.defaultKind="unknown",th...
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){return null!==a&&a.apply(this,arguments)||this}
  function f (line 1) | function f(){return null!==u&&u.apply(this,arguments)||this}
  function m (line 1) | function m(){return null!==p&&p.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(t){this._nodes=t}
  function p (line 1) | function p(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r...
  function r (line 1) | function r(){this.constructor=t}
  function y (line 1) | function y(t,e){var r=s.call(this,t)||this;return r.global=e,r}
  function g (line 1) | function g(){return null!==v&&v.apply(this,arguments)||this}
  function x (line 1) | function x(){return null!==M&&M.apply(this,arguments)||this}
  function C (line 1) | function C(){return null!==S&&S.apply(this,arguments)||this}
  function w (line 1) | function w(){return null!==_&&_.apply(this,arguments)||this}
  function I (line 1) | function I(){return null!==A&&A.apply(this,arguments)||this}
  function P (line 1) | function P(t){var e=L.call(this,t)||this;return e.setProperty("name","\\...
  function j (line 1) | function j(t){var e=B.call(this,t)||this;return e.setProperty("delim","(...
  function X (line 1) | function X(t){var e=H.call(this,t)||this;return e.setProperty("delim",")...
  function J (line 1) | function J(){return null!==F&&F.apply(this,arguments)||this}
  function U (line 1) | function U(){return null!==q&&q.apply(this,arguments)||this}
  function K (line 1) | function K(){return null!==z&&z.apply(this,arguments)||this}
  function $ (line 1) | function $(){return null!==Z&&Z.apply(this,arguments)||this}
  function et (line 1) | function et(){return null!==Q&&Q.apply(this,arguments)||this}
  function it (line 1) | function it(){return null!==rt&&rt.apply(this,arguments)||this}
  function st (line 1) | function st(){return null!==ot&&ot.apply(this,arguments)||this}
  function ut (line 1) | function ut(){var t=null!==ct&&ct.apply(this,arguments)||this;return t.r...
  function pt (line 1) | function pt(){return null!==ht&&ht.apply(this,arguments)||this}
  function yt (line 1) | function yt(){var t=null!==dt&&dt.apply(this,arguments)||this;return t.t...
  function gt (line 1) | function gt(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[...
  function xt (line 1) | function xt(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[...
  function a (line 1) | function a(t,e){var r=t.stack.env,n=r.inRoot;r.inRoot=!0;var i=new l.def...
  function r (line 1) | function r(){this.constructor=t}
  function p (line 1) | function p(){return null!==o&&o.apply(this,arguments)||this}
  function y (line 1) | function y(){return null!==d&&d.apply(this,arguments)||this}
  function g (line 1) | function g(){return null!==v&&v.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){return null!==r&&r.apply(this,arguments)||this}
  function e (line 1) | function e(){return null!==r&&r.apply(this,arguments)||this}
  function e (line 1) | function e(){var t=null!==r&&r.apply(this,arguments)||this;return t.UVQ=...
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];v...
  function e (line 1) | function e(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];v...
  function e (line 1) | function e(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];v...
  function o (line 1) | function o(t){var e=this.constructor;this.options=n.userOptions(n.defaul...
  function r (line 1) | function r(){this.constructor=t}
  function v (line 1) | function v(){return null!==o&&o.apply(this,arguments)||this}
  function M (line 1) | function M(){return null!==b&&b.apply(this,arguments)||this}
  function S (line 1) | function S(){return null!==O&&O.apply(this,arguments)||this}
  function _ (line 1) | function _(){return null!==E&&E.apply(this,arguments)||this}
  function A (line 1) | function A(){return null!==T&&T.apply(this,arguments)||this}
  function I (line 1) | function I(t,e,r){var n=this,i=this.constructor;this.document=t,this.opt...
  function a (line 1) | function a(t){void 0===t&&(t={}),this.adaptor=null;var e=this.constructo...
  function r (line 1) | function r(){this.constructor=t}
  function c (line 1) | function c(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function a (line 1) | function a(t,e,r){var n,i;void 0===e&&(e={}),void 0===r&&(r=[]),this.par...
  function u (line 1) | function u(){return null!==s&&s.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){return null!==a&&a.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){var t=null!==a&&a.apply(this,arguments)||this;return t.texC...
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){var t=null!==a&&a.apply(this,arguments)||this;return t.texC...
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){var t=null!==a&&a.apply(this,arguments)||this;return t.texC...
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){var t=null!==a&&a.apply(this,arguments)||this;return t.texC...
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){var t=null!==a&&a.apply(this,arguments)||this;return t.texC...
  function r (line 1) | function r(){this.constructor=t}
  function c (line 1) | function c(){var t=null!==a&&a.apply(this,arguments)||this;return t._cor...
  function p (line 1) | function p(){return null!==h&&h.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==s&&s.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){var t=null!==a&&a.apply(this,arguments)||this;return t.texC...
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){var t=null!==a&&a.apply(this,arguments)||this;return t.texC...
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){return null!==a&&a.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function s (line 1) | function s(){var t=null!==u&&u.apply(this,arguments)||this;return t.texC...
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){var t=null!==a&&a.apply(this,arguments)||this;return t.texC...
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){return null!==a&&a.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){return null!==a&&a.apply(this,arguments)||this}
  function f (line 1) | function f(){return null!==u&&u.apply(this,arguments)||this}
  function m (line 1) | function m(){return null!==p&&p.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==a&&a.apply(this,arguments)||this}
  function p (line 1) | function p(){return null!==h&&h.apply(this,arguments)||this}
  function y (line 1) | function y(){return null!==d&&d.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function s (line 1) | function s(){var t=null!==l&&l.apply(this,arguments)||this;return t.prop...
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==a&&a.apply(this,arguments)||this}
  function p (line 1) | function p(){return null!==h&&h.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==a&&a.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){var t=null!==a&&a.apply(this,arguments)||this;return t.texC...
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){return null!==a&&a.apply(this,arguments)||this}
  function f (line 1) | function f(){return null!==u&&u.apply(this,arguments)||this}
  function m (line 1) | function m(){var t=null!==p&&p.apply(this,arguments)||this;return t.prop...
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){var t=null!==a&&a.apply(this,arguments)||this;return t.texC...
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(t){void 0===t&&(t=null);return t=t||new a.MmlFactory,o.call(t...
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){var t=null!==o&&o.apply(this,arguments)||this;return t.docu...
  function b (line 1) | function b(t){for(var e=t.split(/((?:'[^']*'|"[^"]*"|,[\s\n]|[^\s\n])*)/...
  function o (line 1) | function o(t){var e,r,n=b(this.styles[t]);0===n.length&&n.push(""),1===n...
  function a (line 1) | function a(t){var e,r,n=M.connect[t].children,i=[];try{for(var o=y(n),a=...
  function s (line 1) | function s(t){var e,r;try{for(var n=y(M.connect[t].children),i=n.next();...
  function l (line 1) | function l(t){var e,r,n=c(M.connect[t].children),i=this.styles[this.chil...
  function u (line 1) | function u(t){var e,r,n,i,o={width:"",style:"",color:""};try{for(var a=y...
  function h (line 1) | function h(t){var e,r,n=[];try{for(var i=y(M.connect[t].children),o=i.ne...
  function p (line 1) | function p(t){var e,r,n,i,o=b(this.styles[t]),a={style:"",variant:[],wei...
  function d (line 1) | function d(t){}
  function m (line 1) | function m(t){void 0===t&&(t=""),this.parse(t)}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){for(var e,t,r=[],n=0;n<arguments.length;n++)r[n]=arguments[...
  function e (line 1) | function e(){return null!==r&&r.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){return null!==r&&r.apply(this,arguments)||this}
  function e (line 1) | function e(){return null!==r&&r.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];v...
  function r (line 1) | function r(){this.constructor=t}
  function B (line 1) | function B(){return null!==a&&a.apply(this,arguments)||this}
  function s (line 1) | function s(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r ...
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(t){var e=o.call(this,t.document)||this;return e.window=t,e.pa...
  function i (line 1) | function i(t){void 0===t&&(t=null),this.document=t}
  function r (line 1) | function r(){this.constructor=t}
  function c (line 1) | function c(){return null!==o&&o.apply(this,arguments)||this}
  function u (line 1) | function u(t,e){void 0===e&&(e=5),this.documentClass=s,this.adaptor=t,th...
  function f (line 1) | function f(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];t...
  function r (line 1) | function r(){this.constructor=t}
  function c (line 1) | function c(){return null!==o&&o.apply(this,arguments)||this}
  function n (line 1) | function n(t,e,r,n){return void 0===r&&(r=i.TEXCLASS.BIN),void 0===n&&(n...
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==a&&a.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){var t=null!==a&&a.apply(this,arguments)||this;return t.texC...
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){var t=null!==a&&a.apply(this,arguments)||this;return t.texC...
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==a&&a.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){return null!==a&&a.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){return null!==a&&a.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){this.bits=0}
  function i (line 1) | function i(){return null!==r&&r.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){return null!==o&&o.apply(this,arguments)||this}
  function s (line 1) | function s(t){var e,r;this.nodeHandlers=new Map;try{for(var n=c(t.getKin...
  function r (line 1) | function r(){this.constructor=t}
  function h (line 1) | function h(){return null!==o&&o.apply(this,arguments)||this}
  function i (line 1) | function i(t,e){this.factory=t,this.node=e}
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==s&&s.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function p (line 1) | function p(t,e,r){var n=this,i=_(w.separateOptions(r,u.HTMLDomStrings.OP...
  function r (line 1) | function r(){this.constructor=t}
  function c (line 1) | function c(t,e,r,n,i){return void 0===r&&(r=!0),void 0===n&&(n={node:nul...
  function r (line 1) | function r(){this.constructor=t}
  function c (line 1) | function c(){return null!==o&&o.apply(this,arguments)||this}
  function o (line 1) | function o(t){void 0===t&&(t=null);var e=this.constructor;this.options=n...
  function r (line 1) | function r(){this.constructor=t}
  function M (line 1) | function M(t){void 0===t&&(t={});var e=this,r=l(u.separateOptions(t,M.OP...
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(t){var e=o.call(this,t)||this;return e.getPatterns(),e}
  function r (line 1) | function r(t,e,r){var n,i;try{for(var o=p(t.getList("m"+e+r)),a=o.next()...
  function r (line 1) | function r(e,r){return e.getExplicitNames().filter(function(t){return t!...
  function i (line 1) | function i(t,e,r){this._factory=t,this._env=e,this.global={},this.stack=...
  function h (line 1) | function h(t,e){void 0===e&&(e=[]),this.options={},this.parsers=[],this....
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==a&&a.apply(this,arguments)||this}
  function p (line 1) | function p(){var t=null!==h&&h.apply(this,arguments)||this;return t.defa...
  function a (line 1) | function a(){this.mmlFactory=null,this.factory={node:a.createNode,token:...
  function r (line 1) | function r(){this.constructor=t}
  function p (line 1) | function p(t,e){var r=t.stack.env.font?{mathvariant:t.stack.env.font}:{}...
  function y (line 1) | function y(){return null!==d&&d.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function f (line 1) | function f(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r...
  function f (line 1) | function f(t,e){var r,n=t.parseOptions.options.require,i=e.substr(n.pref...
  function p (line 1) | function p(t,e){var r=t.options.require,n=r.allow,i=("["===e.substr(0,1)...
  function l (line 1) | function l(t,e){return t.string.substr(t.i,e.length)!==e?0:e.match(/\\[a...
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function p (line 1) | function p(t){void 0===t&&(t={});var e=this,r=a(c.separateOptions(t,u.Fi...
  function r (line 1) | function r(){this.constructor=t}
  function c (line 1) | function c(){return null!==o&&o.apply(this,arguments)||this}
  function c (line 1) | function c(t){void 0===t&&(t={});var e=this.constructor;this.options=o.u...
  function r (line 1) | function r(){this.constructor=t}
  function f (line 1) | function f(t){void 0===t&&(t=null);var e=s.call(this,t,l.CHTMLWrapperFac...
  function r (line 1) | function r(){this.constructor=t}
  function d (line 1) | function d(t,e,r){void 0===t&&(t=null),void 0===e&&(e=null),void 0===r&&...
  function i (line 1) | function i(t){void 0===t&&(t=null),this.styles={},this.addStyles(t)}
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function c (line 1) | function c(){var t=null!==o&&o.apply(this,arguments)||this;return t.jax=...
  function r (line 1) | function r(){this.constructor=t}
  function y (line 1) | function y(t,e){return t?e<m?0:m:e}
  function g (line 1) | function g(t,r,e){void 0===e&&(e=null);var n=v.call(this,t,r)||this;retu...
  function r (line 1) | function r(){this.constructor=t}
  function h (line 1) | function h(){return null!==l&&l.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){return null!==r&&r.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){var t=null!==r&&r.apply(this,arguments)||this;return t.noIC...
  function r (line 1) | function r(){this.constructor=t}
  function c (line 1) | function c(){return null!==f&&f.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];v...
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){return null!==r&&r.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];v...
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function r (line 1) | function r(){return null!==n&&n.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){return null!==r&&r.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){return null!==r&&r.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function y (line 1) | function y(t,e){return Math.atan2(t,e).toFixed(3).replace(/\.?0+$/,"")}
  function f (line 1) | function f(){return null!==l&&l.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];v...
  function r (line 1) | function r(){this.constructor=t}
  function f (line 1) | function f(){return null!==o&&o.apply(this,arguments)||this}
  function m (line 1) | function m(){return null!==p&&p.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];v...
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];v...
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];v...
  function r (line 1) | function r(){this.constructor=t}
  function h (line 1) | function h(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){return null!==r&&r.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function h (line 1) | function h(){return null!==a&&a.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function r (line 1) | function r(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];v...
  function r (line 1) | function r(){this.constructor=t}
  function f (line 1) | function f(){return null!==c&&c.apply(this,arguments)||this}
  function y (line 1) | function y(){return null!==d&&d.apply(this,arguments)||this}
  function g (line 1) | function g(){return null!==v&&v.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function h (line 1) | function h(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){var t=null!==c&&c.apply(this,arguments)||this;return t.scri...
  function r (line 1) | function r(){this.constructor=t}
  function f (line 1) | function f(t,e,r){void 0===r&&(r=null);var n=o.call(this,t,e,r)||this;re...
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];v...
  function r (line 1) | function r(){this.constructor=t}
  function h (line 1) | function h(){return null!==o&&o.apply(this,arguments)||this}
  function d (line 1) | function d(){return null!==f&&f.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){return null!==r&&r.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function h (line 1) | function h(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];v...
  function r (line 1) | function r(){this.constructor=t}
  function h (line 1) | function h(){return null!==o&&o.apply(this,arguments)||this}
  function d (line 1) | function d(){return null!==f&&f.apply(this,arguments)||this}
  function v (line 1) | function v(){return null!==m&&m.apply(this,arguments)||this}
  function M (line 1) | function M(){return null!==b&&b.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){return null!==r&&r.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function h (line 1) | function h(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){return null!==i&&i.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function e (line 1) | function e(){return null!==r&&r.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function h (line 1) | function h(){var t=null!==o&&o.apply(this,arguments)||this;return t.math...
  function f (line 1) | function f(t,e){var r=this;void 0===e&&(e={}),this.settings=null,this.de...
  function r (line 1) | function r(){this.constructor=t}
  function l (line 1) | function l(){var t=null!==o&&o.apply(this,arguments)||this;return t.opti...
  function r (line 1) | function r(){this.constructor=t}
  function s (line 1) | function s(){return null!==o&&o.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=t}
  function p (line 1) | function p(t){return o(e,n=t),e.prototype.addMenu=function(t){this.state...
  function d (line 1) | function d(t){var e,i;return o(r,i=t),r.prototype.addMenu=function(){var...
  function u (line 1) | function u(t){return r.visitTree(t,c.document)}
  function h (line 1) | function h(){r=new S.MathJax._.core.MmlTree.SerializedMmlVisitor.Seriali...
  function f (line 1) | function f(){var e,t;c.input&&c.output&&p();var r=c.output?c.output.name...
  function p (line 1) | function p(){S.MathJax.typeset=function(t){void 0===t&&(t=null),c.docume...
  function d (line 1) | function d(t,e,r){var n=t+"2"+e;S.MathJax[n]=function(t,e){return void 0...
  function m (line 1) | function m(t,r){var n=S.MathJax._.core.MathItem.STATE;S.MathJax[t+"2mml"...
  function y (line 1) | function y(t,e){"tex"===t&&(S.MathJax.texReset=function(t){return void 0...
  function v (line 1) | function v(){var e,t,r=[];try{for(var n=s(S.CONFIG.input),i=n.next();!i....
  function b (line 1) | function b(){var t=S.CONFIG.output;if(!t)return null;var e=c.constructor...
  function g (line 1) | function g(){var t=S.CONFIG.adaptor;if(!t||"none"===t)return null;var e=...
  function M (line 1) | function M(){var e,t,r=S.CONFIG.handler;if(!r||"none"===r||!c.adaptor)re...
  function O (line 1) | function O(t){return void 0===t&&(t=null),o.document(t||S.CONFIG.documen...
  function Ct (line 1) | function Ct(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r...
  function r (line 1) | function r(){this.constructor=t}
  function c (line 1) | function c(){var t=null!==o&&o.apply(this,arguments)||this;return t.docu...
  function j (line 1) | function j(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r ...
  function r (line 1) | function r(){this.constructor=t}
  function h (line 1) | function h(){return null!==l&&l.apply(this,arguments)||this}
  function n (line 1) | function n(t){for(var e=[],r=0,n=t.length;r<n;r++)e[r]=c.default.Em(t[r]...
  function r (line 1) | function r(){this.constructor=t}
  function u (line 1) | function u(){return null!==o&&o.apply(this,arguments)||this}
  function A (line 1) | function A(t,e,r,n){var i,o,a,s;if(b.Package.packages.has(t.options.requ...
  function s (line 1) | function s(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r ...
  function mt (line 1) | function mt(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r...
  function r (line 1) | function r(){this.constructor=t}
  function n (line 1) | function n(){return null!==r&&r.apply(this,arguments)||this}
  function tt (line 1) | function tt(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r...
  function e (line 1) | function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a ...
  function r (line 1) | function r(){this.constructor=t}
  function gt (line 1) | function gt(t,e,r){this.name=t,this.getter=e,this.setter=r,this.items=[]}
  function Mt (line 1) | function Mt(){this.pool={}}
  function Ot (line 1) | function Ot(){this.bubble=!1}
  function xt (line 1) | function xt(t){return f+"_"+t}
  function St (line 1) | function St(t){return xt(t)}
  function Et (line 1) | function Et(t){return xt(t)}
  function Ct (line 1) | function Ct(){return null!==d&&d.apply(this,arguments)||this}
  function _t (line 1) | function _t(t,e){var r=v.call(this)||this;return r.className=y.HtmlClass...
  function Tt (line 1) | function Tt(){var t=null!==M&&M.apply(this,arguments)||this;return t.pos...
  function wt (line 1) | function wt(){var t=null!==S&&S.apply(this,arguments)||this;return t.cla...
  function At (line 1) | function At(t){this.store=[],this.active=null,this.counter=0,this.attach...
  function kt (line 1) | function kt(){var t=w.call(this)||this;return t.moving=!1,t.store_=new T...
  function It (line 1) | function It(t){var e=I.call(this)||this;return e.anchor=t,e.variablePool...
  function Lt (line 1) | function Lt(t,e,r,n){var i=B.call(this,t,e)||this;return i._content=r,i....
  function Nt (line 1) | function Nt(){return null!==H&&H.apply(this,arguments)||this}
  function Pt (line 1) | function Pt(t){var e=W.call(this)||this;return e.className=F.HtmlClasses...
  function Bt (line 1) | function Bt(t,e,r){var n=V.call(this)||this;return n.className=q.HtmlCla...
  function Rt (line 1) | function Rt(t,e,r,n){var i=G.call(this,t,"checkbox",e,n)||this;return i....
  function jt (line 1) | function jt(t,e,r,n){var i=Y.call(this,t,"radio",e,n)||this;return i.rol...
  function Ht (line 1) | function Ht(t,e,r,n){var i=tt.call(this,t,"command",e,n)||this;return i....
  function Dt (line 1) | function Dt(t,e,r){return nt.call(this,t,"label",e,r)||this}
  function Xt (line 1) | function Xt(t,e,r,n){var i=at.call(this,t,"radio",e,n)||this;return i.ro...
  function Ft (line 1) | function Ft(t){var e=lt.call(this,t,"rule")||this;return e.className=ct....
  function Wt (line 1) | function Wt(t,e,r){var n=ft.call(this,t,"submenu",e,r)||this;return n.su...
  function Jt (line 1) | function Jt(t,e){var r=mt.call(this)||this;return r.title="",r.window=nu...
  function e (line 1) | function e(t){return"."+(X.HtmlClasses[t]||t)}
  function c (line 1) | function c(t){s||(l(i,t),s=!0)}
  function l (line 1) | function l(t,e){var r=e||document,n=r.createElement("style");n.type="tex...
  function l (line 1) | function l(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r ...
Condensed preview — 487 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (6,460K chars).
[
  {
    "path": ".gitattributes",
    "chars": 23,
    "preview": "*.pbxproj merge=union\n\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.yml",
    "chars": 1066,
    "preview": "name: Bug report\ndescription: Create a report to help us improve\nlabels: 'bug'\n\nbody:\n  - type: textarea\n    attributes:"
  },
  {
    "path": ".gitignore",
    "chars": 142,
    "preview": "Pods\n*.xcuserstate\nxcuserdata\nPodfile.lock\nFSNotes.xcworkspace/xcshareddata/*\nFSNotes.xcworkspace/xcuserdata/*\nFSNotes.x"
  },
  {
    "path": ".swiftlint.yml",
    "chars": 338,
    "preview": "included: # paths to include during linting. `--path` is ignored if present.\n  - FSNotesCore\nexcluded: # paths to ignore"
  },
  {
    "path": ".travis.yml",
    "chars": 383,
    "preview": "language: swift\nos: osx\nosx_image: xcode11.5\nxcode_workspace: FSNotes.xcworkspace\n\nbefore_install:\n    - pod install --r"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 3360,
    "preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, w"
  },
  {
    "path": "FSNotes/.bartycrouch.toml",
    "chars": 647,
    "preview": "[update]\ntasks = [\"interfaces\", \"code\", \"transform\", \"normalize\"]\n\n[update.interfaces]\npaths = [\".\"]\ndefaultToBase = tru"
  },
  {
    "path": "FSNotes/AboutViewController.swift",
    "chars": 2763,
    "preview": "//\n//  AboutViewController.swift\n//  FSNotes\n//\n//  Created by Олександр Глущенко on 5/10/19.\n//  Copyright © 2019 Oleks"
  },
  {
    "path": "FSNotes/AboutWindowController.swift",
    "chars": 396,
    "preview": "//\n//  AboutWindowController.swift\n//  FSNotes\n//\n//  Created by Олександр Глущенко on 5/10/19.\n//  Copyright © 2019 Ole"
  },
  {
    "path": "FSNotes/AppDelegate+URLRoutes.swift",
    "chars": 10170,
    "preview": "//\n//  AppDelegate+URLRoutes.swift\n//  FSNotes\n//\n//  Created by Jeff Hanbury on 13/04/18.\n//  Copyright © 2018 Oleksand"
  },
  {
    "path": "FSNotes/AppDelegate.swift",
    "chars": 19170,
    "preview": "//\n//  AppDelegate.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 7/20/17.\n//  Copyright © 2017 Oleksandr "
  },
  {
    "path": "FSNotes/Base.lproj/Main.storyboard",
    "chars": 527261,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB\" version=\"3.0\" t"
  },
  {
    "path": "FSNotes/EditorViewController+ScrollPosition.swift",
    "chars": 2297,
    "preview": "//\n//  EditorViewController+ScrollPosition.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 22.12.2025.\n//  "
  },
  {
    "path": "FSNotes/EditorViewController+Sharing.swift",
    "chars": 2603,
    "preview": "//\n//  EditorViewController+Sharing.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 03.07.2022.\n//  Copyrig"
  },
  {
    "path": "FSNotes/EditorViewController.swift",
    "chars": 58478,
    "preview": "//\n//  EditorViewController.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 26.06.2022.\n//  Copyright © 202"
  },
  {
    "path": "FSNotes/Extensions/NSAppearance+.swift",
    "chars": 780,
    "preview": "//\n//  NSAppearance+.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 9/29/18.\n//  Copyright © 2018 Oleksand"
  },
  {
    "path": "FSNotes/Extensions/NSColor+.swift",
    "chars": 1058,
    "preview": "//\n//  NSColor+.swift\n//  FSNotes\n//\n//  Created by Олександр Глущенко on 11.08.2021.\n//  Copyright © 2021 Oleksandr Glu"
  },
  {
    "path": "FSNotes/Extensions/NSFont+.swift",
    "chars": 2040,
    "preview": "//\n//  NSFont+.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 8/26/17.\n//  Copyright © 2017 Oleksandr Glus"
  },
  {
    "path": "FSNotes/Extensions/NSImage+.swift",
    "chars": 9830,
    "preview": "//\n//  NSImage+.swift\n//  FSNotesCore macOS\n//\n//  Created by Oleksandr Glushchenko on 10/14/18.\n//  Copyright © 2018 Ol"
  },
  {
    "path": "FSNotes/Extensions/NSWindow+.swift",
    "chars": 524,
    "preview": "//\n//  NSWindow+.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 10.07.2022.\n//  Copyright © 2022 Oleksandr"
  },
  {
    "path": "FSNotes/Extensions/UserDefaultsManagement+.swift",
    "chars": 6604,
    "preview": "//\n//  UserDefaultsManagement+.swift\n//  FSNotesCore macOS\n//\n//  Created by Oleksandr Glushchenko on 10/25/18.\n//  Copy"
  },
  {
    "path": "FSNotes/FSNotes (CloudKit).entitlements",
    "chars": 1050,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "FSNotes/FSNotes.entitlements",
    "chars": 412,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "FSNotes/Helpers/FSNTextAttachmentCell.swift",
    "chars": 929,
    "preview": "//\n//  FSNTextAttahcmentCell.swift\n//  FSNotes\n//\n//  Created by Олександр Глущенко on 25.11.2020.\n//  Copyright © 2020 "
  },
  {
    "path": "FSNotes/Helpers/FileSystemEventManager.swift",
    "chars": 14271,
    "preview": "//\n//  FileSystemEventManager.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 7/13/18.\n//  Copyright © 2018"
  },
  {
    "path": "FSNotes/Helpers/FileWatcher.swift",
    "chars": 2693,
    "preview": "import Cocoa\n\nclass FileWatcher{\n  let filePaths: [String]  // -- paths to watch - works on folders and file paths\n  \n  "
  },
  {
    "path": "FSNotes/Helpers/FileWatcherEvent.swift",
    "chars": 2954,
    "preview": "import Foundation\n/**\n * PARAM: id: is an id number that the os uses to differentiate between events.\n * PARAM: path: is"
  },
  {
    "path": "FSNotes/Helpers/Printer.swift",
    "chars": 2924,
    "preview": "//\n//  Printer.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 08.08.2024.\n//  Copyright © 2024 Oleksandr H"
  },
  {
    "path": "FSNotes/Helpers/PrinterLegacy.swift",
    "chars": 2034,
    "preview": "//\n//  PrinterLegacy.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 08.08.2024.\n//  Copyright © 2024 Oleks"
  },
  {
    "path": "FSNotes/Helpers/SandboxBookmark.swift",
    "chars": 4617,
    "preview": "//\n//  SandboxBookmark.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 8/6/17.\n//  Copyright © 2017 Oleksan"
  },
  {
    "path": "FSNotes/Helpers/Sidebar.swift",
    "chars": 4272,
    "preview": "//\n//  Sidebar.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 4/7/18.\n//  Copyright © 2018 Oleksandr Glush"
  },
  {
    "path": "FSNotes/Helpers/UserDataService.swift",
    "chars": 2144,
    "preview": "//\n//  UserDataService.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 1/30/18.\n//  Copyright © 2018 Oleksa"
  },
  {
    "path": "FSNotes/Images.xcassets/AppIcon.appiconset/Contents.json",
    "chars": 1301,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"icon_16x16.png\",\n      \"idiom\" : \"mac\",\n      \"scale\" : \"1x\",\n      \"size\" : "
  },
  {
    "path": "FSNotes/Images.xcassets/Contents.json",
    "chars": 63,
    "preview": "{\n  \"info\" : {\n    \"author\" : \"xcode\",\n    \"version\" : 1\n  }\n}\n"
  },
  {
    "path": "FSNotes/Images.xcassets/Icons/AppIconClassic.imageset/Contents.json",
    "chars": 158,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"icon_alt.png\",\n      \"idiom\" : \"universal\"\n    }\n  ],\n  \"info\" : {\n    \"autho"
  },
  {
    "path": "FSNotes/Images.xcassets/Icons/AppIconModern.imageset/Contents.json",
    "chars": 154,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"icon.png\",\n      \"idiom\" : \"universal\"\n    }\n  ],\n  \"info\" : {\n    \"author\" :"
  },
  {
    "path": "FSNotes/Images.xcassets/Icons/Contents.json",
    "chars": 63,
    "preview": "{\n  \"info\" : {\n    \"author\" : \"xcode\",\n    \"version\" : 1\n  }\n}\n"
  },
  {
    "path": "FSNotes/Images.xcassets/checkbox_empty.imageset/Contents.json",
    "chars": 1093,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"checkbox_empty.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },"
  },
  {
    "path": "FSNotes/Images.xcassets/checkbox_flipped.imageset/Contents.json",
    "chars": 1052,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"checkbox_flipped.png\",\n      \"scale\" : \"1x\"\n    "
  },
  {
    "path": "FSNotes/Images.xcassets/checkbox_new.imageset/Contents.json",
    "chars": 1056,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"checkbox.png\",\n      \"scale\" : \"1x\"\n    },\n    {"
  },
  {
    "path": "FSNotes/Images.xcassets/code.colorset/Contents.json",
    "chars": 694,
    "preview": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  },\n  \"colors\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"c"
  },
  {
    "path": "FSNotes/Images.xcassets/colors_background/Contents.json",
    "chars": 63,
    "preview": "{\n  \"info\" : {\n    \"author\" : \"xcode\",\n    \"version\" : 1\n  }\n}\n"
  },
  {
    "path": "FSNotes/Images.xcassets/colors_background/background_tag.colorset/Contents.json",
    "chars": 689,
    "preview": "{\n  \"colors\" : [\n    {\n      \"color\" : {\n        \"color-space\" : \"srgb\",\n        \"components\" : {\n          \"alpha\" : \"1"
  },
  {
    "path": "FSNotes/Images.xcassets/colors_background/background_win.colorset/Contents.json",
    "chars": 689,
    "preview": "{\n  \"colors\" : [\n    {\n      \"color\" : {\n        \"color-space\" : \"srgb\",\n        \"components\" : {\n          \"alpha\" : \"1"
  },
  {
    "path": "FSNotes/Images.xcassets/copy.png.imageset/Contents.json",
    "chars": 989,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"copy-2.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n "
  },
  {
    "path": "FSNotes/Images.xcassets/divider.colorset/Contents.json",
    "chars": 688,
    "preview": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  },\n  \"colors\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"c"
  },
  {
    "path": "FSNotes/Images.xcassets/dockIcon2.imageset/Contents.json",
    "chars": 376,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"image@1x.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {"
  },
  {
    "path": "FSNotes/Images.xcassets/dockIcon4.imageset/Contents.json",
    "chars": 375,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"icon-64.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n"
  },
  {
    "path": "FSNotes/Images.xcassets/friend.imageset/Contents.json",
    "chars": 264,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"friend.png\",\n      \"idiom\" : \"mac\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \""
  },
  {
    "path": "FSNotes/Images.xcassets/highlight.colorset/Contents.json",
    "chars": 694,
    "preview": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  },\n  \"colors\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"c"
  },
  {
    "path": "FSNotes/Images.xcassets/link.colorset/Contents.json",
    "chars": 694,
    "preview": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  },\n  \"colors\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"c"
  },
  {
    "path": "FSNotes/Images.xcassets/locked.imageset/Contents.json",
    "chars": 373,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"locked.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n "
  },
  {
    "path": "FSNotes/Images.xcassets/mainBackground.colorset/Contents.json",
    "chars": 688,
    "preview": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  },\n  \"colors\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"c"
  },
  {
    "path": "FSNotes/Images.xcassets/mainText.colorset/Contents.json",
    "chars": 694,
    "preview": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  },\n  \"colors\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"c"
  },
  {
    "path": "FSNotes/Images.xcassets/menuBar.imageset/Contents.json",
    "chars": 1160,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"icon-simple-bw-b-9-512x512@2x-2.png\",\n      \"sca"
  },
  {
    "path": "FSNotes/Images.xcassets/new_note_button.imageset/Contents.json",
    "chars": 708,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"new_note-76.png\",\n      \"idiom\" : \"mac\",\n      \"scale\" : \"1x\"\n    },\n    {\n  "
  },
  {
    "path": "FSNotes/Images.xcassets/pin.imageset/Contents.json",
    "chars": 984,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"pin.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n    "
  },
  {
    "path": "FSNotes/Images.xcassets/prefsAdvanced.imageset/Contents.json",
    "chars": 376,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"image@1x.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {"
  },
  {
    "path": "FSNotes/Images.xcassets/prefsEditor.imageset/Contents.json",
    "chars": 376,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"editor.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n "
  },
  {
    "path": "FSNotes/Images.xcassets/prefsGeneral.imageset/Contents.json",
    "chars": 376,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"image@1x.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {"
  },
  {
    "path": "FSNotes/Images.xcassets/prefsGit.imageset/Contents.json",
    "chars": 367,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"git.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n    "
  },
  {
    "path": "FSNotes/Images.xcassets/prefsLayout.imageset/Contents.json",
    "chars": 376,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"layout.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n "
  },
  {
    "path": "FSNotes/Images.xcassets/prefsWeb.imageset/Contents.json",
    "chars": 273,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"prefsWeb-64.png\",\n      \"idiom\" : \"mac\",\n      \"scale\" : \"1x\"\n    },\n    {\n  "
  },
  {
    "path": "FSNotes/Images.xcassets/privacy.imageset/Contents.json",
    "chars": 379,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"privacy.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n"
  },
  {
    "path": "FSNotes/Images.xcassets/quoteColor.colorset/Contents.json",
    "chars": 688,
    "preview": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  },\n  \"colors\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"c"
  },
  {
    "path": "FSNotes/Images.xcassets/reverseBackground.colorset/Contents.json",
    "chars": 688,
    "preview": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  },\n  \"colors\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"c"
  },
  {
    "path": "FSNotes/Images.xcassets/sidebar_archive.imageset/Contents.json",
    "chars": 753,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"Archive-76.png\",\n      \"idiom\" : \"mac\",\n      \"scale\" : \"1x\"\n    },\n    {\n   "
  },
  {
    "path": "FSNotes/Images.xcassets/sidebar_external.imageset/Contents.json",
    "chars": 422,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"185097_database_icon-32.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1"
  },
  {
    "path": "FSNotes/Images.xcassets/sidebar_icloud_drive.imageset/Contents.json",
    "chars": 497,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"1820466_brand_icloud_logo_network_social_icon-32.png\",\n      \"idiom\" : \"unive"
  },
  {
    "path": "FSNotes/Images.xcassets/sidebar_inbox.imageset/Contents.json",
    "chars": 1245,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"1172241_inbox_letter_mail_mailbox_icon-76.png\",\n      \"idiom\" : \"universal\",\n"
  },
  {
    "path": "FSNotes/Images.xcassets/sidebar_notes.imageset/Contents.json",
    "chars": 696,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"Notes-77.png\",\n      \"idiom\" : \"mac\",\n      \"scale\" : \"1x\"\n    },\n    {\n     "
  },
  {
    "path": "FSNotes/Images.xcassets/sidebar_project.imageset/Contents.json",
    "chars": 700,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"folder-76.png\",\n      \"idiom\" : \"mac\",\n      \"scale\" : \"1x\"\n    },\n    {\n    "
  },
  {
    "path": "FSNotes/Images.xcassets/sidebar_project_encrypted_locked.imageset/Contents.json",
    "chars": 718,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"Folder3lock4 3.png\",\n      \"idiom\" : \"mac\",\n      \"scale\" : \"1x\"\n    },\n    {"
  },
  {
    "path": "FSNotes/Images.xcassets/sidebar_project_encrypted_unlocked.imageset/Contents.json",
    "chars": 722,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"Folder_unlock_1.png\",\n      \"idiom\" : \"mac\",\n      \"scale\" : \"1x\"\n    },\n    "
  },
  {
    "path": "FSNotes/Images.xcassets/sidebar_tag.imageset/Contents.json",
    "chars": 688,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"tag-76.png\",\n      \"idiom\" : \"mac\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \""
  },
  {
    "path": "FSNotes/Images.xcassets/sidebar_todo.imageset/Contents.json",
    "chars": 1029,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"t2-77.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n  "
  },
  {
    "path": "FSNotes/Images.xcassets/sidebar_trash.imageset/Contents.json",
    "chars": 1047,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"Trash-77.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {"
  },
  {
    "path": "FSNotes/Images.xcassets/sidebar_untagged.imageset/Contents.json",
    "chars": 708,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"Untagged-76.png\",\n      \"idiom\" : \"mac\",\n      \"scale\" : \"1x\"\n    },\n    {\n  "
  },
  {
    "path": "FSNotes/Images.xcassets/web.imageset/Contents.json",
    "chars": 674,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"web.png\",\n      \"idiom\" : \"mac\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"app"
  },
  {
    "path": "FSNotes/Info.plist",
    "chars": 8130,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "FSNotes/LayoutManager.swift",
    "chars": 10728,
    "preview": "//\n//  CustomLayoutManager.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 24.08.2025.\n//  Copyright © 2025"
  },
  {
    "path": "FSNotes/Localizable.xcstrings",
    "chars": 392525,
    "preview": "{\n  \"sourceLanguage\" : \"en\",\n  \"strings\" : {\n    \"Add\" : {\n      \"localizations\" : {\n        \"ar-IQ\" : {\n          \"stri"
  },
  {
    "path": "FSNotes/MainWindow.swift",
    "chars": 726,
    "preview": "//\n//  MainWindow.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 11/2/17.\n//  Copyright © 2017 Oleksandr G"
  },
  {
    "path": "FSNotes/MainWindowController.swift",
    "chars": 2218,
    "preview": "//\n//  MainWindowController.swift\n//  FSNotes\n//\n//  Created by BUDDAx2 on 8/9/17.\n//  Copyright © 2017 Oleksandr Glushc"
  },
  {
    "path": "FSNotes/Model/StorageEntity+CoreDataClass.swift",
    "chars": 279,
    "preview": "//\n//  StorageEntity+CoreDataClass.swift\n//  \n//\n//  Created by Oleksandr Glushchenko on 11/14/17.\n//\n//  This file was "
  },
  {
    "path": "FSNotes/Model/StorageEntity+CoreDataProperties.swift",
    "chars": 487,
    "preview": "//\n//  StorageEntity+CoreDataProperties.swift\n//  \n//\n//  Created by Oleksandr Glushchenko on 11/14/17.\n//\n//  This file"
  },
  {
    "path": "FSNotes/NSWindowController+.swift",
    "chars": 772,
    "preview": "//\n//  NSWindowController+.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 22.10.2022.\n//  Copyright © 2022"
  },
  {
    "path": "FSNotes/NoteViewController.swift",
    "chars": 2065,
    "preview": "//\n//  NoteViewController.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 25.06.2022.\n//  Copyright © 2022 "
  },
  {
    "path": "FSNotes/Preferences/MasterPasswordViewController.swift",
    "chars": 2655,
    "preview": "//\n//  MasterPasswordViewController.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 3/20/19.\n//  Copyright "
  },
  {
    "path": "FSNotes/Preferences/PreferencesAdvancedViewController.swift",
    "chars": 7154,
    "preview": "//\n//  PreferencesAdvancedViewController.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 3/17/19.\n//  Copyr"
  },
  {
    "path": "FSNotes/Preferences/PreferencesEditorViewController.swift",
    "chars": 10993,
    "preview": "//\n//  PreferencesEditorViewController.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 3/17/19.\n//  Copyrig"
  },
  {
    "path": "FSNotes/Preferences/PreferencesGeneralViewController.swift",
    "chars": 10638,
    "preview": "//\n//  PreferencesGeneralViewController.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 3/17/19.\n//  Copyri"
  },
  {
    "path": "FSNotes/Preferences/PreferencesGitViewController.swift",
    "chars": 5405,
    "preview": "//\n//  PreferencesGitViewController.swift\n//  FSNotes\n//\n//  Created by Олександр Глущенко on 9/8/19.\n//  Copyright © 20"
  },
  {
    "path": "FSNotes/Preferences/PreferencesSecurityViewController.swift",
    "chars": 2576,
    "preview": "//\n//  PreferencesSecurityViewController.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 3/17/19.\n//  Copyr"
  },
  {
    "path": "FSNotes/Preferences/PreferencesUserInterfaceViewController.swift",
    "chars": 4482,
    "preview": "//\n//  PreferencesUserInterfaceViewController.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 3/17/19.\n//  "
  },
  {
    "path": "FSNotes/Preferences/PreferencesWebViewController.swift",
    "chars": 11280,
    "preview": "//\n//  PreferencesWebViewController.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 20.08.2022.\n//  Copyrig"
  },
  {
    "path": "FSNotes/Preferences/SettingsViewController.swift",
    "chars": 5807,
    "preview": "//\n//  SettingsViewController.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 14.03.2023.\n//  Copyright © 2"
  },
  {
    "path": "FSNotes/PrefsViewController.swift",
    "chars": 2988,
    "preview": "//\n//  PrefsViewController.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 8/4/17.\n//  Copyright © 2017 Ole"
  },
  {
    "path": "FSNotes/PrefsWindowController.swift",
    "chars": 426,
    "preview": "//\n//  PrefsWindowController.swift\n//  FSNotes\n//\n//  Created by Jeff Hanbury on 13/08/17.\n//  Copyright © 2017 Oleksand"
  },
  {
    "path": "FSNotes/ProjectSettingsViewController.swift",
    "chars": 4158,
    "preview": "//\n//  ProjectSettingsViewController.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 11/23/18.\n//  Copyrigh"
  },
  {
    "path": "FSNotes/SidebarScrollView.swift",
    "chars": 349,
    "preview": "//\n//  SidebarScrollView.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 4/9/18.\n//  Copyright © 2018 Oleks"
  },
  {
    "path": "FSNotes/View/AboutImageView.swift",
    "chars": 862,
    "preview": "//\n//  AboutImage.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 08.01.2023.\n//  Copyright © 2023 Oleksand"
  },
  {
    "path": "FSNotes/View/ClickableTextField.swift",
    "chars": 612,
    "preview": "//\n//  ClickableTextField.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 13.08.2024.\n//  Copyright © 2024 "
  },
  {
    "path": "FSNotes/View/EditTextView+Clicked.swift",
    "chars": 3406,
    "preview": "//\n//  EditTextView+Clicked.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 13.12.2025.\n//  Copyright © 202"
  },
  {
    "path": "FSNotes/View/EditTextView+Complete.swift",
    "chars": 15396,
    "preview": "//\n//  EditTextView+Complete.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 06.12.2025.\n//  Copyright © 20"
  },
  {
    "path": "FSNotes/View/EditTextView+DragOperation.swift",
    "chars": 5638,
    "preview": "//\n//  EditTextView+DragOperation.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 15.10.2025.\n//  Copyright"
  },
  {
    "path": "FSNotes/View/EditTextView+MoveLines.swift",
    "chars": 5370,
    "preview": "//\n//  EditTextView+MoveLines.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 15.12.2025.\n//  Copyright © 2"
  },
  {
    "path": "FSNotes/View/EditTextView+Todo.swift",
    "chars": 1349,
    "preview": "//\n//  EditTextView+Todo.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 15.12.2025.\n//  Copyright © 2025 O"
  },
  {
    "path": "FSNotes/View/EditTextView.swift",
    "chars": 65602,
    "preview": "//\n//  EditTextView.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 8/11/17.\n//  Copyright © 2017 Oleksandr"
  },
  {
    "path": "FSNotes/View/EditorScrollView.swift",
    "chars": 1645,
    "preview": "//\n//  EditorScrollView.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 10/7/18.\n//  Copyright © 2018 Oleks"
  },
  {
    "path": "FSNotes/View/EditorSplitView.swift",
    "chars": 1505,
    "preview": "//\n//  EditorSplitView.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 4/20/18.\n//  Copyright © 2018 Oleksa"
  },
  {
    "path": "FSNotes/View/EditorView.swift",
    "chars": 586,
    "preview": "//\n//  EditorView.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 9/29/18.\n//  Copyright © 2018 Oleksandr G"
  },
  {
    "path": "FSNotes/View/HyperlinkTextField.swift",
    "chars": 800,
    "preview": "//\n//  HyperlinkTextField.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 13.11.2022.\n//  Copyright © 2022 "
  },
  {
    "path": "FSNotes/View/MPreviewContainerView.swift",
    "chars": 13658,
    "preview": "//\n//  MPreviewContainerView.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 21.12.2025.\n//  Copyright © 20"
  },
  {
    "path": "FSNotes/View/MPreviewFindPanel.swift",
    "chars": 6592,
    "preview": "//\n//  MPreviewFindPanel.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 21.12.2025.\n//  Copyright © 2025 O"
  },
  {
    "path": "FSNotes/View/NameTextField.swift",
    "chars": 399,
    "preview": "//\n//  NameTextField.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 10/9/18.\n//  Copyright © 2018 Oleksand"
  },
  {
    "path": "FSNotes/View/NoteCellView.swift",
    "chars": 13351,
    "preview": "//\n//  NoteCellView.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 7/31/17.\n//  Copyright © 2017 Oleksandr"
  },
  {
    "path": "FSNotes/View/NoteRowView.swift",
    "chars": 792,
    "preview": "//\n//  NoteRowView.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 7/31/17.\n//  Copyright © 2017 Oleksandr "
  },
  {
    "path": "FSNotes/View/NotesCounterView.swift",
    "chars": 924,
    "preview": "//\n//  NotesCounterView.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 14.12.2025.\n//  Copyright © 2025 Ol"
  },
  {
    "path": "FSNotes/View/NotesTableView.swift",
    "chars": 21512,
    "preview": "//\n//  NotesTableView.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 7/31/17.\n//  Copyright © 2017 Oleksan"
  },
  {
    "path": "FSNotes/View/OutlineHeaderView.swift",
    "chars": 1289,
    "preview": "//\n//  OutlineHeaderView.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 7/21/18.\n//  Copyright © 2018 Olek"
  },
  {
    "path": "FSNotes/View/PreviewTextField.swift",
    "chars": 971,
    "preview": "//\n//  PreviewTextField.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 10/28/17.\n//  Copyright © 2017 Olek"
  },
  {
    "path": "FSNotes/View/SearchTextField.swift",
    "chars": 12610,
    "preview": "//\n//  SearchTextField.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 8/3/17.\n//  Copyright © 2017 Oleksan"
  },
  {
    "path": "FSNotes/View/SidebarCellView.swift",
    "chars": 1198,
    "preview": "//\n//  SidebarCellView.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 4/7/18.\n//  Copyright © 2018 Oleksan"
  },
  {
    "path": "FSNotes/View/SidebarHeaderCellView.swift",
    "chars": 316,
    "preview": "//\n//  SidebarHeaderCellView.swift\n//  FSNotes\n//\n//  Created by Олександр Глущенко on 15.10.2019.\n//  Copyright © 2019 "
  },
  {
    "path": "FSNotes/View/SidebarNotesView.swift",
    "chars": 594,
    "preview": "//\n//  SidebarNotesView.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 4/9/18.\n//  Copyright © 2018 Oleksa"
  },
  {
    "path": "FSNotes/View/SidebarOutlineView.swift",
    "chars": 67444,
    "preview": "//\n//  SidebarProjectView.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 4/9/18.\n//  Copyright © 2018 Olek"
  },
  {
    "path": "FSNotes/View/SidebarSplitView.swift",
    "chars": 312,
    "preview": "//\n//  SidebarSplitView.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 9/29/18.\n//  Copyright © 2018 Oleks"
  },
  {
    "path": "FSNotes/View/SidebarTableRowView.swift",
    "chars": 227,
    "preview": "//\n//  SidebarTableRowView.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 4/11/18.\n//  Copyright © 2018 Ol"
  },
  {
    "path": "FSNotes/View/TitleBarView.swift",
    "chars": 1466,
    "preview": "//\n//  TitleBarView.swift\n//  FSNotes\n//\n//  Created by BUDDAx2 on 10/27/18.\n//  Copyright © 2018 Oleksandr Glushchenko."
  },
  {
    "path": "FSNotes/View/TitleTextField.swift",
    "chars": 4264,
    "preview": "//\n//  TitleTextField.swift\n//  FSNotes\n//\n//  Created by Олександр Глущенко on 5/10/19.\n//  Copyright © 2019 Oleksandr "
  },
  {
    "path": "FSNotes/View/VerticallyAlignedTextFieldCell.swift",
    "chars": 477,
    "preview": "//\n//  VerticallyAlignedTextFieldCell.swift\n//  FSNotes\n//\n//  Created by Олександр Глущенко on 03.05.2020.\n//  Copyrigh"
  },
  {
    "path": "FSNotes/ViewController+Git.swift",
    "chars": 7755,
    "preview": "//\n//  ViewController+Git.swift\n//  FSNotes\n//\n//  Created by Олександр Глущенко on 9/10/19.\n//  Copyright © 2019 Oleksa"
  },
  {
    "path": "FSNotes/ViewController+Menu.swift",
    "chars": 17212,
    "preview": "//\n//  ViewController+Menu.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 16.12.2025.\n//  Copyright © 2025"
  },
  {
    "path": "FSNotes/ViewController+Print.swift",
    "chars": 1101,
    "preview": "//\n//  ViewController+Print.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 2/15/19.\n//  Copyright © 2019 O"
  },
  {
    "path": "FSNotes/ViewController+Web.swift",
    "chars": 7654,
    "preview": "//\n//  ViewController+Web.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 15.09.2022.\n//  Copyright © 2022 "
  },
  {
    "path": "FSNotes/ViewController.swift",
    "chars": 73206,
    "preview": "//\n//  ViewController.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 7/20/17.\n//  Copyright © 2017 Oleksan"
  },
  {
    "path": "FSNotes/modern.icon/icon.json",
    "chars": 3408,
    "preview": "{\n  \"fill\" : \"automatic\",\n  \"groups\" : [\n    {\n      \"layers\" : [\n        {\n          \"fill-specializations\" : [\n       "
  },
  {
    "path": "FSNotes/mul.lproj/Main.xcstrings",
    "chars": 1076260,
    "preview": "{\n  \"sourceLanguage\" : \"en\",\n  \"strings\" : {\n    \"0f7-Za-V0B.title\" : {\n      \"comment\" : \"Class = \\\"NSTextFieldCell\\\"; "
  },
  {
    "path": "FSNotes Info (Notarized).plist",
    "chars": 8142,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "FSNotes iOS/.bartycrouch.toml",
    "chars": 648,
    "preview": "[update]\ntasks = [\"interfaces\", \"code\", \"transform\", \"normalize\"]\n\n[update.interfaces]\npaths = [\".\"]\ndefaultToBase = tru"
  },
  {
    "path": "FSNotes iOS/AppDelegate.swift",
    "chars": 4804,
    "preview": "//\n//  AppDelegate.swift\n//  FSNotes iOS\n//\n//  Created by Oleksandr Glushchenko on 1/29/18.\n//  Copyright © 2018 Oleksa"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Colors/Contents.json",
    "chars": 63,
    "preview": "{\n  \"info\" : {\n    \"author\" : \"xcode\",\n    \"version\" : 1\n  }\n}\n"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Colors/fsColor.colorset/Contents.json",
    "chars": 695,
    "preview": "{\n  \"colors\" : [\n    {\n      \"color\" : {\n        \"color-space\" : \"srgb\",\n        \"components\" : {\n          \"alpha\" : \"1"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Contents.json",
    "chars": 63,
    "preview": "{\n  \"info\" : {\n    \"author\" : \"xcode\",\n    \"version\" : 1\n  }\n}\n"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Editor/Contents.json",
    "chars": 63,
    "preview": "{\n  \"info\" : {\n    \"author\" : \"xcode\",\n    \"version\" : 1\n  }\n}\n"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Editor/checkbox.imageset/Contents.json",
    "chars": 1057,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"checkbox.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Editor/checkbox_empty.imageset/Contents.json",
    "chars": 1095,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"checkbox_empty.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Icons/AppIconClassic-2025.imageset/Contents.json",
    "chars": 157,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"classic.png\",\n      \"idiom\" : \"universal\"\n    }\n  ],\n  \"info\" : {\n    \"author"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Icons/AppIconModern.imageset/Contents.json",
    "chars": 182,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"classic-iOS-Default-1024x1024@1x.png\",\n      \"idiom\" : \"universal\"\n    }\n  ],"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Icons/AppIconNy-2026.imageset/Contents.json",
    "chars": 182,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"ny-2026-iOS-Default-1024x1024@1x.png\",\n      \"idiom\" : \"universal\"\n    }\n  ],"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Icons/Contents.json",
    "chars": 63,
    "preview": "{\n  \"info\" : {\n    \"author\" : \"xcode\",\n    \"version\" : 1\n  }\n}\n"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/LaunchScreenImage.imageset/Contents.json",
    "chars": 1128,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"icon-1024-1024-tint.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Sidebar/Contents.json",
    "chars": 63,
    "preview": "{\n  \"info\" : {\n    \"author\" : \"xcode\",\n    \"version\" : 1\n  }\n}\n"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Sidebar/sidebar_archive.imageset/Contents.json",
    "chars": 390,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"Archive-76.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n   "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Sidebar/sidebar_inbox.imageset/Contents.json",
    "chars": 483,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"1172241_inbox_letter_mail_mailbox_icon-76.png\",\n      \"idiom\" : \"universal\",\n"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Sidebar/sidebar_notes.imageset/Contents.json",
    "chars": 384,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"Notes-76.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Sidebar/sidebar_project.imageset/Contents.json",
    "chars": 391,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"folder-77.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Sidebar/sidebar_project_encrypted_locked.imageset/Contents.json",
    "chars": 381,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"locked@74.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Sidebar/sidebar_project_encrypted_unlocked.imageset/Contents.json",
    "chars": 387,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"unlocked@74.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n  "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Sidebar/sidebar_tag.imageset/Contents.json",
    "chars": 378,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"tag-76.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Sidebar/sidebar_todo.imageset/Contents.json",
    "chars": 375,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"t2-76.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n  "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Sidebar/sidebar_trash.imageset/Contents.json",
    "chars": 384,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"Trash-76.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Sidebar/sidebar_untagged.imageset/Contents.json",
    "chars": 432,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"1172268_tag_tags_icon-76.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \""
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Sidebar Actions/Contents.json",
    "chars": 63,
    "preview": "{\n  \"info\" : {\n    \"author\" : \"xcode\",\n    \"version\" : 1\n  }\n}\n"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Sidebar Actions/gitSettings.imageset/Contents.json",
    "chars": 1033,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"git-20.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Toolbar/Contents.json",
    "chars": 63,
    "preview": "{\n  \"info\" : {\n    \"author\" : \"xcode\",\n    \"version\" : 1\n  }\n}\n"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Toolbar/codeBlockAsset.imageset/Contents.json",
    "chars": 383,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"codeblock.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Toolbar/numbered_list.imageset/Contents.json",
    "chars": 163,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"numbered_list.png\",\n      \"idiom\" : \"universal\"\n    }\n  ],\n  \"info\" : {\n    \""
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Toolbar/ordered_list.imageset/Contents.json",
    "chars": 162,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"ordered_list.png\",\n      \"idiom\" : \"universal\"\n    }\n  ],\n  \"info\" : {\n    \"a"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Toolbar/pictureAsset.imageset/Contents.json",
    "chars": 1057,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"picture@1x.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n   "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Toolbar/quote.imageset/Contents.json",
    "chars": 155,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"quote.png\",\n      \"idiom\" : \"universal\"\n    }\n  ],\n  \"info\" : {\n    \"author\" "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Toolbar/redo.imageset/Contents.json",
    "chars": 370,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"redo.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n   "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Toolbar/toolbarBold.imageset/Contents.json",
    "chars": 409,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"icons8-bold-52-20.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n   "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Toolbar/toolbarHeader.imageset/Contents.json",
    "chars": 409,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"type-h1-icon_1-20.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n   "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Toolbar/toolbarImage.imageset/Contents.json",
    "chars": 412,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"icons8-image-96-20.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n  "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Toolbar/toolbarIndentLeft.imageset/Contents.json",
    "chars": 403,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"right-indent-20.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    }"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Toolbar/toolbarIndentRight.imageset/Contents.json",
    "chars": 400,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"left-indent-20.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Toolbar/toolbarItalic.imageset/Contents.json",
    "chars": 472,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"italic-text-option-interface-symbol-20.png\",\n      \"idiom\" : \"universal\",\n   "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Toolbar/toolbarTag.imageset/Contents.json",
    "chars": 505,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"iconfinder_20-blue_fee-label-price-tag_4488787-20.png\",\n      \"idiom\" : \"univ"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Toolbar/toolbarTodo.imageset/Contents.json",
    "chars": 424,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"icons8-todo-list-96-20.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Toolbar/toolbarWiki.imageset/Contents.json",
    "chars": 424,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"icons8-documents-96-20.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Toolbar/undo.imageset/Contents.json",
    "chars": 370,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"undo.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n   "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Touch Bar/Contents.json",
    "chars": 63,
    "preview": "{\n  \"info\" : {\n    \"author\" : \"xcode\",\n    \"version\" : 1\n  }\n}\n"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Touch Bar/Image.imageset/Contents.json",
    "chars": 373,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"image.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n  "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Touch Bar/bold.imageset/Contents.json",
    "chars": 370,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"bold.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n   "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Touch Bar/codeblock.imageset/Contents.json",
    "chars": 383,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"codeblock.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Touch Bar/indent.imageset/Contents.json",
    "chars": 376,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"indent.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Touch Bar/italic.imageset/Contents.json",
    "chars": 376,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"italic.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Touch Bar/tb_link.imageset/Contents.json",
    "chars": 377,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"tb_link.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n"
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Touch Bar/todo.imageset/Contents.json",
    "chars": 370,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"todo.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n   "
  },
  {
    "path": "FSNotes iOS/Assets.xcassets/Touch Bar/unindent.imageset/Contents.json",
    "chars": 382,
    "preview": "{\n  \"images\" : [\n    {\n      \"filename\" : \"unindent.png\",\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {"
  },
  {
    "path": "FSNotes iOS/DatePickerViewController.swift",
    "chars": 1912,
    "preview": "//\n//  DatePickerViewController.swift\n//  FSNotes iOS\n//\n//  Created by Александр on 01.02.2022.\n//  Copyright © 2022 Ol"
  },
  {
    "path": "FSNotes iOS/EditorViewController+QuickLook.swift",
    "chars": 883,
    "preview": "//\n//  EditorViewController+QuickLook.swift\n//  FSNotes iOS\n//\n//  Created by Oleksandr Hlushchenko on 05.05.2024.\n//  C"
  },
  {
    "path": "FSNotes iOS/EditorViewController+Search.swift",
    "chars": 9171,
    "preview": "//\n//  EditorViewController+Search.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 14.01.2026.\n//  Copyrigh"
  },
  {
    "path": "FSNotes iOS/EditorViewController.swift",
    "chars": 59884,
    "preview": "//\n//  EditorViewController.swift\n//  FSNotes iOS\n//\n//  Created by Oleksandr Glushchenko on 1/31/18.\n//  Copyright © 20"
  },
  {
    "path": "FSNotes iOS/Extensions/UIApplication+.swift",
    "chars": 1511,
    "preview": "//\n//  UIApplication.swift\n//  FSNotes iOS\n//\n//  Created by Oleksandr Glushchenko on 9/21/18.\n//  Copyright © 2018 Olek"
  },
  {
    "path": "FSNotes iOS/Extensions/UIBarButtonItem+.swift",
    "chars": 1346,
    "preview": "//\n//  UIBarButton+.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 15.11.2025.\n//  Copyright © 2025 Oleksa"
  },
  {
    "path": "FSNotes iOS/Extensions/UIColor+.swift",
    "chars": 5198,
    "preview": "//\n//  UIColor+.swift\n//  FSNotes\n//\n//  Created by Oleksandr Hlushchenko on 12.05.2023.\n//  Copyright © 2023 Oleksandr "
  },
  {
    "path": "FSNotes iOS/Extensions/UIFont+.swift",
    "chars": 1088,
    "preview": "//\n//  UIFont+.swift\n//  FSNotes\n//\n//  Created by Oleksandr Glushchenko on 3/6/18.\n//  Copyright © 2018 Oleksandr Glush"
  }
]

// ... and 287 more files (download for full content)

About this extraction

This page contains the full source code of the glushchenko/fsnotes GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 487 files (5.7 MB), approximately 1.5M tokens, and a symbol index with 446 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!