gitextract_i1lra9d3/ ├── .gitignore ├── JetChat/ │ ├── FY-IMChat/ │ │ ├── Assets.xcassets/ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── ChatView/ │ │ │ │ ├── Contents.json │ │ │ │ ├── MessageVideoDownload.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── MessageVideoPlay.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ReceiverImageNodeBorder.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ic_avatar_placeholder.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ic_group_placeholder.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ic_msg_forward_n.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ic_msg_forward_s.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── message_receiver_background_highlight.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── message_receiver_background_normal.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── message_receiver_background_reversed.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── message_sender_background_highlight.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── message_sender_background_normal.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── message_sender_background_reversed.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── message_voice_receiver_normal.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── message_voice_receiver_playing_1.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── message_voice_receiver_playing_2.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── message_voice_receiver_playing_3.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── message_voice_sender_normal.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── message_voice_sender_playing_1.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── message_voice_sender_playing_2.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── message_voice_sender_playing_3.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── play_btn_normal.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── play_btn_pressed.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── player_back_button.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── player_suspend_button.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── Common/ │ │ │ │ ├── Contents.json │ │ │ │ ├── ic_list_selection.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── ic_placeholder.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── Contents.json │ │ │ ├── LaunchImage.launchimage/ │ │ │ │ └── Contents.json │ │ │ ├── Mine/ │ │ │ │ ├── Contents.json │ │ │ │ └── icon_arrow_right.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── Moments/ │ │ │ │ ├── Contents.json │ │ │ │ ├── ic_album_reflash.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ic_comment_normal.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ic_comment_selected.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ic_star_normal.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ic_star_selected.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── nav_camera_black.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── nav_camera_white.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── Nav/ │ │ │ │ ├── Contents.json │ │ │ │ ├── icon_more_add.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── nav_back_black.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── nav_back_white.imageset/ │ │ │ │ └── Contents.json │ │ │ └── TabBar/ │ │ │ ├── Contents.json │ │ │ ├── ic_tabbar01_normal.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_tabbar01_selected.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_tabbar02_normal.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_tabbar02_selected.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_tabbar03_normal.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_tabbar03_selected.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_tabbar04_normal.imageset/ │ │ │ │ └── Contents.json │ │ │ └── ic_tabbar04_selected.imageset/ │ │ │ └── Contents.json │ │ ├── Classes/ │ │ │ ├── AppDelegate/ │ │ │ │ ├── AppDelegate+Utils.swift │ │ │ │ ├── AppDelegate+Wcdb.swift │ │ │ │ └── AppDelegate.swift │ │ │ ├── Base/ │ │ │ │ ├── FYBaseIGListViewController.swift │ │ │ │ ├── FYBaseNavigationController.swift │ │ │ │ ├── FYBaseTabBarController.swift │ │ │ │ ├── FYBaseViewController.swift │ │ │ │ ├── Model/ │ │ │ │ │ └── FYCellDataConfig.swift │ │ │ │ └── ViewModel/ │ │ │ │ └── BaseViewModel.swift │ │ │ ├── Common/ │ │ │ │ └── AppCommon.swift │ │ │ ├── Extensions/ │ │ │ │ ├── Array/ │ │ │ │ │ └── Array+Extension.swift │ │ │ │ ├── Dictionary/ │ │ │ │ │ └── Dictionary+Exted.swift │ │ │ │ ├── Notification/ │ │ │ │ │ └── Notification+Name.swift │ │ │ │ ├── RxSwift/ │ │ │ │ │ ├── JFButton+Rx.swift │ │ │ │ │ ├── MJRefresh+Rx.swift │ │ │ │ │ └── Observable+Operators.swift │ │ │ │ ├── SnapKit/ │ │ │ │ │ ├── ConstraintArray+Extensions.swift │ │ │ │ │ └── ConstraintArrayDSL.swift │ │ │ │ ├── Strings/ │ │ │ │ │ ├── String+Date.swift │ │ │ │ │ └── String+Extension.swift │ │ │ │ ├── UIColor/ │ │ │ │ │ └── UIColor+Extension.swift │ │ │ │ ├── UIKit/ │ │ │ │ │ ├── UIAlert+Extension.swift │ │ │ │ │ ├── UIButton+Extension.swift │ │ │ │ │ ├── UIFont+PingFang.swift │ │ │ │ │ ├── UIImage+Extension.swift │ │ │ │ │ ├── UIImageView+Kingfisher.swift │ │ │ │ │ ├── UILabel+Extension.swift │ │ │ │ │ ├── UINavBarItem+Extension.swift │ │ │ │ │ └── UITableView+Extension.swift │ │ │ │ └── UIView/ │ │ │ │ ├── UIView+Extensions.swift │ │ │ │ └── UIViewController+Extend.swift │ │ │ ├── Libraries/ │ │ │ │ ├── ActionSheet/ │ │ │ │ │ ├── FYActionSheet.swift │ │ │ │ │ └── FYActionSheetCell.swift │ │ │ │ ├── HUDProgress/ │ │ │ │ │ ├── HUDAssets.bundle/ │ │ │ │ │ │ └── Info.plist │ │ │ │ │ └── MBConfiguredHUD.swift │ │ │ │ ├── NavPopup/ │ │ │ │ │ ├── Cell/ │ │ │ │ │ │ └── FYNavDropMenuCell.swift │ │ │ │ │ └── FYNavPopuListMenu.swift │ │ │ │ └── Refreshing/ │ │ │ │ └── FYMomentsHeaderRefresh.swift │ │ │ ├── MainModule/ │ │ │ │ ├── ChatRoom/ │ │ │ │ │ ├── Controller/ │ │ │ │ │ │ ├── FYChatBaseViewController.swift │ │ │ │ │ │ ├── FYChatRoomListViewController.swift │ │ │ │ │ │ └── FYMessageForwardViewController.swift │ │ │ │ │ ├── Model/ │ │ │ │ │ │ ├── FYMessageBaseModel.swift │ │ │ │ │ │ ├── FYMessageChatModel.swift │ │ │ │ │ │ └── FYMessageItem.swift │ │ │ │ │ ├── View/ │ │ │ │ │ │ ├── FYImageMessageCell.swift │ │ │ │ │ │ ├── FYMessageBaseCell.swift │ │ │ │ │ │ ├── FYTextMessageCell.swift │ │ │ │ │ │ └── FYVideoMessageCell.swift │ │ │ │ │ └── ViewModel/ │ │ │ │ │ └── FYMessageViewModel.swift │ │ │ │ ├── Contacts/ │ │ │ │ │ ├── Controller/ │ │ │ │ │ │ ├── FYContactsInfoViewController.swift │ │ │ │ │ │ ├── FYContactsListViewController.swift │ │ │ │ │ │ └── FYEditChatInfoViewController.swift │ │ │ │ │ └── View/ │ │ │ │ │ ├── FYContactsInfoView.swift │ │ │ │ │ └── FYContactsTableViewCell.swift │ │ │ │ ├── Conversation/ │ │ │ │ │ ├── Controller/ │ │ │ │ │ │ └── FYSesstionListViewController.swift │ │ │ │ │ └── View/ │ │ │ │ │ └── FYConversationCell.swift │ │ │ │ ├── Mine/ │ │ │ │ │ ├── Controller/ │ │ │ │ │ │ ├── FYMineViewController.swift │ │ │ │ │ │ ├── FYSettingViewController.swift │ │ │ │ │ │ └── FYThemeSelectionListVC.swift │ │ │ │ │ └── View/ │ │ │ │ │ └── FYFastGridListView.swift │ │ │ │ ├── Moments/ │ │ │ │ │ ├── FYMomentsViewController.swift │ │ │ │ │ ├── JSONData/ │ │ │ │ │ │ ├── moments1.json │ │ │ │ │ │ └── moments2.json │ │ │ │ │ ├── Model/ │ │ │ │ │ │ ├── FYCommentInfo.swift │ │ │ │ │ │ ├── FYMoUserInfo.swift │ │ │ │ │ │ └── FYMomentInfo.swift │ │ │ │ │ ├── Sections/ │ │ │ │ │ │ └── FYMomentBindingSection.swift │ │ │ │ │ └── View/ │ │ │ │ │ ├── Cell/ │ │ │ │ │ │ ├── CommentContentCell.swift │ │ │ │ │ │ ├── CommentContentView.swift │ │ │ │ │ │ ├── CommentInputView.swift │ │ │ │ │ │ ├── CommentThumbView.swift │ │ │ │ │ │ ├── MomentBottomCell.swift │ │ │ │ │ │ ├── MomentCommentCell.swift │ │ │ │ │ │ ├── MomentHeaderCell.swift │ │ │ │ │ │ ├── MomentHeaderImageCell.swift │ │ │ │ │ │ ├── MomentLocationCell.swift │ │ │ │ │ │ └── MomentTopCell.swift │ │ │ │ │ ├── FYMomentNavBar.swift │ │ │ │ │ ├── MomentLabel/ │ │ │ │ │ │ ├── FYLabel.swift │ │ │ │ │ │ └── FYLabelType.swift │ │ │ │ │ ├── NineImageView.swift │ │ │ │ │ ├── OperateMenuView.swift │ │ │ │ │ └── TextView/ │ │ │ │ │ └── FYTextView.swift │ │ │ │ └── QrScan/ │ │ │ │ └── ScanQRCodeViewController.swift │ │ │ ├── Resource/ │ │ │ │ ├── Languages/ │ │ │ │ │ ├── en.lproj/ │ │ │ │ │ │ ├── InfoPlist.strings │ │ │ │ │ │ └── Localizable.strings │ │ │ │ │ └── zh-Hans.lproj/ │ │ │ │ │ ├── InfoPlist.strings │ │ │ │ │ ├── LWLocalizations.strings │ │ │ │ │ └── Localizable.strings │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ └── R.generated.swift │ │ │ ├── Thirdparty/ │ │ │ │ ├── BottomPopupController/ │ │ │ │ │ ├── BottomPopupDismissAnimator.swift │ │ │ │ │ ├── BottomPopupDismissInteractionController.swift │ │ │ │ │ ├── BottomPopupNavigationController.swift │ │ │ │ │ ├── BottomPopupPresentAnimator.swift │ │ │ │ │ ├── BottomPopupPresentationController.swift │ │ │ │ │ ├── BottomPopupTransitionHandler.swift │ │ │ │ │ ├── BottomPopupUtils.swift │ │ │ │ │ ├── BottomPopupViewController.swift │ │ │ │ │ └── CSBottomPopupNavigationController.swift │ │ │ │ ├── NavigationHandy/ │ │ │ │ │ ├── NSObject+BinAdd.h │ │ │ │ │ ├── NSObject+BinAdd.m │ │ │ │ │ ├── UINavigationController+Extensions.h │ │ │ │ │ └── UINavigationController+Extensions.m │ │ │ │ ├── RxActivityIndicator/ │ │ │ │ │ └── ActivityIndicator.swift │ │ │ │ └── RxErrorTracker/ │ │ │ │ └── ErrorTracker.swift │ │ │ └── Utilites/ │ │ │ ├── DataBase/ │ │ │ │ ├── WCDBManager/ │ │ │ │ │ └── DBQuery/ │ │ │ │ │ ├── FYDBQueryHelper.swift │ │ │ │ │ └── FYMessageUserModel.swift │ │ │ │ ├── WCDataBaseManager.swift │ │ │ │ └── WCDataBaseTable.swift │ │ │ ├── FPSLabel/ │ │ │ │ ├── FPSLabel.swift │ │ │ │ ├── WeakProxy.h │ │ │ │ └── WeakProxy.m │ │ │ ├── FileSizeManager/ │ │ │ │ ├── FYFileSizeManager.swift │ │ │ │ └── FYUserDefaultManager.swift │ │ │ ├── Helpers/ │ │ │ │ ├── CountDownHandy.swift │ │ │ │ └── LanguageManager.swift │ │ │ ├── KeyboardCore/ │ │ │ │ ├── Cell/ │ │ │ │ │ ├── ChatAppleEmojiCell.swift │ │ │ │ │ ├── ChatKeyboardFlowLayout.swift │ │ │ │ │ └── ChatMoreMenuCell.swift │ │ │ │ ├── ChatEmojiListView.swift │ │ │ │ ├── ChatGrowingTextView.swift │ │ │ │ ├── ChatKeyboard+Extensions.swift │ │ │ │ ├── ChatKeyboardView.swift │ │ │ │ ├── ChatMoreMenuView.swift │ │ │ │ ├── Helper/ │ │ │ │ │ ├── ChatEmotionAttachment.swift │ │ │ │ │ ├── ChatEmotionHelper.swift │ │ │ │ │ └── ChatFindEmotion.swift │ │ │ │ ├── Model/ │ │ │ │ │ ├── ChatEmoticon.swift │ │ │ │ │ └── ChatMoreMnueConfig.swift │ │ │ │ └── Resource/ │ │ │ │ ├── Emoji/ │ │ │ │ │ └── Emoticons.bundle/ │ │ │ │ │ └── com.apple.emoji/ │ │ │ │ │ └── info.plist │ │ │ │ └── Emotion/ │ │ │ │ └── Expression.plist │ │ │ └── Theme/ │ │ │ ├── FYDarkTheme.swift │ │ │ ├── FYLightTheme.swift │ │ │ ├── FYThemeCenter.swift │ │ │ └── FYThemeColors.swift │ │ ├── FY-IMChat.entitlements │ │ ├── FYObjcBridge.h │ │ └── Info.plist │ ├── FY-IMChat.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── FY-IMChat.xcscheme │ ├── FY-IMChat.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── FY-IMChatTests/ │ │ ├── FY_IMChatTests.swift │ │ └── Info.plist │ ├── FY-IMChatUITests/ │ │ ├── FY_IMChatUITests.swift │ │ └── Info.plist │ ├── JetChatWidget/ │ │ ├── Assets.xcassets/ │ │ │ ├── AccentColor.colorset/ │ │ │ │ └── Contents.json │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── Contents.json │ │ │ ├── WidgetBackground.colorset/ │ │ │ │ └── Contents.json │ │ │ └── icon_widget_bg.imageset/ │ │ │ └── Contents.json │ │ ├── Info.plist │ │ ├── JetChatWidget.intentdefinition │ │ └── JetChatWidget.swift │ ├── JetChatWidgetExtension.entitlements │ ├── Podfile │ └── Pods/ │ ├── Alamofire/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── Source/ │ │ ├── AFError.swift │ │ ├── Alamofire.swift │ │ ├── AlamofireExtended.swift │ │ ├── AuthenticationInterceptor.swift │ │ ├── CachedResponseHandler.swift │ │ ├── Combine.swift │ │ ├── Concurrency.swift │ │ ├── DispatchQueue+Alamofire.swift │ │ ├── EventMonitor.swift │ │ ├── HTTPHeaders.swift │ │ ├── HTTPMethod.swift │ │ ├── MultipartFormData.swift │ │ ├── MultipartUpload.swift │ │ ├── NetworkReachabilityManager.swift │ │ ├── Notifications.swift │ │ ├── OperationQueue+Alamofire.swift │ │ ├── ParameterEncoder.swift │ │ ├── ParameterEncoding.swift │ │ ├── Protected.swift │ │ ├── RedirectHandler.swift │ │ ├── Request.swift │ │ ├── RequestInterceptor.swift │ │ ├── RequestTaskMap.swift │ │ ├── Response.swift │ │ ├── ResponseSerialization.swift │ │ ├── Result+Alamofire.swift │ │ ├── RetryPolicy.swift │ │ ├── ServerTrustEvaluation.swift │ │ ├── Session.swift │ │ ├── SessionDelegate.swift │ │ ├── StringEncoding+Alamofire.swift │ │ ├── URLConvertible+URLRequestConvertible.swift │ │ ├── URLEncodedFormEncoder.swift │ │ ├── URLRequest+Alamofire.swift │ │ ├── URLSessionConfiguration+Alamofire.swift │ │ └── Validation.swift │ ├── Alamofire.xcodeproj/ │ │ └── project.pbxproj │ ├── FDFullscreenPopGesture/ │ │ ├── FDFullscreenPopGesture/ │ │ │ ├── UINavigationController+FDFullscreenPopGesture.h │ │ │ └── UINavigationController+FDFullscreenPopGesture.m │ │ ├── LICENSE │ │ └── README.md │ ├── FDFullscreenPopGesture.xcodeproj/ │ │ └── project.pbxproj │ ├── HandyJSON/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── Source/ │ │ ├── AnyExtensions.swift │ │ ├── BuiltInBasicType.swift │ │ ├── BuiltInBridgeType.swift │ │ ├── CBridge.swift │ │ ├── Configuration.swift │ │ ├── ContextDescriptorType.swift │ │ ├── CustomDateFormatTransform.swift │ │ ├── DataTransform.swift │ │ ├── DateFormatterTransform.swift │ │ ├── DateTransform.swift │ │ ├── Deserializer.swift │ │ ├── EnumTransform.swift │ │ ├── EnumType.swift │ │ ├── Export.swift │ │ ├── ExtendCustomBasicType.swift │ │ ├── ExtendCustomModelType.swift │ │ ├── FieldDescriptor.swift │ │ ├── HandyJSON.h │ │ ├── HelpingMapper.swift │ │ ├── HexColorTransform.swift │ │ ├── ISO8601DateTransform.swift │ │ ├── Logger.swift │ │ ├── MangledName.swift │ │ ├── Measuable.swift │ │ ├── Metadata.swift │ │ ├── NSDecimalNumberTransform.swift │ │ ├── OtherExtension.swift │ │ ├── PointerType.swift │ │ ├── Properties.swift │ │ ├── PropertyInfo.swift │ │ ├── ReflectionHelper.swift │ │ ├── Serializer.swift │ │ ├── TransformOf.swift │ │ ├── TransformType.swift │ │ ├── Transformable.swift │ │ └── URLTransform.swift │ ├── HandyJSON.xcodeproj/ │ │ └── project.pbxproj │ ├── IGListDiffKit/ │ │ ├── LICENSE.md │ │ ├── README.md │ │ └── Source/ │ │ └── IGListDiffKit/ │ │ ├── IGListAssert.h │ │ ├── IGListBatchUpdateData.h │ │ ├── IGListBatchUpdateData.mm │ │ ├── IGListCompatibility.h │ │ ├── IGListDiff.h │ │ ├── IGListDiff.mm │ │ ├── IGListDiffKit.h │ │ ├── IGListDiffable.h │ │ ├── IGListExperiments.h │ │ ├── IGListIndexPathResult.h │ │ ├── IGListIndexPathResult.m │ │ ├── IGListIndexSetResult.h │ │ ├── IGListIndexSetResult.m │ │ ├── IGListMacros.h │ │ ├── IGListMoveIndex.h │ │ ├── IGListMoveIndex.m │ │ ├── IGListMoveIndexPath.h │ │ ├── IGListMoveIndexPath.m │ │ ├── Internal/ │ │ │ ├── IGListIndexPathResultInternal.h │ │ │ ├── IGListIndexSetResultInternal.h │ │ │ ├── IGListMoveIndexInternal.h │ │ │ └── IGListMoveIndexPathInternal.h │ │ ├── NSNumber+IGListDiffable.h │ │ ├── NSNumber+IGListDiffable.m │ │ ├── NSString+IGListDiffable.h │ │ └── NSString+IGListDiffable.m │ ├── IGListDiffKit.xcodeproj/ │ │ └── project.pbxproj │ ├── IGListKit/ │ │ ├── LICENSE.md │ │ ├── README.md │ │ └── Source/ │ │ ├── IGListDiffKit/ │ │ │ └── Internal/ │ │ │ ├── IGListIndexPathResultInternal.h │ │ │ ├── IGListIndexSetResultInternal.h │ │ │ ├── IGListMoveIndexInternal.h │ │ │ └── IGListMoveIndexPathInternal.h │ │ └── IGListKit/ │ │ ├── IGListAdapter.h │ │ ├── IGListAdapter.m │ │ ├── IGListAdapterDataSource.h │ │ ├── IGListAdapterDelegate.h │ │ ├── IGListAdapterMoveDelegate.h │ │ ├── IGListAdapterPerformanceDelegate.h │ │ ├── IGListAdapterUpdateListener.h │ │ ├── IGListAdapterUpdater.h │ │ ├── IGListAdapterUpdater.m │ │ ├── IGListAdapterUpdaterDelegate.h │ │ ├── IGListBatchContext.h │ │ ├── IGListBindable.h │ │ ├── IGListBindingSectionController.h │ │ ├── IGListBindingSectionController.m │ │ ├── IGListBindingSectionControllerDataSource.h │ │ ├── IGListBindingSectionControllerSelectionDelegate.h │ │ ├── IGListCollectionContext.h │ │ ├── IGListCollectionScrollingTraits.h │ │ ├── IGListCollectionView.h │ │ ├── IGListCollectionView.m │ │ ├── IGListCollectionViewDelegateLayout.h │ │ ├── IGListCollectionViewLayout.h │ │ ├── IGListCollectionViewLayout.mm │ │ ├── IGListCollectionViewLayoutCompatible.h │ │ ├── IGListDisplayDelegate.h │ │ ├── IGListGenericSectionController.h │ │ ├── IGListGenericSectionController.m │ │ ├── IGListKit.h │ │ ├── IGListReloadDataUpdater.h │ │ ├── IGListReloadDataUpdater.m │ │ ├── IGListScrollDelegate.h │ │ ├── IGListSectionController.h │ │ ├── IGListSectionController.m │ │ ├── IGListSingleSectionController.h │ │ ├── IGListSingleSectionController.m │ │ ├── IGListSupplementaryViewSource.h │ │ ├── IGListTransitionDelegate.h │ │ ├── IGListUpdatingDelegate.h │ │ ├── IGListWorkingRangeDelegate.h │ │ └── Internal/ │ │ ├── IGListAdapter+DebugDescription.h │ │ ├── IGListAdapter+DebugDescription.m │ │ ├── IGListAdapter+UICollectionView.h │ │ ├── IGListAdapter+UICollectionView.m │ │ ├── IGListAdapterInternal.h │ │ ├── IGListAdapterProxy.h │ │ ├── IGListAdapterProxy.m │ │ ├── IGListAdapterUpdater+DebugDescription.h │ │ ├── IGListAdapterUpdater+DebugDescription.m │ │ ├── IGListAdapterUpdaterInternal.h │ │ ├── IGListArrayUtilsInternal.h │ │ ├── IGListBatchUpdateData+DebugDescription.h │ │ ├── IGListBatchUpdateData+DebugDescription.m │ │ ├── IGListBatchUpdateState.h │ │ ├── IGListBatchUpdates.h │ │ ├── IGListBatchUpdates.m │ │ ├── IGListBindingSectionController+DebugDescription.h │ │ ├── IGListBindingSectionController+DebugDescription.m │ │ ├── IGListCollectionViewLayoutInternal.h │ │ ├── IGListDebugger.h │ │ ├── IGListDebugger.m │ │ ├── IGListDebuggingUtilities.h │ │ ├── IGListDebuggingUtilities.m │ │ ├── IGListDisplayHandler.h │ │ ├── IGListDisplayHandler.m │ │ ├── IGListReloadIndexPath.h │ │ ├── IGListReloadIndexPath.m │ │ ├── IGListSectionControllerInternal.h │ │ ├── IGListSectionMap+DebugDescription.h │ │ ├── IGListSectionMap+DebugDescription.m │ │ ├── IGListSectionMap.h │ │ ├── IGListSectionMap.m │ │ ├── IGListWorkingRangeHandler.h │ │ ├── IGListWorkingRangeHandler.mm │ │ ├── UICollectionView+DebugDescription.h │ │ ├── UICollectionView+DebugDescription.m │ │ ├── UICollectionView+IGListBatchUpdateData.h │ │ ├── UICollectionView+IGListBatchUpdateData.m │ │ ├── UICollectionViewLayout+InteractiveReordering.h │ │ ├── UICollectionViewLayout+InteractiveReordering.m │ │ ├── UIScrollView+IGListKit.h │ │ └── UIScrollView+IGListKit.m │ ├── IGListKit.xcodeproj/ │ │ └── project.pbxproj │ ├── IQKeyboardManagerSwift/ │ │ ├── IQKeyboardManagerSwift/ │ │ │ ├── Categories/ │ │ │ │ ├── IQNSArray+Sort.swift │ │ │ │ ├── IQUIScrollView+Additions.swift │ │ │ │ ├── IQUITextFieldView+Additions.swift │ │ │ │ ├── IQUIView+Hierarchy.swift │ │ │ │ └── IQUIViewController+Additions.swift │ │ │ ├── Constants/ │ │ │ │ ├── IQKeyboardManagerConstants.swift │ │ │ │ └── IQKeyboardManagerConstantsInternal.swift │ │ │ ├── IQKeyboardManager+Debug.swift │ │ │ ├── IQKeyboardManager+Internal.swift │ │ │ ├── IQKeyboardManager+OrientationNotification.swift │ │ │ ├── IQKeyboardManager+Position.swift │ │ │ ├── IQKeyboardManager+Toolbar.swift │ │ │ ├── IQKeyboardManager+UIKeyboardNotification.swift │ │ │ ├── IQKeyboardManager+UITextFieldViewNotification.swift │ │ │ ├── IQKeyboardManager.swift │ │ │ ├── IQKeyboardReturnKeyHandler.swift │ │ │ ├── IQTextView/ │ │ │ │ └── IQTextView.swift │ │ │ └── IQToolbar/ │ │ │ ├── IQBarButtonItem.swift │ │ │ ├── IQInvocation.swift │ │ │ ├── IQPreviousNextView.swift │ │ │ ├── IQTitleBarButtonItem.swift │ │ │ ├── IQToolbar.swift │ │ │ └── IQUIView+IQKeyboardToolbar.swift │ │ ├── LICENSE.md │ │ └── README.md │ ├── IQKeyboardManagerSwift.xcodeproj/ │ │ └── project.pbxproj │ ├── Kingfisher/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── Sources/ │ │ ├── Cache/ │ │ │ ├── CacheSerializer.swift │ │ │ ├── DiskStorage.swift │ │ │ ├── FormatIndicatedCacheSerializer.swift │ │ │ ├── ImageCache.swift │ │ │ ├── MemoryStorage.swift │ │ │ └── Storage.swift │ │ ├── Extensions/ │ │ │ ├── ImageView+Kingfisher.swift │ │ │ ├── NSButton+Kingfisher.swift │ │ │ ├── NSTextAttachment+Kingfisher.swift │ │ │ ├── TVMonogramView+Kingfisher.swift │ │ │ ├── UIButton+Kingfisher.swift │ │ │ └── WKInterfaceImage+Kingfisher.swift │ │ ├── General/ │ │ │ ├── ImageSource/ │ │ │ │ ├── AVAssetImageDataProvider.swift │ │ │ │ ├── ImageDataProvider.swift │ │ │ │ ├── Resource.swift │ │ │ │ └── Source.swift │ │ │ ├── KF.swift │ │ │ ├── KFOptionsSetter.swift │ │ │ ├── Kingfisher.swift │ │ │ ├── KingfisherError.swift │ │ │ ├── KingfisherManager.swift │ │ │ └── KingfisherOptionsInfo.swift │ │ ├── Image/ │ │ │ ├── Filter.swift │ │ │ ├── GIFAnimatedImage.swift │ │ │ ├── GraphicsContext.swift │ │ │ ├── Image.swift │ │ │ ├── ImageDrawing.swift │ │ │ ├── ImageFormat.swift │ │ │ ├── ImageProcessor.swift │ │ │ ├── ImageProgressive.swift │ │ │ ├── ImageTransition.swift │ │ │ └── Placeholder.swift │ │ ├── Networking/ │ │ │ ├── AuthenticationChallengeResponsable.swift │ │ │ ├── ImageDataProcessor.swift │ │ │ ├── ImageDownloader.swift │ │ │ ├── ImageDownloaderDelegate.swift │ │ │ ├── ImageModifier.swift │ │ │ ├── ImagePrefetcher.swift │ │ │ ├── RedirectHandler.swift │ │ │ ├── RequestModifier.swift │ │ │ ├── RetryStrategy.swift │ │ │ ├── SessionDataTask.swift │ │ │ └── SessionDelegate.swift │ │ ├── SwiftUI/ │ │ │ ├── ImageBinder.swift │ │ │ ├── KFImage.swift │ │ │ └── KFImageOptions.swift │ │ ├── Utility/ │ │ │ ├── Box.swift │ │ │ ├── CallbackQueue.swift │ │ │ ├── Delegate.swift │ │ │ ├── ExtensionHelpers.swift │ │ │ ├── Result.swift │ │ │ ├── Runtime.swift │ │ │ ├── SizeExtensions.swift │ │ │ └── String+MD5.swift │ │ └── Views/ │ │ ├── AnimatedImageView.swift │ │ └── Indicator.swift │ ├── Kingfisher.xcodeproj/ │ │ └── project.pbxproj │ ├── Localize-Swift/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── Sources/ │ │ ├── Localize.swift │ │ ├── Localize_Swift.h │ │ ├── String+LocalizeBundle.swift │ │ ├── String+LocalizeTableName.swift │ │ ├── String+LocalizedBundleTableName.swift │ │ └── UI/ │ │ └── IBDesignable+Localize.swift │ ├── Localize-Swift.xcodeproj/ │ │ └── project.pbxproj │ ├── LookinServer/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── Src/ │ │ ├── Server/ │ │ │ ├── Category/ │ │ │ │ ├── CALayer+LookinServer.h │ │ │ │ ├── CALayer+LookinServer.m │ │ │ │ ├── NSObject+LookinServer.h │ │ │ │ ├── NSObject+LookinServer.m │ │ │ │ ├── UIBlurEffect+LookinServer.h │ │ │ │ ├── UIBlurEffect+LookinServer.m │ │ │ │ ├── UIColor+LookinServer.h │ │ │ │ ├── UIColor+LookinServer.m │ │ │ │ ├── UIGestureRecognizer+LookinServer.h │ │ │ │ ├── UIGestureRecognizer+LookinServer.m │ │ │ │ ├── UIImage+LookinServer.h │ │ │ │ ├── UIImage+LookinServer.m │ │ │ │ ├── UIImageView+LookinServer.h │ │ │ │ ├── UIImageView+LookinServer.m │ │ │ │ ├── UILabel+LookinServer.h │ │ │ │ ├── UILabel+LookinServer.m │ │ │ │ ├── UITableView+LookinServer.h │ │ │ │ ├── UITableView+LookinServer.m │ │ │ │ ├── UITextField+LookinServer.h │ │ │ │ ├── UITextField+LookinServer.m │ │ │ │ ├── UITextView+LookinServer.h │ │ │ │ ├── UITextView+LookinServer.m │ │ │ │ ├── UIView+LookinServer.h │ │ │ │ ├── UIView+LookinServer.m │ │ │ │ ├── UIViewController+LookinServer.h │ │ │ │ ├── UIViewController+LookinServer.m │ │ │ │ ├── UIVisualEffectView+LookinServer.h │ │ │ │ └── UIVisualEffectView+LookinServer.m │ │ │ ├── Connection/ │ │ │ │ ├── LKS_ConnectionManager.h │ │ │ │ ├── LKS_ConnectionManager.m │ │ │ │ ├── LKS_RequestHandler.h │ │ │ │ ├── LKS_RequestHandler.m │ │ │ │ └── RequestHandler/ │ │ │ │ ├── LKS_AttrModificationHandler.h │ │ │ │ ├── LKS_AttrModificationHandler.m │ │ │ │ ├── LKS_AttrModificationPatchHandler.h │ │ │ │ ├── LKS_AttrModificationPatchHandler.m │ │ │ │ ├── LKS_HierarchyDetailsHandler.h │ │ │ │ └── LKS_HierarchyDetailsHandler.m │ │ │ ├── Inspect/ │ │ │ │ ├── LKS_LocalInspectManager.h │ │ │ │ ├── LKS_LocalInspectManager.m │ │ │ │ ├── LKS_LocalInspectPanelLabelView.h │ │ │ │ ├── LKS_LocalInspectPanelLabelView.m │ │ │ │ ├── LKS_LocalInspectViewController.h │ │ │ │ └── LKS_LocalInspectViewController.m │ │ │ ├── LookinServer.h │ │ │ ├── Others/ │ │ │ │ ├── LKS_AttrGroupsMaker.h │ │ │ │ ├── LKS_AttrGroupsMaker.m │ │ │ │ ├── LKS_EventHandlerMaker.h │ │ │ │ ├── LKS_EventHandlerMaker.m │ │ │ │ ├── LKS_ExportManager.h │ │ │ │ ├── LKS_ExportManager.m │ │ │ │ ├── LKS_Helper.h │ │ │ │ ├── LKS_Helper.m │ │ │ │ ├── LKS_HierarchyDisplayItemsMaker.h │ │ │ │ ├── LKS_HierarchyDisplayItemsMaker.m │ │ │ │ ├── LKS_MethodTraceManager.h │ │ │ │ ├── LKS_MethodTraceManager.m │ │ │ │ ├── LKS_ObjectRegistry.h │ │ │ │ ├── LKS_ObjectRegistry.m │ │ │ │ ├── LKS_TraceManager.h │ │ │ │ ├── LKS_TraceManager.m │ │ │ │ └── LookinServerDefines.h │ │ │ └── Perspective/ │ │ │ ├── LKS_PerspectiveDataSource.h │ │ │ ├── LKS_PerspectiveDataSource.m │ │ │ ├── LKS_PerspectiveHierarchyCell.h │ │ │ ├── LKS_PerspectiveHierarchyCell.m │ │ │ ├── LKS_PerspectiveHierarchyView.h │ │ │ ├── LKS_PerspectiveHierarchyView.m │ │ │ ├── LKS_PerspectiveItemLayer.h │ │ │ ├── LKS_PerspectiveItemLayer.m │ │ │ ├── LKS_PerspectiveLayer.h │ │ │ ├── LKS_PerspectiveLayer.m │ │ │ ├── LKS_PerspectiveManager.h │ │ │ ├── LKS_PerspectiveManager.m │ │ │ ├── LKS_PerspectiveToolbarButtons.h │ │ │ ├── LKS_PerspectiveToolbarButtons.m │ │ │ ├── LKS_PerspectiveViewController.h │ │ │ └── LKS_PerspectiveViewController.m │ │ └── Shared/ │ │ ├── Category/ │ │ │ ├── CALayer+Lookin.h │ │ │ ├── CALayer+Lookin.m │ │ │ ├── NSArray+Lookin.h │ │ │ ├── NSArray+Lookin.m │ │ │ ├── NSObject+Lookin.h │ │ │ ├── NSObject+Lookin.m │ │ │ ├── NSSet+Lookin.h │ │ │ ├── NSSet+Lookin.m │ │ │ ├── NSString+Lookin.h │ │ │ └── NSString+Lookin.m │ │ ├── LookinAppInfo.h │ │ ├── LookinAppInfo.m │ │ ├── LookinAttrIdentifiers.h │ │ ├── LookinAttrIdentifiers.m │ │ ├── LookinAttrType.h │ │ ├── LookinAttribute.h │ │ ├── LookinAttribute.m │ │ ├── LookinAttributeModification.h │ │ ├── LookinAttributeModification.m │ │ ├── LookinAttributesGroup.h │ │ ├── LookinAttributesGroup.m │ │ ├── LookinAttributesSection.h │ │ ├── LookinAttributesSection.m │ │ ├── LookinAutoLayoutConstraint.h │ │ ├── LookinAutoLayoutConstraint.m │ │ ├── LookinCodingValueType.h │ │ ├── LookinConnectionAttachment.h │ │ ├── LookinConnectionAttachment.m │ │ ├── LookinConnectionResponseAttachment.h │ │ ├── LookinConnectionResponseAttachment.m │ │ ├── LookinDashboardBlueprint.h │ │ ├── LookinDashboardBlueprint.m │ │ ├── LookinDefines.h │ │ ├── LookinDisplayItem.h │ │ ├── LookinDisplayItem.m │ │ ├── LookinDisplayItemDetail.h │ │ ├── LookinDisplayItemDetail.m │ │ ├── LookinEventHandler.h │ │ ├── LookinEventHandler.m │ │ ├── LookinHierarchyFile.h │ │ ├── LookinHierarchyFile.m │ │ ├── LookinHierarchyInfo.h │ │ ├── LookinHierarchyInfo.m │ │ ├── LookinIvarTrace.h │ │ ├── LookinIvarTrace.m │ │ ├── LookinMethodTraceRecord.h │ │ ├── LookinMethodTraceRecord.m │ │ ├── LookinObject.h │ │ ├── LookinObject.m │ │ ├── LookinScreenshotFetchManager.h │ │ ├── LookinStaticAsyncUpdateTask.h │ │ ├── LookinStaticAsyncUpdateTask.m │ │ ├── LookinTuple.h │ │ ├── LookinTuple.m │ │ ├── LookinWeakContainer.h │ │ ├── LookinWeakContainer.m │ │ ├── Message/ │ │ │ ├── LookinMsgAttribute.h │ │ │ ├── LookinMsgAttribute.m │ │ │ ├── LookinMsgTargetAction.h │ │ │ └── LookinMsgTargetAction.m │ │ └── Peertalk/ │ │ ├── Lookin_PTChannel.h │ │ ├── Lookin_PTChannel.m │ │ ├── Lookin_PTPrivate.h │ │ ├── Lookin_PTProtocol.h │ │ ├── Lookin_PTProtocol.m │ │ ├── Lookin_PTUSBHub.h │ │ ├── Lookin_PTUSBHub.m │ │ └── Peertalk.h │ ├── LookinServer.xcodeproj/ │ │ └── project.pbxproj │ ├── MBProgressHUD/ │ │ ├── LICENSE │ │ ├── MBProgressHUD.h │ │ ├── MBProgressHUD.m │ │ └── README.mdown │ ├── MBProgressHUD.xcodeproj/ │ │ └── project.pbxproj │ ├── MJRefresh/ │ │ ├── LICENSE │ │ ├── MJRefresh/ │ │ │ ├── Base/ │ │ │ │ ├── MJRefreshAutoFooter.h │ │ │ │ ├── MJRefreshAutoFooter.m │ │ │ │ ├── MJRefreshBackFooter.h │ │ │ │ ├── MJRefreshBackFooter.m │ │ │ │ ├── MJRefreshComponent.h │ │ │ │ ├── MJRefreshComponent.m │ │ │ │ ├── MJRefreshFooter.h │ │ │ │ ├── MJRefreshFooter.m │ │ │ │ ├── MJRefreshHeader.h │ │ │ │ ├── MJRefreshHeader.m │ │ │ │ ├── MJRefreshTrailer.h │ │ │ │ └── MJRefreshTrailer.m │ │ │ ├── Custom/ │ │ │ │ ├── Footer/ │ │ │ │ │ ├── Auto/ │ │ │ │ │ │ ├── MJRefreshAutoGifFooter.h │ │ │ │ │ │ ├── MJRefreshAutoGifFooter.m │ │ │ │ │ │ ├── MJRefreshAutoNormalFooter.h │ │ │ │ │ │ ├── MJRefreshAutoNormalFooter.m │ │ │ │ │ │ ├── MJRefreshAutoStateFooter.h │ │ │ │ │ │ └── MJRefreshAutoStateFooter.m │ │ │ │ │ └── Back/ │ │ │ │ │ ├── MJRefreshBackGifFooter.h │ │ │ │ │ ├── MJRefreshBackGifFooter.m │ │ │ │ │ ├── MJRefreshBackNormalFooter.h │ │ │ │ │ ├── MJRefreshBackNormalFooter.m │ │ │ │ │ ├── MJRefreshBackStateFooter.h │ │ │ │ │ └── MJRefreshBackStateFooter.m │ │ │ │ ├── Header/ │ │ │ │ │ ├── MJRefreshGifHeader.h │ │ │ │ │ ├── MJRefreshGifHeader.m │ │ │ │ │ ├── MJRefreshNormalHeader.h │ │ │ │ │ ├── MJRefreshNormalHeader.m │ │ │ │ │ ├── MJRefreshStateHeader.h │ │ │ │ │ └── MJRefreshStateHeader.m │ │ │ │ └── Trailer/ │ │ │ │ ├── MJRefreshNormalTrailer.h │ │ │ │ ├── MJRefreshNormalTrailer.m │ │ │ │ ├── MJRefreshStateTrailer.h │ │ │ │ └── MJRefreshStateTrailer.m │ │ │ ├── MJRefresh.bundle/ │ │ │ │ ├── en.lproj/ │ │ │ │ │ └── Localizable.strings │ │ │ │ ├── ko.lproj/ │ │ │ │ │ └── Localizable.strings │ │ │ │ ├── ru.lproj/ │ │ │ │ │ └── Localizable.strings │ │ │ │ ├── uk.lproj/ │ │ │ │ │ └── Localizable.strings │ │ │ │ ├── zh-Hans.lproj/ │ │ │ │ │ └── Localizable.strings │ │ │ │ └── zh-Hant.lproj/ │ │ │ │ └── Localizable.strings │ │ │ ├── MJRefresh.h │ │ │ ├── MJRefreshConfig.h │ │ │ ├── MJRefreshConfig.m │ │ │ ├── MJRefreshConst.h │ │ │ ├── MJRefreshConst.m │ │ │ ├── NSBundle+MJRefresh.h │ │ │ ├── NSBundle+MJRefresh.m │ │ │ ├── UICollectionViewLayout+MJRefresh.h │ │ │ ├── UICollectionViewLayout+MJRefresh.m │ │ │ ├── UIScrollView+MJExtension.h │ │ │ ├── UIScrollView+MJExtension.m │ │ │ ├── UIScrollView+MJRefresh.h │ │ │ ├── UIScrollView+MJRefresh.m │ │ │ ├── UIView+MJExtension.h │ │ │ └── UIView+MJExtension.m │ │ └── README.md │ ├── MJRefresh.xcodeproj/ │ │ └── project.pbxproj │ ├── Moya/ │ │ ├── License.md │ │ ├── Readme.md │ │ └── Sources/ │ │ ├── Moya/ │ │ │ ├── AnyEncodable.swift │ │ │ ├── Atomic.swift │ │ │ ├── Cancellable.swift │ │ │ ├── Endpoint.swift │ │ │ ├── Image.swift │ │ │ ├── Moya+Alamofire.swift │ │ │ ├── MoyaError.swift │ │ │ ├── MoyaProvider+Defaults.swift │ │ │ ├── MoyaProvider+Internal.swift │ │ │ ├── MoyaProvider.swift │ │ │ ├── MultiTarget.swift │ │ │ ├── MultipartFormData.swift │ │ │ ├── Plugin.swift │ │ │ ├── Plugins/ │ │ │ │ ├── AccessTokenPlugin.swift │ │ │ │ ├── CredentialsPlugin.swift │ │ │ │ ├── NetworkActivityPlugin.swift │ │ │ │ └── NetworkLoggerPlugin.swift │ │ │ ├── RequestTypeWrapper.swift │ │ │ ├── Response.swift │ │ │ ├── TargetType.swift │ │ │ ├── Task.swift │ │ │ ├── URL+Moya.swift │ │ │ ├── URLRequest+Encoding.swift │ │ │ └── ValidationType.swift │ │ └── RxMoya/ │ │ ├── MoyaProvider+Rx.swift │ │ ├── Observable+Response.swift │ │ └── Single+Response.swift │ ├── Moya.xcodeproj/ │ │ └── project.pbxproj │ ├── NSObject+Rx/ │ │ ├── HasDisposeBag.swift │ │ ├── LICENSE │ │ ├── NSObject+Rx.swift │ │ └── Readme.md │ ├── NSObject+Rx.xcodeproj/ │ │ └── project.pbxproj │ ├── Pods.xcodeproj/ │ │ └── project.pbxproj │ ├── R.swift/ │ │ ├── License │ │ └── rswift │ ├── R.swift.Library/ │ │ ├── Library/ │ │ │ ├── Core/ │ │ │ │ ├── ColorResource.swift │ │ │ │ ├── FileResource.swift │ │ │ │ ├── FontResource.swift │ │ │ │ ├── Identifier.swift │ │ │ │ ├── ImageResource.swift │ │ │ │ ├── NibResource.swift │ │ │ │ ├── ReuseIdentifierProtocol.swift │ │ │ │ ├── StoryboardResource.swift │ │ │ │ ├── StoryboardSegueIdentifierProtocol.swift │ │ │ │ ├── StoryboardViewControllerResource.swift │ │ │ │ ├── StringResource.swift │ │ │ │ └── Validatable.swift │ │ │ ├── Foundation/ │ │ │ │ ├── Bundle+FileResource.swift │ │ │ │ └── Data+FileResource.swift │ │ │ └── UIKit/ │ │ │ ├── NibResource+UIKit.swift │ │ │ ├── StoryboardResourceWithInitialController+UIKit.swift │ │ │ ├── TypedStoryboardSegueInfo+UIStoryboardSegue.swift │ │ │ ├── UICollectionView+ReuseIdentifierProtocol.swift │ │ │ ├── UIColor+ColorResource.swift │ │ │ ├── UIFont+FontResource.swift │ │ │ ├── UIImage+ImageResource.swift │ │ │ ├── UINib+NibResource.swift │ │ │ ├── UIStoryboard+StoryboardResource.swift │ │ │ ├── UIStoryboard+StoryboardViewControllerResource.swift │ │ │ ├── UITableView+ReuseIdentifierProtocol.swift │ │ │ ├── UIViewController+NibResource.swift │ │ │ └── UIViewController+StoryboardSegueIdentifierProtocol.swift │ │ ├── License │ │ └── Readme.md │ ├── R.swift.Library.xcodeproj/ │ │ └── project.pbxproj │ ├── R.swift.xcodeproj/ │ │ └── project.pbxproj │ ├── ReachabilitySwift/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── Sources/ │ │ └── Reachability.swift │ ├── ReachabilitySwift.xcodeproj/ │ │ └── project.pbxproj │ ├── RxCocoa/ │ │ ├── LICENSE.md │ │ ├── Platform/ │ │ │ ├── DataStructures/ │ │ │ │ ├── Bag.swift │ │ │ │ ├── InfiniteSequence.swift │ │ │ │ ├── PriorityQueue.swift │ │ │ │ └── Queue.swift │ │ │ ├── DispatchQueue+Extensions.swift │ │ │ ├── Platform.Darwin.swift │ │ │ ├── Platform.Linux.swift │ │ │ └── RecursiveLock.swift │ │ ├── README.md │ │ └── RxCocoa/ │ │ ├── Common/ │ │ │ ├── ControlTarget.swift │ │ │ ├── DelegateProxy.swift │ │ │ ├── DelegateProxyType.swift │ │ │ ├── Infallible+Bind.swift │ │ │ ├── Observable+Bind.swift │ │ │ ├── RxCocoaObjCRuntimeError+Extensions.swift │ │ │ ├── RxTarget.swift │ │ │ ├── SectionedViewDataSourceType.swift │ │ │ └── TextInput.swift │ │ ├── Foundation/ │ │ │ ├── KVORepresentable+CoreGraphics.swift │ │ │ ├── KVORepresentable+Swift.swift │ │ │ ├── KVORepresentable.swift │ │ │ ├── NSObject+Rx+KVORepresentable.swift │ │ │ ├── NSObject+Rx+RawRepresentable.swift │ │ │ ├── NSObject+Rx.swift │ │ │ ├── NotificationCenter+Rx.swift │ │ │ └── URLSession+Rx.swift │ │ ├── Runtime/ │ │ │ ├── _RX.m │ │ │ ├── _RXDelegateProxy.m │ │ │ ├── _RXKVOObserver.m │ │ │ ├── _RXObjCRuntime.m │ │ │ └── include/ │ │ │ ├── RxCocoaRuntime.h │ │ │ ├── _RX.h │ │ │ ├── _RXDelegateProxy.h │ │ │ ├── _RXKVOObserver.h │ │ │ └── _RXObjCRuntime.h │ │ ├── RxCocoa.h │ │ ├── RxCocoa.swift │ │ ├── Traits/ │ │ │ ├── ControlEvent.swift │ │ │ ├── ControlProperty.swift │ │ │ ├── Driver/ │ │ │ │ ├── BehaviorRelay+Driver.swift │ │ │ │ ├── ControlEvent+Driver.swift │ │ │ │ ├── ControlProperty+Driver.swift │ │ │ │ ├── Driver+Subscription.swift │ │ │ │ ├── Driver.swift │ │ │ │ └── ObservableConvertibleType+Driver.swift │ │ │ ├── SharedSequence/ │ │ │ │ ├── ObservableConvertibleType+SharedSequence.swift │ │ │ │ ├── SchedulerType+SharedSequence.swift │ │ │ │ ├── SharedSequence+Concurrency.swift │ │ │ │ ├── SharedSequence+Operators+arity.swift │ │ │ │ ├── SharedSequence+Operators.swift │ │ │ │ └── SharedSequence.swift │ │ │ └── Signal/ │ │ │ ├── ControlEvent+Signal.swift │ │ │ ├── ObservableConvertibleType+Signal.swift │ │ │ ├── PublishRelay+Signal.swift │ │ │ ├── Signal+Subscription.swift │ │ │ └── Signal.swift │ │ ├── iOS/ │ │ │ ├── DataSources/ │ │ │ │ ├── RxCollectionViewReactiveArrayDataSource.swift │ │ │ │ ├── RxPickerViewAdapter.swift │ │ │ │ └── RxTableViewReactiveArrayDataSource.swift │ │ │ ├── Events/ │ │ │ │ └── ItemEvents.swift │ │ │ ├── NSTextStorage+Rx.swift │ │ │ ├── Protocols/ │ │ │ │ ├── RxCollectionViewDataSourceType.swift │ │ │ │ ├── RxPickerViewDataSourceType.swift │ │ │ │ └── RxTableViewDataSourceType.swift │ │ │ ├── Proxies/ │ │ │ │ ├── RxCollectionViewDataSourcePrefetchingProxy.swift │ │ │ │ ├── RxCollectionViewDataSourceProxy.swift │ │ │ │ ├── RxCollectionViewDelegateProxy.swift │ │ │ │ ├── RxNavigationControllerDelegateProxy.swift │ │ │ │ ├── RxPickerViewDataSourceProxy.swift │ │ │ │ ├── RxPickerViewDelegateProxy.swift │ │ │ │ ├── RxScrollViewDelegateProxy.swift │ │ │ │ ├── RxSearchBarDelegateProxy.swift │ │ │ │ ├── RxSearchControllerDelegateProxy.swift │ │ │ │ ├── RxTabBarControllerDelegateProxy.swift │ │ │ │ ├── RxTabBarDelegateProxy.swift │ │ │ │ ├── RxTableViewDataSourcePrefetchingProxy.swift │ │ │ │ ├── RxTableViewDataSourceProxy.swift │ │ │ │ ├── RxTableViewDelegateProxy.swift │ │ │ │ ├── RxTextStorageDelegateProxy.swift │ │ │ │ ├── RxTextViewDelegateProxy.swift │ │ │ │ └── RxWKNavigationDelegateProxy.swift │ │ │ ├── UIActivityIndicatorView+Rx.swift │ │ │ ├── UIApplication+Rx.swift │ │ │ ├── UIBarButtonItem+Rx.swift │ │ │ ├── UIButton+Rx.swift │ │ │ ├── UICollectionView+Rx.swift │ │ │ ├── UIControl+Rx.swift │ │ │ ├── UIDatePicker+Rx.swift │ │ │ ├── UIGestureRecognizer+Rx.swift │ │ │ ├── UINavigationController+Rx.swift │ │ │ ├── UIPickerView+Rx.swift │ │ │ ├── UIRefreshControl+Rx.swift │ │ │ ├── UIScrollView+Rx.swift │ │ │ ├── UISearchBar+Rx.swift │ │ │ ├── UISearchController+Rx.swift │ │ │ ├── UISegmentedControl+Rx.swift │ │ │ ├── UISlider+Rx.swift │ │ │ ├── UIStepper+Rx.swift │ │ │ ├── UISwitch+Rx.swift │ │ │ ├── UITabBar+Rx.swift │ │ │ ├── UITabBarController+Rx.swift │ │ │ ├── UITableView+Rx.swift │ │ │ ├── UITextField+Rx.swift │ │ │ ├── UITextView+Rx.swift │ │ │ └── WKWebView+Rx.swift │ │ └── macOS/ │ │ ├── NSButton+Rx.swift │ │ ├── NSControl+Rx.swift │ │ ├── NSSlider+Rx.swift │ │ ├── NSTextField+Rx.swift │ │ ├── NSTextView+Rx.swift │ │ └── NSView+Rx.swift │ ├── RxCocoa.xcodeproj/ │ │ └── project.pbxproj │ ├── RxRelay/ │ │ ├── LICENSE.md │ │ ├── README.md │ │ └── RxRelay/ │ │ ├── BehaviorRelay.swift │ │ ├── Observable+Bind.swift │ │ ├── PublishRelay.swift │ │ ├── ReplayRelay.swift │ │ └── Utils.swift │ ├── RxRelay.xcodeproj/ │ │ └── project.pbxproj │ ├── RxSwift/ │ │ ├── LICENSE.md │ │ ├── Platform/ │ │ │ ├── AtomicInt.swift │ │ │ ├── DataStructures/ │ │ │ │ ├── Bag.swift │ │ │ │ ├── InfiniteSequence.swift │ │ │ │ ├── PriorityQueue.swift │ │ │ │ └── Queue.swift │ │ │ ├── DispatchQueue+Extensions.swift │ │ │ ├── Platform.Darwin.swift │ │ │ ├── Platform.Linux.swift │ │ │ └── RecursiveLock.swift │ │ ├── README.md │ │ └── RxSwift/ │ │ ├── AnyObserver.swift │ │ ├── Binder.swift │ │ ├── Cancelable.swift │ │ ├── Concurrency/ │ │ │ ├── AsyncLock.swift │ │ │ ├── Lock.swift │ │ │ ├── LockOwnerType.swift │ │ │ ├── SynchronizedDisposeType.swift │ │ │ ├── SynchronizedOnType.swift │ │ │ └── SynchronizedUnsubscribeType.swift │ │ ├── ConnectableObservableType.swift │ │ ├── Date+Dispatch.swift │ │ ├── Disposable.swift │ │ ├── Disposables/ │ │ │ ├── AnonymousDisposable.swift │ │ │ ├── BinaryDisposable.swift │ │ │ ├── BooleanDisposable.swift │ │ │ ├── CompositeDisposable.swift │ │ │ ├── Disposables.swift │ │ │ ├── DisposeBag.swift │ │ │ ├── DisposeBase.swift │ │ │ ├── NopDisposable.swift │ │ │ ├── RefCountDisposable.swift │ │ │ ├── ScheduledDisposable.swift │ │ │ ├── SerialDisposable.swift │ │ │ ├── SingleAssignmentDisposable.swift │ │ │ └── SubscriptionDisposable.swift │ │ ├── Errors.swift │ │ ├── Event.swift │ │ ├── Extensions/ │ │ │ └── Bag+Rx.swift │ │ ├── GroupedObservable.swift │ │ ├── ImmediateSchedulerType.swift │ │ ├── Observable+Concurrency.swift │ │ ├── Observable.swift │ │ ├── ObservableConvertibleType.swift │ │ ├── ObservableType+Extensions.swift │ │ ├── ObservableType.swift │ │ ├── Observables/ │ │ │ ├── AddRef.swift │ │ │ ├── Amb.swift │ │ │ ├── AsMaybe.swift │ │ │ ├── AsSingle.swift │ │ │ ├── Buffer.swift │ │ │ ├── Catch.swift │ │ │ ├── CombineLatest+Collection.swift │ │ │ ├── CombineLatest+arity.swift │ │ │ ├── CombineLatest.swift │ │ │ ├── CompactMap.swift │ │ │ ├── Concat.swift │ │ │ ├── Create.swift │ │ │ ├── Debounce.swift │ │ │ ├── Debug.swift │ │ │ ├── Decode.swift │ │ │ ├── DefaultIfEmpty.swift │ │ │ ├── Deferred.swift │ │ │ ├── Delay.swift │ │ │ ├── DelaySubscription.swift │ │ │ ├── Dematerialize.swift │ │ │ ├── DistinctUntilChanged.swift │ │ │ ├── Do.swift │ │ │ ├── ElementAt.swift │ │ │ ├── Empty.swift │ │ │ ├── Enumerated.swift │ │ │ ├── Error.swift │ │ │ ├── Filter.swift │ │ │ ├── First.swift │ │ │ ├── Generate.swift │ │ │ ├── GroupBy.swift │ │ │ ├── Just.swift │ │ │ ├── Map.swift │ │ │ ├── Materialize.swift │ │ │ ├── Merge.swift │ │ │ ├── Multicast.swift │ │ │ ├── Never.swift │ │ │ ├── ObserveOn.swift │ │ │ ├── Optional.swift │ │ │ ├── Producer.swift │ │ │ ├── Range.swift │ │ │ ├── Reduce.swift │ │ │ ├── Repeat.swift │ │ │ ├── RetryWhen.swift │ │ │ ├── Sample.swift │ │ │ ├── Scan.swift │ │ │ ├── Sequence.swift │ │ │ ├── ShareReplayScope.swift │ │ │ ├── SingleAsync.swift │ │ │ ├── Sink.swift │ │ │ ├── Skip.swift │ │ │ ├── SkipUntil.swift │ │ │ ├── SkipWhile.swift │ │ │ ├── StartWith.swift │ │ │ ├── SubscribeOn.swift │ │ │ ├── Switch.swift │ │ │ ├── SwitchIfEmpty.swift │ │ │ ├── Take.swift │ │ │ ├── TakeLast.swift │ │ │ ├── TakeWithPredicate.swift │ │ │ ├── Throttle.swift │ │ │ ├── Timeout.swift │ │ │ ├── Timer.swift │ │ │ ├── ToArray.swift │ │ │ ├── Using.swift │ │ │ ├── Window.swift │ │ │ ├── WithLatestFrom.swift │ │ │ ├── WithUnretained.swift │ │ │ ├── Zip+Collection.swift │ │ │ ├── Zip+arity.swift │ │ │ └── Zip.swift │ │ ├── ObserverType.swift │ │ ├── Observers/ │ │ │ ├── AnonymousObserver.swift │ │ │ ├── ObserverBase.swift │ │ │ └── TailRecursiveSink.swift │ │ ├── Reactive.swift │ │ ├── Rx.swift │ │ ├── RxMutableBox.swift │ │ ├── SchedulerType.swift │ │ ├── Schedulers/ │ │ │ ├── ConcurrentDispatchQueueScheduler.swift │ │ │ ├── ConcurrentMainScheduler.swift │ │ │ ├── CurrentThreadScheduler.swift │ │ │ ├── HistoricalScheduler.swift │ │ │ ├── HistoricalSchedulerTimeConverter.swift │ │ │ ├── Internal/ │ │ │ │ ├── DispatchQueueConfiguration.swift │ │ │ │ ├── InvocableScheduledItem.swift │ │ │ │ ├── InvocableType.swift │ │ │ │ ├── ScheduledItem.swift │ │ │ │ └── ScheduledItemType.swift │ │ │ ├── MainScheduler.swift │ │ │ ├── OperationQueueScheduler.swift │ │ │ ├── RecursiveScheduler.swift │ │ │ ├── SchedulerServices+Emulation.swift │ │ │ ├── SerialDispatchQueueScheduler.swift │ │ │ ├── VirtualTimeConverterType.swift │ │ │ └── VirtualTimeScheduler.swift │ │ ├── Subjects/ │ │ │ ├── AsyncSubject.swift │ │ │ ├── BehaviorSubject.swift │ │ │ ├── PublishSubject.swift │ │ │ ├── ReplaySubject.swift │ │ │ └── SubjectType.swift │ │ ├── SwiftSupport/ │ │ │ └── SwiftSupport.swift │ │ └── Traits/ │ │ ├── Infallible/ │ │ │ ├── Infallible+CombineLatest+arity.swift │ │ │ ├── Infallible+Concurrency.swift │ │ │ ├── Infallible+Create.swift │ │ │ ├── Infallible+Operators.swift │ │ │ ├── Infallible+Zip+arity.swift │ │ │ ├── Infallible.swift │ │ │ └── ObservableConvertibleType+Infallible.swift │ │ └── PrimitiveSequence/ │ │ ├── Completable+AndThen.swift │ │ ├── Completable.swift │ │ ├── Maybe.swift │ │ ├── ObservableType+PrimitiveSequence.swift │ │ ├── PrimitiveSequence+Concurrency.swift │ │ ├── PrimitiveSequence+Zip+arity.swift │ │ ├── PrimitiveSequence.swift │ │ └── Single.swift │ ├── RxSwift.xcodeproj/ │ │ └── project.pbxproj │ ├── RxTheme/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── Sources/ │ │ ├── Extensions/ │ │ │ ├── CALayer+Theme.swift │ │ │ ├── CAShapeLayer+Theme.swift │ │ │ ├── UIActivityIndicatorView+Theme.swift │ │ │ ├── UIBarButtonItem+Theme.swift │ │ │ ├── UIButton+Theme.swift │ │ │ ├── UILabel+Theme.swift │ │ │ ├── UINavigationBar+Theme.swift │ │ │ ├── UIPageControl+Theme.swift │ │ │ ├── UIProgressView+Theme.swift │ │ │ ├── UISearchBar+Theme.swift │ │ │ ├── UISegmentedControl+Theme.swift │ │ │ ├── UISlider+Theme.swift │ │ │ ├── UISwitch+Theme.swift │ │ │ ├── UITAbleViewCell+Theme.swift │ │ │ ├── UITabBar+Theme.swift │ │ │ ├── UITableView+Theme.swift │ │ │ ├── UITextField+Theme.swift │ │ │ ├── UITextView+Theme.swift │ │ │ ├── UIToolbar+Theme.swift │ │ │ └── UIView+Theme.swift │ │ ├── ThemeAttribute.swift │ │ ├── ThemeProvider.swift │ │ ├── ThemeProxy.swift │ │ └── ThemeService.swift │ ├── RxTheme.xcodeproj/ │ │ └── project.pbxproj │ ├── SDWebImage/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── SDWebImage/ │ │ │ ├── Core/ │ │ │ │ ├── NSButton+WebCache.h │ │ │ │ ├── NSButton+WebCache.m │ │ │ │ ├── NSData+ImageContentType.h │ │ │ │ ├── NSData+ImageContentType.m │ │ │ │ ├── NSImage+Compatibility.h │ │ │ │ ├── NSImage+Compatibility.m │ │ │ │ ├── SDAnimatedImage.h │ │ │ │ ├── SDAnimatedImage.m │ │ │ │ ├── SDAnimatedImagePlayer.h │ │ │ │ ├── SDAnimatedImagePlayer.m │ │ │ │ ├── SDAnimatedImageRep.h │ │ │ │ ├── SDAnimatedImageRep.m │ │ │ │ ├── SDAnimatedImageView+WebCache.h │ │ │ │ ├── SDAnimatedImageView+WebCache.m │ │ │ │ ├── SDAnimatedImageView.h │ │ │ │ ├── SDAnimatedImageView.m │ │ │ │ ├── SDDiskCache.h │ │ │ │ ├── SDDiskCache.m │ │ │ │ ├── SDGraphicsImageRenderer.h │ │ │ │ ├── SDGraphicsImageRenderer.m │ │ │ │ ├── SDImageAPNGCoder.h │ │ │ │ ├── SDImageAPNGCoder.m │ │ │ │ ├── SDImageAWebPCoder.h │ │ │ │ ├── SDImageAWebPCoder.m │ │ │ │ ├── SDImageCache.h │ │ │ │ ├── SDImageCache.m │ │ │ │ ├── SDImageCacheConfig.h │ │ │ │ ├── SDImageCacheConfig.m │ │ │ │ ├── SDImageCacheDefine.h │ │ │ │ ├── SDImageCacheDefine.m │ │ │ │ ├── SDImageCachesManager.h │ │ │ │ ├── SDImageCachesManager.m │ │ │ │ ├── SDImageCoder.h │ │ │ │ ├── SDImageCoder.m │ │ │ │ ├── SDImageCoderHelper.h │ │ │ │ ├── SDImageCoderHelper.m │ │ │ │ ├── SDImageCodersManager.h │ │ │ │ ├── SDImageCodersManager.m │ │ │ │ ├── SDImageFrame.h │ │ │ │ ├── SDImageFrame.m │ │ │ │ ├── SDImageGIFCoder.h │ │ │ │ ├── SDImageGIFCoder.m │ │ │ │ ├── SDImageGraphics.h │ │ │ │ ├── SDImageGraphics.m │ │ │ │ ├── SDImageHEICCoder.h │ │ │ │ ├── SDImageHEICCoder.m │ │ │ │ ├── SDImageIOAnimatedCoder.h │ │ │ │ ├── SDImageIOAnimatedCoder.m │ │ │ │ ├── SDImageIOCoder.h │ │ │ │ ├── SDImageIOCoder.m │ │ │ │ ├── SDImageLoader.h │ │ │ │ ├── SDImageLoader.m │ │ │ │ ├── SDImageLoadersManager.h │ │ │ │ ├── SDImageLoadersManager.m │ │ │ │ ├── SDImageTransformer.h │ │ │ │ ├── SDImageTransformer.m │ │ │ │ ├── SDMemoryCache.h │ │ │ │ ├── SDMemoryCache.m │ │ │ │ ├── SDWebImageCacheKeyFilter.h │ │ │ │ ├── SDWebImageCacheKeyFilter.m │ │ │ │ ├── SDWebImageCacheSerializer.h │ │ │ │ ├── SDWebImageCacheSerializer.m │ │ │ │ ├── SDWebImageCompat.h │ │ │ │ ├── SDWebImageCompat.m │ │ │ │ ├── SDWebImageDefine.h │ │ │ │ ├── SDWebImageDefine.m │ │ │ │ ├── SDWebImageDownloader.h │ │ │ │ ├── SDWebImageDownloader.m │ │ │ │ ├── SDWebImageDownloaderConfig.h │ │ │ │ ├── SDWebImageDownloaderConfig.m │ │ │ │ ├── SDWebImageDownloaderDecryptor.h │ │ │ │ ├── SDWebImageDownloaderDecryptor.m │ │ │ │ ├── SDWebImageDownloaderOperation.h │ │ │ │ ├── SDWebImageDownloaderOperation.m │ │ │ │ ├── SDWebImageDownloaderRequestModifier.h │ │ │ │ ├── SDWebImageDownloaderRequestModifier.m │ │ │ │ ├── SDWebImageDownloaderResponseModifier.h │ │ │ │ ├── SDWebImageDownloaderResponseModifier.m │ │ │ │ ├── SDWebImageError.h │ │ │ │ ├── SDWebImageError.m │ │ │ │ ├── SDWebImageIndicator.h │ │ │ │ ├── SDWebImageIndicator.m │ │ │ │ ├── SDWebImageManager.h │ │ │ │ ├── SDWebImageManager.m │ │ │ │ ├── SDWebImageOperation.h │ │ │ │ ├── SDWebImageOperation.m │ │ │ │ ├── SDWebImageOptionsProcessor.h │ │ │ │ ├── SDWebImageOptionsProcessor.m │ │ │ │ ├── SDWebImagePrefetcher.h │ │ │ │ ├── SDWebImagePrefetcher.m │ │ │ │ ├── SDWebImageTransition.h │ │ │ │ ├── SDWebImageTransition.m │ │ │ │ ├── UIButton+WebCache.h │ │ │ │ ├── UIButton+WebCache.m │ │ │ │ ├── UIImage+ExtendedCacheData.h │ │ │ │ ├── UIImage+ExtendedCacheData.m │ │ │ │ ├── UIImage+ForceDecode.h │ │ │ │ ├── UIImage+ForceDecode.m │ │ │ │ ├── UIImage+GIF.h │ │ │ │ ├── UIImage+GIF.m │ │ │ │ ├── UIImage+MemoryCacheCost.h │ │ │ │ ├── UIImage+MemoryCacheCost.m │ │ │ │ ├── UIImage+Metadata.h │ │ │ │ ├── UIImage+Metadata.m │ │ │ │ ├── UIImage+MultiFormat.h │ │ │ │ ├── UIImage+MultiFormat.m │ │ │ │ ├── UIImage+Transform.h │ │ │ │ ├── UIImage+Transform.m │ │ │ │ ├── UIImageView+HighlightedWebCache.h │ │ │ │ ├── UIImageView+HighlightedWebCache.m │ │ │ │ ├── UIImageView+WebCache.h │ │ │ │ ├── UIImageView+WebCache.m │ │ │ │ ├── UIView+WebCache.h │ │ │ │ ├── UIView+WebCache.m │ │ │ │ ├── UIView+WebCacheOperation.h │ │ │ │ └── UIView+WebCacheOperation.m │ │ │ └── Private/ │ │ │ ├── NSBezierPath+SDRoundedCorners.h │ │ │ ├── NSBezierPath+SDRoundedCorners.m │ │ │ ├── SDAssociatedObject.h │ │ │ ├── SDAssociatedObject.m │ │ │ ├── SDAsyncBlockOperation.h │ │ │ ├── SDAsyncBlockOperation.m │ │ │ ├── SDDeviceHelper.h │ │ │ ├── SDDeviceHelper.m │ │ │ ├── SDDisplayLink.h │ │ │ ├── SDDisplayLink.m │ │ │ ├── SDFileAttributeHelper.h │ │ │ ├── SDFileAttributeHelper.m │ │ │ ├── SDImageAssetManager.h │ │ │ ├── SDImageAssetManager.m │ │ │ ├── SDImageCachesManagerOperation.h │ │ │ ├── SDImageCachesManagerOperation.m │ │ │ ├── SDImageIOAnimatedCoderInternal.h │ │ │ ├── SDInternalMacros.h │ │ │ ├── SDInternalMacros.m │ │ │ ├── SDWeakProxy.h │ │ │ ├── SDWeakProxy.m │ │ │ ├── SDWebImageTransitionInternal.h │ │ │ ├── SDmetamacros.h │ │ │ ├── UIColor+SDHexString.h │ │ │ └── UIColor+SDHexString.m │ │ └── WebImage/ │ │ └── SDWebImage.h │ ├── SDWebImage.xcodeproj/ │ │ └── project.pbxproj │ ├── SQLiteRepairKit/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── repair/ │ │ ├── SQLiteRepairKit.h │ │ ├── sqliterk.c │ │ ├── sqliterk.h │ │ ├── sqliterk_api.c │ │ ├── sqliterk_btree.c │ │ ├── sqliterk_btree.h │ │ ├── sqliterk_column.c │ │ ├── sqliterk_column.h │ │ ├── sqliterk_crypto.c │ │ ├── sqliterk_crypto.h │ │ ├── sqliterk_os.c │ │ ├── sqliterk_os.h │ │ ├── sqliterk_output.cpp │ │ ├── sqliterk_pager.c │ │ ├── sqliterk_pager.h │ │ ├── sqliterk_util.c │ │ ├── sqliterk_util.h │ │ ├── sqliterk_values.c │ │ └── sqliterk_values.h │ ├── SQLiteRepairKit.xcodeproj/ │ │ └── project.pbxproj │ ├── SnapKit/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── Sources/ │ │ ├── Constraint.swift │ │ ├── ConstraintAttributes.swift │ │ ├── ConstraintConfig.swift │ │ ├── ConstraintConstantTarget.swift │ │ ├── ConstraintDSL.swift │ │ ├── ConstraintDescription.swift │ │ ├── ConstraintDirectionalInsetTarget.swift │ │ ├── ConstraintDirectionalInsets.swift │ │ ├── ConstraintInsetTarget.swift │ │ ├── ConstraintInsets.swift │ │ ├── ConstraintItem.swift │ │ ├── ConstraintLayoutGuide+Extensions.swift │ │ ├── ConstraintLayoutGuide.swift │ │ ├── ConstraintLayoutGuideDSL.swift │ │ ├── ConstraintLayoutSupport.swift │ │ ├── ConstraintLayoutSupportDSL.swift │ │ ├── ConstraintMaker.swift │ │ ├── ConstraintMakerEditable.swift │ │ ├── ConstraintMakerExtendable.swift │ │ ├── ConstraintMakerFinalizable.swift │ │ ├── ConstraintMakerPrioritizable.swift │ │ ├── ConstraintMakerRelatable+Extensions.swift │ │ ├── ConstraintMakerRelatable.swift │ │ ├── ConstraintMultiplierTarget.swift │ │ ├── ConstraintOffsetTarget.swift │ │ ├── ConstraintPriority.swift │ │ ├── ConstraintPriorityTarget.swift │ │ ├── ConstraintRelatableTarget.swift │ │ ├── ConstraintRelation.swift │ │ ├── ConstraintView+Extensions.swift │ │ ├── ConstraintView.swift │ │ ├── ConstraintViewDSL.swift │ │ ├── Debugging.swift │ │ ├── LayoutConstraint.swift │ │ ├── LayoutConstraintItem.swift │ │ ├── Typealiases.swift │ │ └── UILayoutSupport+Extensions.swift │ ├── SnapKit.xcodeproj/ │ │ └── project.pbxproj │ ├── SwiftDate/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── Sources/ │ │ └── SwiftDate/ │ │ ├── Date/ │ │ │ ├── Date+Compare.swift │ │ │ ├── Date+Components.swift │ │ │ ├── Date+Create.swift │ │ │ ├── Date+Math.swift │ │ │ └── Date.swift │ │ ├── DateInRegion/ │ │ │ ├── DateInRegion+Compare.swift │ │ │ ├── DateInRegion+Components.swift │ │ │ ├── DateInRegion+Create.swift │ │ │ ├── DateInRegion+Math.swift │ │ │ ├── DateInRegion.swift │ │ │ └── Region.swift │ │ ├── DateRepresentable.swift │ │ ├── Formatters/ │ │ │ ├── DotNetParserFormatter.swift │ │ │ ├── Formatter+Protocols.swift │ │ │ ├── ISOFormatter.swift │ │ │ ├── ISOParser.swift │ │ │ └── RelativeFormatter/ │ │ │ ├── RelativeFormatter+Style.swift │ │ │ ├── RelativeFormatter.swift │ │ │ ├── RelativeFormatterLanguage.swift │ │ │ └── langs/ │ │ │ ├── af.json │ │ │ ├── am.json │ │ │ ├── ar.json │ │ │ ├── ar_AE.json │ │ │ ├── as.json │ │ │ ├── be.json │ │ │ ├── bg.json │ │ │ ├── bn.json │ │ │ ├── br.json │ │ │ ├── bs-Cyrl.json │ │ │ ├── bs.json │ │ │ ├── ca.json │ │ │ ├── cs.json │ │ │ ├── cy.json │ │ │ ├── da.json │ │ │ ├── de.json │ │ │ ├── dsb.json │ │ │ ├── dz.json │ │ │ ├── ee.json │ │ │ ├── el.json │ │ │ ├── en.json │ │ │ ├── es.json │ │ │ ├── es_AR.json │ │ │ ├── es_MX.json │ │ │ ├── es_PY.json │ │ │ ├── es_US.json │ │ │ ├── et.json │ │ │ ├── eu.json │ │ │ ├── fa.json │ │ │ ├── fi.json │ │ │ ├── fil.json │ │ │ ├── fo.json │ │ │ ├── fr.json │ │ │ ├── fr_CA.json │ │ │ ├── fur.json │ │ │ ├── fy.json │ │ │ ├── ga.json │ │ │ ├── gd.json │ │ │ ├── gl.json │ │ │ ├── gu.json │ │ │ ├── he.json │ │ │ ├── hi.json │ │ │ ├── hr.json │ │ │ ├── hsb.json │ │ │ ├── hu.json │ │ │ ├── hy.json │ │ │ ├── id.json │ │ │ ├── is.json │ │ │ ├── it.json │ │ │ ├── ja.json │ │ │ ├── jgo.json │ │ │ ├── ka.json │ │ │ ├── kea.json │ │ │ ├── kk.json │ │ │ ├── kl.json │ │ │ ├── km.json │ │ │ ├── kn.json │ │ │ ├── ko.json │ │ │ ├── kok.json │ │ │ ├── ksh.json │ │ │ ├── ky.json │ │ │ ├── lb.json │ │ │ ├── lkt.json │ │ │ ├── lo.json │ │ │ ├── lt.json │ │ │ ├── lv.json │ │ │ ├── mk.json │ │ │ ├── ml.json │ │ │ ├── mn.json │ │ │ ├── mr.json │ │ │ ├── ms.json │ │ │ ├── mt.json │ │ │ ├── my.json │ │ │ ├── mzn.json │ │ │ ├── nb.json │ │ │ ├── ne.json │ │ │ ├── nl.json │ │ │ ├── nn.json │ │ │ ├── or.json │ │ │ ├── pa.json │ │ │ ├── pl.json │ │ │ ├── ps.json │ │ │ ├── pt.json │ │ │ ├── ro.json │ │ │ ├── ru.json │ │ │ ├── sah.json │ │ │ ├── sd.json │ │ │ ├── se.json │ │ │ ├── se_FI.json │ │ │ ├── si.json │ │ │ ├── sk.json │ │ │ ├── sl.json │ │ │ ├── sq.json │ │ │ ├── sr.json │ │ │ ├── sr_Latn.json │ │ │ ├── sv.json │ │ │ ├── sw.json │ │ │ ├── ta.json │ │ │ ├── te.json │ │ │ ├── th.json │ │ │ ├── ti.json │ │ │ ├── tk.json │ │ │ ├── to.json │ │ │ ├── tr.json │ │ │ ├── ug.json │ │ │ ├── uk.json │ │ │ ├── ur.json │ │ │ ├── ur_IN.json │ │ │ ├── uz.json │ │ │ ├── uz_Cyrl.json │ │ │ ├── vi.json │ │ │ ├── wae.json │ │ │ ├── yi.json │ │ │ ├── yue_Hans.json │ │ │ ├── yue_Hant.json │ │ │ ├── zh.json │ │ │ ├── zh_Hans.json │ │ │ ├── zh_Hans_HK.json │ │ │ ├── zh_Hans_MO.json │ │ │ ├── zh_Hans_SG.json │ │ │ ├── zh_Hant.json │ │ │ ├── zh_Hant_HK.json │ │ │ └── zu.json │ │ ├── Foundation+Extras/ │ │ │ ├── DateComponents+Extras.swift │ │ │ ├── Int+DateComponents.swift │ │ │ ├── String+Parser.swift │ │ │ └── TimeInterval+Formatter.swift │ │ ├── Supports/ │ │ │ ├── AssociatedValues.swift │ │ │ ├── Calendars.swift │ │ │ ├── Commons.swift │ │ │ ├── Locales.swift │ │ │ ├── TimeStructures.swift │ │ │ └── Zones.swift │ │ ├── SwiftDate.swift │ │ └── TimePeriod/ │ │ ├── Groups/ │ │ │ ├── TimePeriodChain.swift │ │ │ ├── TimePeriodCollection.swift │ │ │ └── TimePeriodGroup.swift │ │ ├── TimePeriod+Support.swift │ │ ├── TimePeriod.swift │ │ └── TimePeriodProtocol.swift │ ├── SwiftDate.xcodeproj/ │ │ └── project.pbxproj │ ├── SwifterSwift/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── Sources/ │ │ └── SwifterSwift/ │ │ ├── AppKit/ │ │ │ ├── NSColorExtensions.swift │ │ │ ├── NSImageExtensions.swift │ │ │ └── NSViewExtensions.swift │ │ ├── CoreAnimation/ │ │ │ ├── CAGradientLayerExtensions.swift │ │ │ └── CATransform3DExtensions.swift │ │ ├── CoreGraphics/ │ │ │ ├── CGAffineTransformExtensions.swift │ │ │ ├── CGColorExtensions.swift │ │ │ ├── CGFloatExtensions.swift │ │ │ ├── CGPointExtensions.swift │ │ │ ├── CGRectExtensions.swift │ │ │ ├── CGSizeExtensions.swift │ │ │ └── CGVectorExtensions.swift │ │ ├── CoreLocation/ │ │ │ ├── CLLocationArrayExtensions.swift │ │ │ ├── CLLocationExtensions.swift │ │ │ └── CLVisitExtensions.swift │ │ ├── Dispatch/ │ │ │ └── DispatchQueueExtensions.swift │ │ ├── Foundation/ │ │ │ ├── CalendarExtensions.swift │ │ │ ├── DataExtensions.swift │ │ │ ├── DateExtensions.swift │ │ │ ├── FileManagerExtensions.swift │ │ │ ├── LocaleExtensions.swift │ │ │ ├── NSAttributedStringExtensions.swift │ │ │ ├── NSPredicateExtensions.swift │ │ │ ├── NSRegularExpressionExtensions.swift │ │ │ ├── NotificationCenterExtensions.swift │ │ │ ├── URLExtensions.swift │ │ │ ├── URLRequestExtensions.swift │ │ │ └── UserDefaultsExtensions.swift │ │ ├── MapKit/ │ │ │ ├── MKMapViewExtensions.swift │ │ │ └── MKPolylineExtensions.swift │ │ ├── SceneKit/ │ │ │ ├── SCNBoxExtensions.swift │ │ │ ├── SCNCapsuleExtensions.swift │ │ │ ├── SCNConeExtensions.swift │ │ │ ├── SCNCylinderExtensions.swift │ │ │ ├── SCNGeometryExtensions.swift │ │ │ ├── SCNMaterialExtensions.swift │ │ │ ├── SCNPlaneExtensions.swift │ │ │ ├── SCNShapeExtensions.swift │ │ │ ├── SCNSphereExtensions.swift │ │ │ └── SCNVector3Extensions.swift │ │ ├── Shared/ │ │ │ ├── ColorExtensions.swift │ │ │ └── EdgeInsetsExtensions.swift │ │ ├── SpriteKit/ │ │ │ └── SKNodeExtensions.swift │ │ ├── StoreKit/ │ │ │ └── SKProductExtensions.swift │ │ ├── SwiftStdlib/ │ │ │ ├── ArrayExtensions.swift │ │ │ ├── BidirectionalCollectionExtensions.swift │ │ │ ├── BinaryFloatingPointExtensions.swift │ │ │ ├── BoolExtensions.swift │ │ │ ├── CharacterExtensions.swift │ │ │ ├── CollectionExtensions.swift │ │ │ ├── ComparableExtensions.swift │ │ │ ├── DecodableExtensions.swift │ │ │ ├── Deprecated/ │ │ │ │ └── StdlibDeprecated.swift │ │ │ ├── DictionaryExtensions.swift │ │ │ ├── DoubleExtensions.swift │ │ │ ├── FloatExtensions.swift │ │ │ ├── FloatingPointExtensions.swift │ │ │ ├── IntExtensions.swift │ │ │ ├── KeyedDecodingContainerExtensions.swift │ │ │ ├── MutableCollectionExtensions.swift │ │ │ ├── OptionalExtensions.swift │ │ │ ├── RandomAccessCollectionExtensions.swift │ │ │ ├── RangeReplaceableCollectionExtensions.swift │ │ │ ├── SequenceExtensions.swift │ │ │ ├── SignedIntegerExtensions.swift │ │ │ ├── SignedNumericExtensions.swift │ │ │ ├── StringExtensions.swift │ │ │ └── StringProtocolExtensions.swift │ │ └── UIKit/ │ │ ├── UIActivityExtensions.swift │ │ ├── UIAlertControllerExtensions.swift │ │ ├── UIApplicationExtensions.swift │ │ ├── UIBarButtonItemExtensions.swift │ │ ├── UIBezierPathExtensions.swift │ │ ├── UIButtonExtensions.swift │ │ ├── UICollectionViewExtensions.swift │ │ ├── UIColorExtensions.swift │ │ ├── UIDatePickerExtensions.swift │ │ ├── UIFontExtensions.swift │ │ ├── UIGestureRecognizerExtensions.swift │ │ ├── UIImageExtensions.swift │ │ ├── UIImageViewExtensions.swift │ │ ├── UILabelExtensions.swift │ │ ├── UILayoutPriorityExtensions.swift │ │ ├── UINavigationBarExtensions.swift │ │ ├── UINavigationControllerExtensions.swift │ │ ├── UINavigationItemExtensions.swift │ │ ├── UIRefreshControlExtensions.swift │ │ ├── UIScrollViewExtensions.swift │ │ ├── UISearchBarExtensions.swift │ │ ├── UISegmentedControlExtensions.swift │ │ ├── UISliderExtensions.swift │ │ ├── UIStackViewExtensions.swift │ │ ├── UIStoryboardExtensions.swift │ │ ├── UISwitchExtensions.swift │ │ ├── UITabBarExtensions.swift │ │ ├── UITableViewExtensions.swift │ │ ├── UITextFieldExtensions.swift │ │ ├── UITextViewExtensions.swift │ │ ├── UIViewControllerExtensions.swift │ │ ├── UIViewExtensions.swift │ │ └── UIWindowExtensions.swift │ ├── SwifterSwift.xcodeproj/ │ │ └── project.pbxproj │ ├── SwiftyJSON/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── Source/ │ │ └── SwiftyJSON/ │ │ └── SwiftyJSON.swift │ ├── SwiftyJSON.xcodeproj/ │ │ └── project.pbxproj │ ├── TZImagePickerController/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── TZImagePickerController/ │ │ └── TZImagePickerController/ │ │ ├── NSBundle+TZImagePicker.h │ │ ├── NSBundle+TZImagePicker.m │ │ ├── TZAssetCell.h │ │ ├── TZAssetCell.m │ │ ├── TZAssetModel.h │ │ ├── TZAssetModel.m │ │ ├── TZAuthLimitedFooterTipView.h │ │ ├── TZAuthLimitedFooterTipView.m │ │ ├── TZGifPhotoPreviewController.h │ │ ├── TZGifPhotoPreviewController.m │ │ ├── TZImageCropManager.h │ │ ├── TZImageCropManager.m │ │ ├── TZImageManager.h │ │ ├── TZImageManager.m │ │ ├── TZImagePickerController.bundle/ │ │ │ ├── ar.lproj/ │ │ │ │ └── Localizable.strings │ │ │ ├── de.lproj/ │ │ │ │ └── Localizable.strings │ │ │ ├── en.lproj/ │ │ │ │ └── Localizable.strings │ │ │ ├── es.lproj/ │ │ │ │ └── Localizable.strings │ │ │ ├── fr.lproj/ │ │ │ │ └── Localizable.strings │ │ │ ├── ja.lproj/ │ │ │ │ └── Localizable.strings │ │ │ ├── ko-KP.lproj/ │ │ │ │ └── Localizable.strings │ │ │ ├── pt.lproj/ │ │ │ │ └── Localizable.strings │ │ │ ├── ru.lproj/ │ │ │ │ └── Localizable.strings │ │ │ ├── vi.lproj/ │ │ │ │ └── Localizable.strings │ │ │ ├── zh-Hans.lproj/ │ │ │ │ └── Localizable.strings │ │ │ └── zh-Hant.lproj/ │ │ │ └── Localizable.strings │ │ ├── TZImagePickerController.h │ │ ├── TZImagePickerController.m │ │ ├── TZImageRequestOperation.h │ │ ├── TZImageRequestOperation.m │ │ ├── TZLocationManager.h │ │ ├── TZLocationManager.m │ │ ├── TZPhotoPickerController.h │ │ ├── TZPhotoPickerController.m │ │ ├── TZPhotoPreviewCell.h │ │ ├── TZPhotoPreviewCell.m │ │ ├── TZPhotoPreviewController.h │ │ ├── TZPhotoPreviewController.m │ │ ├── TZProgressView.h │ │ ├── TZProgressView.m │ │ ├── TZVideoCropController.h │ │ ├── TZVideoCropController.m │ │ ├── TZVideoEditedPreviewController.h │ │ ├── TZVideoEditedPreviewController.m │ │ ├── TZVideoPlayerController.h │ │ ├── TZVideoPlayerController.m │ │ ├── UIView+TZLayout.h │ │ └── UIView+TZLayout.m │ ├── TZImagePickerController.xcodeproj/ │ │ └── project.pbxproj │ ├── Target Support Files/ │ │ ├── Alamofire/ │ │ │ ├── Alamofire-Info.plist │ │ │ ├── Alamofire-dummy.m │ │ │ ├── Alamofire-prefix.pch │ │ │ ├── Alamofire-umbrella.h │ │ │ ├── Alamofire.debug.xcconfig │ │ │ ├── Alamofire.modulemap │ │ │ └── Alamofire.release.xcconfig │ │ ├── FDFullscreenPopGesture/ │ │ │ ├── FDFullscreenPopGesture-Info.plist │ │ │ ├── FDFullscreenPopGesture-dummy.m │ │ │ ├── FDFullscreenPopGesture-prefix.pch │ │ │ ├── FDFullscreenPopGesture-umbrella.h │ │ │ ├── FDFullscreenPopGesture.debug.xcconfig │ │ │ ├── FDFullscreenPopGesture.modulemap │ │ │ └── FDFullscreenPopGesture.release.xcconfig │ │ ├── HandyJSON/ │ │ │ ├── HandyJSON-Info.plist │ │ │ ├── HandyJSON-dummy.m │ │ │ ├── HandyJSON-prefix.pch │ │ │ ├── HandyJSON-umbrella.h │ │ │ ├── HandyJSON.debug.xcconfig │ │ │ ├── HandyJSON.modulemap │ │ │ └── HandyJSON.release.xcconfig │ │ ├── IGListDiffKit/ │ │ │ ├── IGListDiffKit-Info.plist │ │ │ ├── IGListDiffKit-dummy.m │ │ │ ├── IGListDiffKit-prefix.pch │ │ │ ├── IGListDiffKit-umbrella.h │ │ │ ├── IGListDiffKit.debug.xcconfig │ │ │ ├── IGListDiffKit.modulemap │ │ │ └── IGListDiffKit.release.xcconfig │ │ ├── IGListKit/ │ │ │ ├── IGListKit-Info.plist │ │ │ ├── IGListKit-dummy.m │ │ │ ├── IGListKit-prefix.pch │ │ │ ├── IGListKit-umbrella.h │ │ │ ├── IGListKit.debug.xcconfig │ │ │ ├── IGListKit.modulemap │ │ │ └── IGListKit.release.xcconfig │ │ ├── IQKeyboardManagerSwift/ │ │ │ ├── IQKeyboardManagerSwift-Info.plist │ │ │ ├── IQKeyboardManagerSwift-dummy.m │ │ │ ├── IQKeyboardManagerSwift-prefix.pch │ │ │ ├── IQKeyboardManagerSwift-umbrella.h │ │ │ ├── IQKeyboardManagerSwift.debug.xcconfig │ │ │ ├── IQKeyboardManagerSwift.modulemap │ │ │ └── IQKeyboardManagerSwift.release.xcconfig │ │ ├── Kingfisher/ │ │ │ ├── Kingfisher-Info.plist │ │ │ ├── Kingfisher-dummy.m │ │ │ ├── Kingfisher-prefix.pch │ │ │ ├── Kingfisher-umbrella.h │ │ │ ├── Kingfisher.debug.xcconfig │ │ │ ├── Kingfisher.modulemap │ │ │ └── Kingfisher.release.xcconfig │ │ ├── Localize-Swift/ │ │ │ ├── Localize-Swift-Info.plist │ │ │ ├── Localize-Swift-dummy.m │ │ │ ├── Localize-Swift-prefix.pch │ │ │ ├── Localize-Swift-umbrella.h │ │ │ ├── Localize-Swift.debug.xcconfig │ │ │ ├── Localize-Swift.modulemap │ │ │ └── Localize-Swift.release.xcconfig │ │ ├── LookinServer/ │ │ │ ├── LookinServer-Info.plist │ │ │ ├── LookinServer-dummy.m │ │ │ ├── LookinServer-prefix.pch │ │ │ ├── LookinServer-umbrella.h │ │ │ ├── LookinServer.debug.xcconfig │ │ │ ├── LookinServer.modulemap │ │ │ └── LookinServer.release.xcconfig │ │ ├── MBProgressHUD/ │ │ │ ├── MBProgressHUD-Info.plist │ │ │ ├── MBProgressHUD-dummy.m │ │ │ ├── MBProgressHUD-prefix.pch │ │ │ ├── MBProgressHUD-umbrella.h │ │ │ ├── MBProgressHUD.debug.xcconfig │ │ │ ├── MBProgressHUD.modulemap │ │ │ └── MBProgressHUD.release.xcconfig │ │ ├── MJRefresh/ │ │ │ ├── MJRefresh-Info.plist │ │ │ ├── MJRefresh-dummy.m │ │ │ ├── MJRefresh-prefix.pch │ │ │ ├── MJRefresh-umbrella.h │ │ │ ├── MJRefresh.debug.xcconfig │ │ │ ├── MJRefresh.modulemap │ │ │ └── MJRefresh.release.xcconfig │ │ ├── Moya/ │ │ │ ├── Moya-Info.plist │ │ │ ├── Moya-dummy.m │ │ │ ├── Moya-prefix.pch │ │ │ ├── Moya-umbrella.h │ │ │ ├── Moya.debug.xcconfig │ │ │ ├── Moya.modulemap │ │ │ └── Moya.release.xcconfig │ │ ├── NSObject+Rx/ │ │ │ ├── NSObject+Rx-Info.plist │ │ │ ├── NSObject+Rx-dummy.m │ │ │ ├── NSObject+Rx-prefix.pch │ │ │ ├── NSObject+Rx-umbrella.h │ │ │ ├── NSObject+Rx.debug.xcconfig │ │ │ ├── NSObject+Rx.modulemap │ │ │ └── NSObject+Rx.release.xcconfig │ │ ├── Pods-FY-IMChat/ │ │ │ ├── Pods-FY-IMChat-Info.plist │ │ │ ├── Pods-FY-IMChat-acknowledgements.markdown │ │ │ ├── Pods-FY-IMChat-acknowledgements.plist │ │ │ ├── Pods-FY-IMChat-dummy.m │ │ │ ├── Pods-FY-IMChat-frameworks.sh │ │ │ ├── Pods-FY-IMChat-umbrella.h │ │ │ ├── Pods-FY-IMChat.debug.xcconfig │ │ │ ├── Pods-FY-IMChat.modulemap │ │ │ └── Pods-FY-IMChat.release.xcconfig │ │ ├── R.swift/ │ │ │ ├── R.swift.debug.xcconfig │ │ │ └── R.swift.release.xcconfig │ │ ├── R.swift.Library/ │ │ │ ├── R.swift.Library-Info.plist │ │ │ ├── R.swift.Library-dummy.m │ │ │ ├── R.swift.Library-prefix.pch │ │ │ ├── R.swift.Library-umbrella.h │ │ │ ├── R.swift.Library.debug.xcconfig │ │ │ ├── R.swift.Library.modulemap │ │ │ └── R.swift.Library.release.xcconfig │ │ ├── ReachabilitySwift/ │ │ │ ├── ReachabilitySwift-Info.plist │ │ │ ├── ReachabilitySwift-dummy.m │ │ │ ├── ReachabilitySwift-prefix.pch │ │ │ ├── ReachabilitySwift-umbrella.h │ │ │ ├── ReachabilitySwift.debug.xcconfig │ │ │ ├── ReachabilitySwift.modulemap │ │ │ └── ReachabilitySwift.release.xcconfig │ │ ├── RxCocoa/ │ │ │ ├── RxCocoa-Info.plist │ │ │ ├── RxCocoa-dummy.m │ │ │ ├── RxCocoa-prefix.pch │ │ │ ├── RxCocoa-umbrella.h │ │ │ ├── RxCocoa.debug.xcconfig │ │ │ ├── RxCocoa.modulemap │ │ │ └── RxCocoa.release.xcconfig │ │ ├── RxRelay/ │ │ │ ├── RxRelay-Info.plist │ │ │ ├── RxRelay-dummy.m │ │ │ ├── RxRelay-prefix.pch │ │ │ ├── RxRelay-umbrella.h │ │ │ ├── RxRelay.debug.xcconfig │ │ │ ├── RxRelay.modulemap │ │ │ └── RxRelay.release.xcconfig │ │ ├── RxSwift/ │ │ │ ├── RxSwift-Info.plist │ │ │ ├── RxSwift-dummy.m │ │ │ ├── RxSwift-prefix.pch │ │ │ ├── RxSwift-umbrella.h │ │ │ ├── RxSwift.debug.xcconfig │ │ │ ├── RxSwift.modulemap │ │ │ └── RxSwift.release.xcconfig │ │ ├── RxTheme/ │ │ │ ├── RxTheme-Info.plist │ │ │ ├── RxTheme-dummy.m │ │ │ ├── RxTheme-prefix.pch │ │ │ ├── RxTheme-umbrella.h │ │ │ ├── RxTheme.debug.xcconfig │ │ │ ├── RxTheme.modulemap │ │ │ └── RxTheme.release.xcconfig │ │ ├── SDWebImage/ │ │ │ ├── SDWebImage-Info.plist │ │ │ ├── SDWebImage-dummy.m │ │ │ ├── SDWebImage-prefix.pch │ │ │ ├── SDWebImage-umbrella.h │ │ │ ├── SDWebImage.debug.xcconfig │ │ │ ├── SDWebImage.modulemap │ │ │ └── SDWebImage.release.xcconfig │ │ ├── SQLiteRepairKit/ │ │ │ ├── SQLiteRepairKit-Info.plist │ │ │ ├── SQLiteRepairKit-dummy.m │ │ │ ├── SQLiteRepairKit-prefix.pch │ │ │ ├── SQLiteRepairKit-umbrella.h │ │ │ ├── SQLiteRepairKit.debug.xcconfig │ │ │ ├── SQLiteRepairKit.modulemap │ │ │ └── SQLiteRepairKit.release.xcconfig │ │ ├── SnapKit/ │ │ │ ├── SnapKit-Info.plist │ │ │ ├── SnapKit-dummy.m │ │ │ ├── SnapKit-prefix.pch │ │ │ ├── SnapKit-umbrella.h │ │ │ ├── SnapKit.debug.xcconfig │ │ │ ├── SnapKit.modulemap │ │ │ └── SnapKit.release.xcconfig │ │ ├── SwiftDate/ │ │ │ ├── SwiftDate-Info.plist │ │ │ ├── SwiftDate-dummy.m │ │ │ ├── SwiftDate-prefix.pch │ │ │ ├── SwiftDate-umbrella.h │ │ │ ├── SwiftDate.debug.xcconfig │ │ │ ├── SwiftDate.modulemap │ │ │ └── SwiftDate.release.xcconfig │ │ ├── SwifterSwift/ │ │ │ ├── SwifterSwift-Info.plist │ │ │ ├── SwifterSwift-dummy.m │ │ │ ├── SwifterSwift-prefix.pch │ │ │ ├── SwifterSwift-umbrella.h │ │ │ ├── SwifterSwift.debug.xcconfig │ │ │ ├── SwifterSwift.modulemap │ │ │ └── SwifterSwift.release.xcconfig │ │ ├── SwiftyJSON/ │ │ │ ├── SwiftyJSON-Info.plist │ │ │ ├── SwiftyJSON-dummy.m │ │ │ ├── SwiftyJSON-prefix.pch │ │ │ ├── SwiftyJSON-umbrella.h │ │ │ ├── SwiftyJSON.debug.xcconfig │ │ │ ├── SwiftyJSON.modulemap │ │ │ └── SwiftyJSON.release.xcconfig │ │ ├── TZImagePickerController/ │ │ │ ├── TZImagePickerController-Info.plist │ │ │ ├── TZImagePickerController-dummy.m │ │ │ ├── TZImagePickerController-prefix.pch │ │ │ ├── TZImagePickerController-umbrella.h │ │ │ ├── TZImagePickerController.debug.xcconfig │ │ │ ├── TZImagePickerController.modulemap │ │ │ └── TZImagePickerController.release.xcconfig │ │ ├── UITableView+FDTemplateLayoutCell/ │ │ │ ├── UITableView+FDTemplateLayoutCell-Info.plist │ │ │ ├── UITableView+FDTemplateLayoutCell-dummy.m │ │ │ ├── UITableView+FDTemplateLayoutCell-prefix.pch │ │ │ ├── UITableView+FDTemplateLayoutCell-umbrella.h │ │ │ ├── UITableView+FDTemplateLayoutCell.debug.xcconfig │ │ │ ├── UITableView+FDTemplateLayoutCell.modulemap │ │ │ └── UITableView+FDTemplateLayoutCell.release.xcconfig │ │ ├── UIView+FDCollapsibleConstraints/ │ │ │ ├── UIView+FDCollapsibleConstraints-Info.plist │ │ │ ├── UIView+FDCollapsibleConstraints-dummy.m │ │ │ ├── UIView+FDCollapsibleConstraints-prefix.pch │ │ │ ├── UIView+FDCollapsibleConstraints-umbrella.h │ │ │ ├── UIView+FDCollapsibleConstraints.debug.xcconfig │ │ │ ├── UIView+FDCollapsibleConstraints.modulemap │ │ │ └── UIView+FDCollapsibleConstraints.release.xcconfig │ │ ├── WCDB.swift/ │ │ │ ├── WCDB.swift-Info.plist │ │ │ ├── WCDB.swift-dummy.m │ │ │ ├── WCDB.swift-prefix.pch │ │ │ ├── WCDB.swift-umbrella.h │ │ │ ├── WCDB.swift.debug.xcconfig │ │ │ ├── WCDB.swift.modulemap │ │ │ └── WCDB.swift.release.xcconfig │ │ ├── WCDBOptimizedSQLCipher/ │ │ │ ├── WCDBOptimizedSQLCipher-Info.plist │ │ │ ├── WCDBOptimizedSQLCipher-dummy.m │ │ │ ├── WCDBOptimizedSQLCipher-prefix.pch │ │ │ ├── WCDBOptimizedSQLCipher-umbrella.h │ │ │ ├── WCDBOptimizedSQLCipher.debug.xcconfig │ │ │ ├── WCDBOptimizedSQLCipher.modulemap │ │ │ └── WCDBOptimizedSQLCipher.release.xcconfig │ │ ├── YBImageBrowser/ │ │ │ ├── YBImageBrowser-Info.plist │ │ │ ├── YBImageBrowser-dummy.m │ │ │ ├── YBImageBrowser-prefix.pch │ │ │ ├── YBImageBrowser-umbrella.h │ │ │ ├── YBImageBrowser.debug.xcconfig │ │ │ ├── YBImageBrowser.modulemap │ │ │ └── YBImageBrowser.release.xcconfig │ │ ├── YYImage/ │ │ │ ├── YYImage-Info.plist │ │ │ ├── YYImage-dummy.m │ │ │ ├── YYImage-prefix.pch │ │ │ ├── YYImage-umbrella.h │ │ │ ├── YYImage.debug.xcconfig │ │ │ ├── YYImage.modulemap │ │ │ └── YYImage.release.xcconfig │ │ └── YYText/ │ │ ├── YYText-Info.plist │ │ ├── YYText-dummy.m │ │ ├── YYText-prefix.pch │ │ ├── YYText-umbrella.h │ │ ├── YYText.debug.xcconfig │ │ ├── YYText.modulemap │ │ └── YYText.release.xcconfig │ ├── UITableView+FDTemplateLayoutCell/ │ │ ├── Classes/ │ │ │ ├── UITableView+FDIndexPathHeightCache.h │ │ │ ├── UITableView+FDIndexPathHeightCache.m │ │ │ ├── UITableView+FDKeyedHeightCache.h │ │ │ ├── UITableView+FDKeyedHeightCache.m │ │ │ ├── UITableView+FDTemplateLayoutCell.h │ │ │ ├── UITableView+FDTemplateLayoutCell.m │ │ │ ├── UITableView+FDTemplateLayoutCellDebug.h │ │ │ └── UITableView+FDTemplateLayoutCellDebug.m │ │ ├── LICENSE │ │ └── README.md │ ├── UITableView+FDTemplateLayoutCell.xcodeproj/ │ │ └── project.pbxproj │ ├── UIView+FDCollapsibleConstraints/ │ │ ├── Classes/ │ │ │ ├── UIView+FDCollapsibleConstraints.h │ │ │ └── UIView+FDCollapsibleConstraints.m │ │ ├── LICENSE │ │ └── README.md │ ├── UIView+FDCollapsibleConstraints.xcodeproj/ │ │ └── project.pbxproj │ ├── WCDB.swift/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── swift/ │ │ └── source/ │ │ ├── abstract/ │ │ │ ├── Column.swift │ │ │ ├── ColumnDef.swift │ │ │ ├── ColumnIndex.swift │ │ │ ├── ColumnResult.swift │ │ │ ├── ColumnType.swift │ │ │ ├── Conflict.swift │ │ │ ├── Convertible.swift │ │ │ ├── Describable.swift │ │ │ ├── Expression.swift │ │ │ ├── ForeignKey.swift │ │ │ ├── FundamentalValue.swift │ │ │ ├── Handle.swift │ │ │ ├── HandleStatement.swift │ │ │ ├── JoinClause.swift │ │ │ ├── LiteralValue.swift │ │ │ ├── ModuleArgument.swift │ │ │ ├── Operable.swift │ │ │ ├── Order.swift │ │ │ ├── OrderTerm.swift │ │ │ ├── Pragma.swift │ │ │ ├── Statement.swift │ │ │ ├── StatementAlterTable.swift │ │ │ ├── StatementAttach.swift │ │ │ ├── StatementCreateIndex.swift │ │ │ ├── StatementCreateTable.swift │ │ │ ├── StatementCreateVirtualTable.swift │ │ │ ├── StatementDelete.swift │ │ │ ├── StatementDetach.swift │ │ │ ├── StatementDropIndex.swift │ │ │ ├── StatementDropTable.swift │ │ │ ├── StatementExplain.swift │ │ │ ├── StatementInsert.swift │ │ │ ├── StatementPragma.swift │ │ │ ├── StatementReindex.swift │ │ │ ├── StatementRelease.swift │ │ │ ├── StatementRollback.swift │ │ │ ├── StatementSavepoint.swift │ │ │ ├── StatementSelect.swift │ │ │ ├── StatementTransaction.swift │ │ │ ├── StatementUpdate.swift │ │ │ ├── StatementVacuum.swift │ │ │ ├── Subquery.swift │ │ │ ├── TableConstraint.swift │ │ │ ├── Tokenize.swift │ │ │ └── Tracer.swift │ │ ├── builtin/ │ │ │ ├── CodableType.swift │ │ │ ├── CommonStatement.swift │ │ │ └── Master.swift │ │ ├── core/ │ │ │ ├── base/ │ │ │ │ ├── Config.swift │ │ │ │ ├── Core.swift │ │ │ │ ├── CoreStatement.swift │ │ │ │ ├── Database.swift │ │ │ │ ├── HandlePool.swift │ │ │ │ ├── RecyclableCore.swift │ │ │ │ └── Transaction.swift │ │ │ ├── binding/ │ │ │ │ ├── ColumnConstraintBinding.swift │ │ │ │ ├── IndexBinding.swift │ │ │ │ ├── Property.swift │ │ │ │ ├── Redirectable.swift │ │ │ │ ├── TableBinding.swift │ │ │ │ ├── TableConstraintBinding.swift │ │ │ │ └── VirtualTableBinding.swift │ │ │ ├── codable/ │ │ │ │ ├── CodingTableKey.swift │ │ │ │ ├── ColumnCodable.swift │ │ │ │ ├── ColumnTypeDecoder.swift │ │ │ │ ├── TableCodable.swift │ │ │ │ ├── TableDecoder.swift │ │ │ │ └── TableEncoder.swift │ │ │ ├── fts/ │ │ │ │ └── WCDBTokenize.swift │ │ │ └── interface/ │ │ │ ├── ChainCall.swift │ │ │ ├── Declare.swift │ │ │ ├── Delete.swift │ │ │ ├── Insert.swift │ │ │ ├── Interface.swift │ │ │ ├── MultiSelect.swift │ │ │ ├── RowSelect.swift │ │ │ ├── Select.swift │ │ │ ├── Selectable.swift │ │ │ ├── Table.swift │ │ │ ├── TableInterface.swift │ │ │ └── Update.swift │ │ └── util/ │ │ ├── Atomic.swift │ │ ├── ConcurrentList.swift │ │ ├── Convenience.swift │ │ ├── Error.swift │ │ ├── File.swift │ │ ├── Lock.swift │ │ ├── Optional.swift │ │ ├── RWLock.swift │ │ ├── Recyclable.swift │ │ ├── SQLite-Bridging.c │ │ ├── SQLite-Bridging.h │ │ ├── SQLite-Bridging.swift │ │ ├── SteadyClock.swift │ │ ├── Tagged.swift │ │ ├── ThreadLocal.swift │ │ ├── TimedQueue.swift │ │ └── WCDB-Bridging.h │ ├── WCDB.swift.xcodeproj/ │ │ └── project.pbxproj │ ├── WCDBOptimizedSQLCipher/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── ext/ │ │ │ ├── fts3/ │ │ │ │ ├── fts3.c │ │ │ │ ├── fts3.h │ │ │ │ ├── fts3Int.h │ │ │ │ ├── fts3_aux.c │ │ │ │ ├── fts3_expr.c │ │ │ │ ├── fts3_hash.c │ │ │ │ ├── fts3_hash.h │ │ │ │ ├── fts3_icu.c │ │ │ │ ├── fts3_porter.c │ │ │ │ ├── fts3_snippet.c │ │ │ │ ├── fts3_tokenize_vtab.c │ │ │ │ ├── fts3_tokenizer.c │ │ │ │ ├── fts3_tokenizer.h │ │ │ │ ├── fts3_tokenizer1.c │ │ │ │ ├── fts3_unicode.c │ │ │ │ ├── fts3_unicode2.c │ │ │ │ └── fts3_write.c │ │ │ ├── icu/ │ │ │ │ ├── icu.c │ │ │ │ └── sqliteicu.h │ │ │ ├── rbu/ │ │ │ │ ├── sqlite3rbu.c │ │ │ │ └── sqlite3rbu.h │ │ │ ├── rtree/ │ │ │ │ ├── rtree.c │ │ │ │ ├── rtree.h │ │ │ │ └── sqlite3rtree.h │ │ │ └── userauth/ │ │ │ └── sqlite3userauth.h │ │ ├── fts5.c │ │ ├── fts5.h │ │ ├── keywordhash.h │ │ ├── opcodes.c │ │ ├── opcodes.h │ │ ├── parse.c │ │ ├── parse.h │ │ ├── sqlite3.h │ │ └── src/ │ │ ├── alter.c │ │ ├── analyze.c │ │ ├── attach.c │ │ ├── auth.c │ │ ├── backup.c │ │ ├── bitvec.c │ │ ├── btmutex.c │ │ ├── btree.c │ │ ├── btree.h │ │ ├── btreeInt.h │ │ ├── build.c │ │ ├── callback.c │ │ ├── complete.c │ │ ├── crypto.c │ │ ├── crypto.h │ │ ├── crypto_cc.c │ │ ├── crypto_impl.c │ │ ├── crypto_libtomcrypt.c │ │ ├── ctime.c │ │ ├── date.c │ │ ├── dbstat.c │ │ ├── delete.c │ │ ├── expr.c │ │ ├── fault.c │ │ ├── fkey.c │ │ ├── func.c │ │ ├── global.c │ │ ├── hash.c │ │ ├── hash.h │ │ ├── hwtime.h │ │ ├── insert.c │ │ ├── legacy.c │ │ ├── loadext.c │ │ ├── main.c │ │ ├── malloc.c │ │ ├── mem0.c │ │ ├── mem1.c │ │ ├── mem2.c │ │ ├── mem3.c │ │ ├── mem5.c │ │ ├── memjournal.c │ │ ├── msvc.h │ │ ├── mutex.c │ │ ├── mutex.h │ │ ├── mutex_noop.c │ │ ├── mutex_unix.c │ │ ├── mutex_wcdb.c │ │ ├── mutex_wcdb.h │ │ ├── notify.c │ │ ├── os.c │ │ ├── os.h │ │ ├── os_common.h │ │ ├── os_setup.h │ │ ├── os_unix.c │ │ ├── os_wcdb.c │ │ ├── os_wcdb.h │ │ ├── pager.c │ │ ├── pager.h │ │ ├── pcache.c │ │ ├── pcache.h │ │ ├── pcache1.c │ │ ├── pragma.c │ │ ├── pragma.h │ │ ├── prepare.c │ │ ├── printf.c │ │ ├── queue.c │ │ ├── queue.h │ │ ├── random.c │ │ ├── resolve.c │ │ ├── rowset.c │ │ ├── select.c │ │ ├── sqlcipher.h │ │ ├── sqlite3ext.h │ │ ├── sqliteInt.h │ │ ├── sqliteLimit.h │ │ ├── status.c │ │ ├── table.c │ │ ├── threads.c │ │ ├── tokenize.c │ │ ├── treeview.c │ │ ├── trigger.c │ │ ├── update.c │ │ ├── utf.c │ │ ├── util.c │ │ ├── vacuum.c │ │ ├── vdbe.c │ │ ├── vdbe.h │ │ ├── vdbeInt.h │ │ ├── vdbeapi.c │ │ ├── vdbeaux.c │ │ ├── vdbeblob.c │ │ ├── vdbemem.c │ │ ├── vdbesort.c │ │ ├── vdbetrace.c │ │ ├── vtab.c │ │ ├── vxworks.h │ │ ├── wal.c │ │ ├── wal.h │ │ ├── walker.c │ │ ├── where.c │ │ ├── whereInt.h │ │ ├── wherecode.c │ │ └── whereexpr.c │ ├── WCDBOptimizedSQLCipher.xcodeproj/ │ │ └── project.pbxproj │ ├── YBImageBrowser/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── Video/ │ │ │ ├── YBIBVideoActionBar.h │ │ │ ├── YBIBVideoActionBar.m │ │ │ ├── YBIBVideoCell+Internal.h │ │ │ ├── YBIBVideoCell.h │ │ │ ├── YBIBVideoCell.m │ │ │ ├── YBIBVideoData+Internal.h │ │ │ ├── YBIBVideoData.h │ │ │ ├── YBIBVideoData.m │ │ │ ├── YBIBVideoTopBar.h │ │ │ ├── YBIBVideoTopBar.m │ │ │ ├── YBIBVideoView.h │ │ │ └── YBIBVideoView.m │ │ └── YBImageBrowser/ │ │ ├── AuxiliaryView/ │ │ │ ├── YBIBAuxiliaryViewHandler.h │ │ │ ├── YBIBAuxiliaryViewHandler.m │ │ │ ├── YBIBLoadingView.h │ │ │ ├── YBIBLoadingView.m │ │ │ ├── YBIBToastView.h │ │ │ └── YBIBToastView.m │ │ ├── Base/ │ │ │ ├── NSObject+YBImageBrowser.h │ │ │ ├── NSObject+YBImageBrowser.m │ │ │ ├── YBIBAnimatedTransition.h │ │ │ ├── YBIBAnimatedTransition.m │ │ │ ├── YBIBCollectionView.h │ │ │ ├── YBIBCollectionView.m │ │ │ ├── YBIBCollectionViewLayout.h │ │ │ ├── YBIBCollectionViewLayout.m │ │ │ ├── YBIBContainerView.h │ │ │ ├── YBIBContainerView.m │ │ │ ├── YBIBDataMediator.h │ │ │ ├── YBIBDataMediator.m │ │ │ ├── YBIBScreenRotationHandler.h │ │ │ ├── YBIBScreenRotationHandler.m │ │ │ └── YBImageBrowser+Internal.h │ │ ├── Helper/ │ │ │ ├── YBIBCopywriter.h │ │ │ ├── YBIBCopywriter.m │ │ │ ├── YBIBIconManager.h │ │ │ ├── YBIBIconManager.m │ │ │ ├── YBIBPhotoAlbumManager.h │ │ │ ├── YBIBPhotoAlbumManager.m │ │ │ ├── YBIBSentinel.h │ │ │ ├── YBIBSentinel.m │ │ │ ├── YBIBUtilities.h │ │ │ └── YBIBUtilities.m │ │ ├── Image/ │ │ │ ├── YBIBImageCache+Internal.h │ │ │ ├── YBIBImageCache.h │ │ │ ├── YBIBImageCache.m │ │ │ ├── YBIBImageCell+Internal.h │ │ │ ├── YBIBImageCell.h │ │ │ ├── YBIBImageCell.m │ │ │ ├── YBIBImageData+Internal.h │ │ │ ├── YBIBImageData.h │ │ │ ├── YBIBImageData.m │ │ │ ├── YBIBImageLayout.h │ │ │ ├── YBIBImageLayout.m │ │ │ ├── YBIBImageScrollView.h │ │ │ ├── YBIBImageScrollView.m │ │ │ ├── YBIBInteractionProfile.h │ │ │ ├── YBIBInteractionProfile.m │ │ │ ├── YBImage.h │ │ │ └── YBImage.m │ │ ├── Protocol/ │ │ │ ├── YBIBCellProtocol.h │ │ │ ├── YBIBDataProtocol.h │ │ │ ├── YBIBGetBaseInfoProtocol.h │ │ │ ├── YBIBOperateBrowserProtocol.h │ │ │ ├── YBIBOrientationReceiveProtocol.h │ │ │ ├── YBImageBrowserDataSource.h │ │ │ └── YBImageBrowserDelegate.h │ │ ├── ToolView/ │ │ │ ├── YBIBSheetView.h │ │ │ ├── YBIBSheetView.m │ │ │ ├── YBIBToolViewHandler.h │ │ │ ├── YBIBToolViewHandler.m │ │ │ ├── YBIBTopView.h │ │ │ └── YBIBTopView.m │ │ ├── WebImageMediator/ │ │ │ ├── YBIBDefaultWebImageMediator.h │ │ │ ├── YBIBDefaultWebImageMediator.m │ │ │ └── YBIBWebImageMediator.h │ │ ├── YBImageBrowser.h │ │ └── YBImageBrowser.m │ ├── YBImageBrowser.xcodeproj/ │ │ └── project.pbxproj │ ├── YYImage/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── YYImage/ │ │ ├── YYAnimatedImageView.h │ │ ├── YYAnimatedImageView.m │ │ ├── YYFrameImage.h │ │ ├── YYFrameImage.m │ │ ├── YYImage.h │ │ ├── YYImage.m │ │ ├── YYImageCoder.h │ │ ├── YYImageCoder.m │ │ ├── YYSpriteSheetImage.h │ │ └── YYSpriteSheetImage.m │ ├── YYImage.xcodeproj/ │ │ └── project.pbxproj │ ├── YYText/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── YYText/ │ │ ├── Component/ │ │ │ ├── YYTextContainerView.h │ │ │ ├── YYTextContainerView.m │ │ │ ├── YYTextDebugOption.h │ │ │ ├── YYTextDebugOption.m │ │ │ ├── YYTextEffectWindow.h │ │ │ ├── YYTextEffectWindow.m │ │ │ ├── YYTextInput.h │ │ │ ├── YYTextInput.m │ │ │ ├── YYTextKeyboardManager.h │ │ │ ├── YYTextKeyboardManager.m │ │ │ ├── YYTextLayout.h │ │ │ ├── YYTextLayout.m │ │ │ ├── YYTextLine.h │ │ │ ├── YYTextLine.m │ │ │ ├── YYTextMagnifier.h │ │ │ ├── YYTextMagnifier.m │ │ │ ├── YYTextSelectionView.h │ │ │ └── YYTextSelectionView.m │ │ ├── String/ │ │ │ ├── YYTextArchiver.h │ │ │ ├── YYTextArchiver.m │ │ │ ├── YYTextAttribute.h │ │ │ ├── YYTextAttribute.m │ │ │ ├── YYTextParser.h │ │ │ ├── YYTextParser.m │ │ │ ├── YYTextRubyAnnotation.h │ │ │ ├── YYTextRubyAnnotation.m │ │ │ ├── YYTextRunDelegate.h │ │ │ └── YYTextRunDelegate.m │ │ ├── Utility/ │ │ │ ├── NSAttributedString+YYText.h │ │ │ ├── NSAttributedString+YYText.m │ │ │ ├── NSParagraphStyle+YYText.h │ │ │ ├── NSParagraphStyle+YYText.m │ │ │ ├── UIPasteboard+YYText.h │ │ │ ├── UIPasteboard+YYText.m │ │ │ ├── UIView+YYText.h │ │ │ ├── UIView+YYText.m │ │ │ ├── YYTextAsyncLayer.h │ │ │ ├── YYTextAsyncLayer.m │ │ │ ├── YYTextTransaction.h │ │ │ ├── YYTextTransaction.m │ │ │ ├── YYTextUtilities.h │ │ │ ├── YYTextUtilities.m │ │ │ ├── YYTextWeakProxy.h │ │ │ └── YYTextWeakProxy.m │ │ ├── YYLabel.h │ │ ├── YYLabel.m │ │ ├── YYText.h │ │ ├── YYTextView.h │ │ └── YYTextView.m │ └── YYText.xcodeproj/ │ └── project.pbxproj ├── LICENSE └── README.md