diff --git a/App/Composition/ComposeTextViewController.swift b/App/Composition/ComposeTextViewController.swift index 868bccf34..8bca7defd 100644 --- a/App/Composition/ComposeTextViewController.swift +++ b/App/Composition/ComposeTextViewController.swift @@ -179,12 +179,13 @@ class ComposeTextViewController: ViewController { fileprivate var imageUploadProgress: Progress? fileprivate func submit() { - let overlay = MRProgressOverlayView.showOverlayAdded(to: viewToOverlay, title: submissionInProgressTitle, mode: .indeterminate, animated: true) - overlay?.tintColor = theme["tintColor"] + let loadingView = PostedTootLoadingView() + loadingView.backgroundColor = theme["backgroundColor"] + + view.addSubview(loadingView) imageUploadProgress = uploadImages(attachedTo: textView.attributedText, completion: { [weak self] (plainText, error) in if let error = error { - overlay?.dismiss(false) self?.enableEverything() diff --git a/App/Data Sources/ForumListDataSource.swift b/App/Data Sources/ForumListDataSource.swift index d93768de6..c5c4b7598 100644 --- a/App/Data Sources/ForumListDataSource.swift +++ b/App/Data Sources/ForumListDataSource.swift @@ -432,9 +432,9 @@ extension ForumListDataSource: UITableViewDataSource { return ForumListCell.ViewModel( backgroundColor: theme["listBackgroundColor"]!, expansion: .none, - expansionTintColor: theme["tintColor"]!, + expansionTintColor: theme["expansionTintColor"]!, favoriteStar: .isFavorite, - favoriteStarTintColor: theme["tintColor"]!, + favoriteStarTintColor: theme["favoriteStarTintColor"]!, forumName: NSAttributedString(string: forum.name ?? "", attributes: [ .font: UIFont.preferredFont(forTextStyle: .body), .foregroundColor: theme[color: "listTextColor"]!]), @@ -455,9 +455,9 @@ extension ForumListDataSource: UITableViewDataSource { return .canExpand } }(), - expansionTintColor: theme["tintColor"]!, + expansionTintColor: theme["expansionTintColor"]!, favoriteStar: forum.metadata.favorite ? .hidden : .canFavorite, - favoriteStarTintColor: theme["tintColor"]!, + favoriteStarTintColor: theme["favoriteStarTintColor"]!, forumName: NSAttributedString(string: forum.name ?? "", attributes: [ .font: UIFont.preferredFont(forTextStyle: .body), .foregroundColor: theme[color: "listTextColor"]!]), diff --git a/App/Data Sources/MessageListDataSource.swift b/App/Data Sources/MessageListDataSource.swift index bf5fe00fd..694f68b52 100644 --- a/App/Data Sources/MessageListDataSource.swift +++ b/App/Data Sources/MessageListDataSource.swift @@ -5,6 +5,7 @@ import AwfulCore import CoreData import UIKit +import HTMLReader private let Log = Logger.get() @@ -96,27 +97,69 @@ extension MessageListDataSource: UITableViewDataSource { private func viewModelForMessage(at indexPath: IndexPath) -> MessageListCell.ViewModel { let message = self.message(at: indexPath) let theme = Theme.defaultTheme() + + // Create Date Formatter + let dateFormatter = DateFormatter() + // Set Date/Time Style + dateFormatter.dateFormat = "d MMM" + + var sentDateRawFont: UIFont + var senderFont: UIFont + var subjectFont: UIFont + + if Theme.defaultTheme().roundedFonts { + sentDateRawFont = roundedFont(ofSize: 12, weight: .semibold) + senderFont = roundedFont(ofSize: 13, weight: .semibold) + subjectFont = roundedFont(ofSize: 17, weight: .regular) + } else { + sentDateRawFont = UIFont.systemFont(ofSize: 12) + senderFont = UIFont.systemFont(ofSize: 15, weight: .regular) + subjectFont = UIFont.systemFont(ofSize: 15, weight: .regular) + } + return MessageListCell.ViewModel( backgroundColor: theme["listBackgroundColor"]!, selectedBackgroundColor: theme["listSelectedBackgroundColor"]!, sender: NSAttributedString(string: message.fromUsername ?? "", attributes: [ - .font: UIFont.boldSystemFont(ofSize: UIFontDescriptor.preferredFontDescriptor(withTextStyle: UIFont.TextStyle.subheadline).pointSize), - .foregroundColor: theme[color: "listTextColor"]!]), + .font: senderFont, + .foregroundColor: theme[color: "listSecondaryTextColor"]!]), sentDate: message.sentDate ?? .distantPast, - sentDateAttributes: [ - .font: UIFont.preferredFontForTextStyle(.body, fontName: nil, sizeAdjustment: -2), - .foregroundColor: theme[color: "listTextColor"]!], + sentDateAttributes: [: +// .font: UIFont.preferredFontForTextStyle(.body, fontName: nil, sizeAdjustment: -2), +// .foregroundColor: theme[color: "listTextColor"]! + ], + sentDateRaw: NSAttributedString(string: dateFormatter.string(from: message.sentDate!), attributes: [ + .font: sentDateRawFont, + .foregroundColor: theme[color: "listSecondaryTextColor"]!]), subject: NSAttributedString(string: message.subject ?? "", attributes: [ - .font: UIFont.preferredFontForTextStyle(.body, fontName: nil, sizeAdjustment: -2), + .font: subjectFont, .foregroundColor: theme[color: "listTextColor"]!]), tagImage: .image(name: message.threadTag?.imageName, placeholder: .privateMessage), + tagOverlayImage: { if message.replied { - return UIImage(named: "pmreplied") + let image = UIImage(named: "pmreplied")? + .stroked(with: theme["listBackgroundColor"]!, thickness: 3, quality: 1) + .withRenderingMode(.alwaysTemplate) + + let imageView = UIImageView(image: image) + imageView.tintColor = theme["listBackgroundColor"]! + + return imageView } else if message.forwarded { - return UIImage(named: "pmforwarded") + let image = UIImage(named: "pmforwarded")? + .stroked(with: theme["listBackgroundColor"]!, thickness: 3, quality: 1) + .withRenderingMode(.alwaysTemplate) + + let imageView = UIImageView(image: image) + imageView.tintColor = theme["listBackgroundColor"]! + + return imageView } else if !message.seen { - return UIImage(named: "newpm") + let image = UIImage(named: "newpm") + let imageView = UIImageView(image: image) + + return imageView } else { return nil } diff --git a/App/Data Sources/ThreadListDataSource.swift b/App/Data Sources/ThreadListDataSource.swift index fb8c48674..5c2c0f7f9 100644 --- a/App/Data Sources/ThreadListDataSource.swift +++ b/App/Data Sources/ThreadListDataSource.swift @@ -148,9 +148,19 @@ extension ThreadListDataSource: UITableViewDataSource { return ThreadListCell.ViewModel( backgroundColor: theme["listBackgroundColor"]!, - pageCount: NSAttributedString(string: "\(thread.numberOfPages)", attributes: [ - .font: UIFont.preferredFontForTextStyle(.footnote, fontName: theme["listFontName"]), - .foregroundColor: theme[color: "listSecondaryTextColor"]!]), + pageCount: { + var pagecountFont: UIFont + if Theme.defaultTheme().roundedFonts { + pagecountFont = roundedFont(ofSize: 13, weight: .semibold) + } else { + pagecountFont = UIFont.systemFont(ofSize: 13, weight: .medium) + } + + return NSAttributedString(string: "\(thread.numberOfPages)", attributes: [ + /* thread list view grey page count text */ + .font: pagecountFont, + .foregroundColor: theme[color: "listSecondaryTextColor"]!]) + }(), pageIconColor: theme["threadListPageIconColor"]!, postInfo: { let text: String @@ -159,9 +169,18 @@ extension ThreadListDataSource: UITableViewDataSource { } else { text = String(format: LocalizedString("thread-list.posted-by"), thread.author?.username ?? "") + }/* killed by text */ + + var killedByFont: UIFont + + if Theme.defaultTheme().roundedFonts { + killedByFont = roundedFont(ofSize: 13, weight: .semibold) + } else { + killedByFont = UIFont.systemFont(ofSize: 13, weight: .medium) } + return NSAttributedString(string: text, attributes: [ - .font: UIFont.preferredFontForTextStyle(.footnote, fontName: theme["listFontName"]), + .font: killedByFont, .foregroundColor: theme[color: "listSecondaryTextColor"]!]) }(), ratingImage: { @@ -172,8 +191,16 @@ extension ThreadListDataSource: UITableViewDataSource { if let tweaks = tweaks, tweaks.showRatingsAsThreadTags { return nil } - - return thread.ratingImageName.flatMap { UIImage(named: $0) } + + return thread.ratingImageName.flatMap { + if $0 != "Vote0.0" { + return UIImage(named: "Vote0")! + .withTintColor(Theme.defaultTheme()["ratingIconEmptyColor"]!) + .mergeWith(topImage: UIImage(named: $0)!) + } + return UIImage(named: "Vote0")! + .withTintColor(Theme.defaultTheme()["ratingIconEmptyColor"]!) + } }(), secondaryTagImageName: { if !showsTagAndRating { @@ -194,9 +221,19 @@ extension ThreadListDataSource: UITableViewDataSource { return .image(name: thread.threadTag?.imageName, placeholder: placeholder) } }(), - title: NSAttributedString(string: thread.title ?? "", attributes: [ - .font: UIFont.preferredFontForTextStyle(.body, fontName: theme["listFontName"]), - .foregroundColor: theme[color: thread.closed ? "listSecondaryTextColor" : "listTextColor"]!]), + title: { + var threadTitleFont: UIFont + if Theme.defaultTheme().roundedFonts { + threadTitleFont = roundedFont(ofSize: 17, weight: .regular) + } else { + threadTitleFont = UIFont.systemFont(ofSize: 17, weight: .regular) + } + + return NSAttributedString(string: thread.title ?? "", attributes: [ + .font: threadTitleFont, + .foregroundColor: theme[color: thread.closed ? "listSecondaryTextColor" : "listTextColor"]!]) + }() + , unreadCount: { guard thread.beenSeen else { return NSAttributedString() } let color: UIColor @@ -213,9 +250,16 @@ extension ThreadListDataSource: UITableViewDataSource { case .none: color = theme["unreadBadgeBlueColor"]! } } + var unreadCountFont: UIFont + if Theme.defaultTheme().roundedFonts { + unreadCountFont = roundedFont(ofSize: 13, weight: .semibold) + } else { + unreadCountFont = UIFont.systemFont(ofSize: 13, weight: .semibold) + } + return NSAttributedString(string: "\(thread.unreadPosts)", attributes: [ - .font: UIFont.preferredFontForTextStyle(.caption1, fontName: theme["listFontName"], sizeAdjustment: 2), - .foregroundColor: color]) + .font: unreadCountFont, + .foregroundColor: color]) }()) } diff --git a/App/Extensions/UIFont+MonospacedDigits.swift b/App/Extensions/UIFont+MonospacedDigits.swift index 085d67e41..e489c05af 100644 --- a/App/Extensions/UIFont+MonospacedDigits.swift +++ b/App/Extensions/UIFont+MonospacedDigits.swift @@ -19,3 +19,12 @@ extension UIFontDescriptor { return addingAttributes([.featureSettings: featureSettings]) } } + +public func roundedFont(ofSize fontSize: CGFloat, weight: UIFont.Weight) -> UIFont { + // Will be SF Compact or standard SF in case of failure. + if let descriptor = UIFont.systemFont(ofSize: fontSize, weight: weight).fontDescriptor.withDesign(.rounded) { + return UIFont(descriptor: descriptor, size: fontSize) + } else { + return UIFont.systemFont(ofSize: fontSize, weight: weight) + } +} diff --git a/App/Extensions/UIKit.swift b/App/Extensions/UIKit.swift index 76f6aed4d..05debc27a 100644 --- a/App/Extensions/UIKit.swift +++ b/App/Extensions/UIKit.swift @@ -181,21 +181,32 @@ extension UIImage { return UIImage(cgImage: imageBitmapContext, scale: self.scale, orientation: UIImage.Orientation.up) } } - +// THREAD TITLE extension UINavigationItem { /// A replacement label for the title that shows two lines on iPhone. var titleLabel: UILabel { if let label = titleView as? UILabel { return label } - let label = UILabel(frame: CGRect(x: 0, y: 0, width: 375, height: 44)) - label.autoresizingMask = [.flexibleWidth, .flexibleHeight] + let label = UILabel(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.minY, height: 44)) + // label.autoresizingMask = [.flexibleWidth, .flexibleHeight] label.textAlignment = .center - label.textColor = .white + label.textColor = Theme.defaultTheme()["navigationBarTextColor"]! label.accessibilityTraits.insert(UIAccessibilityTraits.header) + + var font: UIFont + if Theme.defaultTheme().roundedFonts { + font = roundedFont(ofSize: 16, weight: .medium) + } else { + font = UIFont.systemFont(ofSize: 13, weight: .medium) + } + switch UIDevice.current.userInterfaceIdiom { + /* thread title posts view text */ case .pad: - label.font = UIFont.systemFont(ofSize: 17) + label.font = font +// label.font = UIFont.systemFont(ofSize: 17) default: - label.font = UIFont.systemFont(ofSize: 13) + label.font = font +// label.font = UIFont.systemFont(ofSize: 13) label.numberOfLines = 2 } titleView = label @@ -395,3 +406,112 @@ extension UIViewController { return nil } } + +public extension UIImage { + + /** + Returns the flat colorized version of the image, or self when something was wrong + - Parameters: + - color: The colors to user. By defaut, uses the ``UIColor.white` + - Returns: the flat colorized version of the image, or the self if something was wrong + */ + func colorized(with color: UIColor = .white) -> UIImage { + UIGraphicsBeginImageContextWithOptions(size, false, scale) + + defer { + UIGraphicsEndImageContext() + } + + guard let context = UIGraphicsGetCurrentContext(), let cgImage = cgImage else { return self } + + + let rect = CGRect(x: 0, y: 0, width: size.width, height: size.height) + + color.setFill() + context.translateBy(x: 0, y: size.height) + context.scaleBy(x: 1.0, y: -1.0) + context.clip(to: rect, mask: cgImage) + context.fill(rect) + + guard let colored = UIGraphicsGetImageFromCurrentImageContext() else { return self } + + return colored + } + + /** + Returns the stroked version of the fransparent image with the given stroke color and the thickness. + - Parameters: + - color: The colors to user. By defaut, uses the ``UIColor.white` + - thickness: the thickness of the border. Default to `2` + - quality: The number of degrees (out of 360): the smaller the best, but the slower. Defaults to `10`. + - Returns: the stroked version of the image, or self if something was wrong + */ + + func stroked(with color: UIColor = .white, thickness: CGFloat = 2, quality: CGFloat = 10) -> UIImage { + + guard let cgImage = cgImage else { return self } + + // Colorize the stroke image to reflect border color + let strokeImage = colorized(with: color) + + guard let strokeCGImage = strokeImage.cgImage else { return self } + + /// Rendering quality of the stroke + let step = quality == 0 ? 10 : abs(quality) + + let oldRect = CGRect(x: thickness, y: thickness, width: size.width, height: size.height).integral + let newSize = CGSize(width: size.width + 2 * thickness, height: size.height + 2 * thickness) + let translationVector = CGPoint(x: thickness, y: 0) + + + UIGraphicsBeginImageContextWithOptions(newSize, false, scale) + + guard let context = UIGraphicsGetCurrentContext() else { return self } + + defer { + UIGraphicsEndImageContext() + } + context.translateBy(x: 0, y: newSize.height) + context.scaleBy(x: 1.0, y: -1.0) + context.interpolationQuality = .high + + for angle: CGFloat in stride(from: 0, to: 360, by: step) { + let vector = translationVector.rotated(around: .zero, byDegrees: angle) + let transform = CGAffineTransform(translationX: vector.x, y: vector.y) + + context.concatenate(transform) + + context.draw(strokeCGImage, in: oldRect) + + let resetTransform = CGAffineTransform(translationX: -vector.x, y: -vector.y) + context.concatenate(resetTransform) + } + + context.draw(cgImage, in: oldRect) + + guard let stroked = UIGraphicsGetImageFromCurrentImageContext() else { return self } + + return stroked + } +} + + +extension CGPoint { + /** + Rotates the point from the center `origin` by `byDegrees` degrees along the Z axis. + - Parameters: + - origin: The center of he rotation; + - byDegrees: Amount of degrees to rotate around the Z axis. + - Returns: The rotated point. + */ + func rotated(around origin: CGPoint, byDegrees: CGFloat) -> CGPoint { + let dx = x - origin.x + let dy = y - origin.y + let radius = sqrt(dx * dx + dy * dy) + let azimuth = atan2(dy, dx) // in radians + let newAzimuth = azimuth + byDegrees * .pi / 180.0 // to radians + let x = origin.x + radius * cos(newAzimuth) + let y = origin.y + radius * sin(newAzimuth) + return CGPoint(x: x, y: y) + } +} diff --git a/App/Main/RootViewControllerStack.swift b/App/Main/RootViewControllerStack.swift index a61698dfe..784254800 100644 --- a/App/Main/RootViewControllerStack.swift +++ b/App/Main/RootViewControllerStack.swift @@ -236,6 +236,18 @@ extension RootViewControllerStack { // This ugliness fixes the resulting navigation controller's toolbar appearing empty despite having the correct items. (i.e. none of the items' views are in the toolbar's view hierarchy.) Presumably if some fix is discovered for the grey screen mentioned atop kindaFixReallyAnnoyingSplitViewHideSidebarInLandscapeBehavior, I think this will be fixed too. Or at least it's worth testing out. let toolbar = primaryNavigationController.toolbar + + if #available(iOS 14.0, *) { + let barAppearance = UIToolbarAppearance() + barAppearance.backgroundColor = .clear + + // below two lines prevent weird unwanted grey bar from appearing. can be confused with "hairline" border! + barAppearance.shadowImage = UIImage() + barAppearance.backgroundImage = UIImage() + + toolbar?.standardAppearance = barAppearance + } + let items = toolbar?.items toolbar?.items = nil toolbar?.items = items diff --git a/App/Misc/HTMLRenderingHelpers.swift b/App/Misc/HTMLRenderingHelpers.swift index 919f445c4..48c1aa026 100644 --- a/App/Misc/HTMLRenderingHelpers.swift +++ b/App/Misc/HTMLRenderingHelpers.swift @@ -30,6 +30,31 @@ extension HTMLDocument { } } + /** + Modifies the document in place, adding an additional element to quote blocks for quote-post.png. + This has been done to facilitate more styling than is possible with background-image in css, namely color changes. + The regular CSS files contain the styling required for this feature, applied against this injected element. + */ + func addQuoteIcons() { + for div in nodes(matchingSelector: ".bbc-block") { + let quoteposticon = HTMLElement( + tagName: "span", + attributes: [ + "class": "quotepost-span" + ]) + div.addChild(quoteposticon) + + let quoteHeaderSpan = HTMLElement(tagName: "span", attributes: [ + "class": "quoteheader"]) + + for quoteheaderLink in div.nodes(matchingSelector: ".quote_link") { + let link = HTMLDocument(string: quoteheaderLink.parentElement!.innerHTML) + quoteHeaderSpan.addChild(link) + div.replace(child: quoteheaderLink.parent!, with: quoteHeaderSpan) + } + } + } + /** Modifies the document in place, adding an additional class to quote blocks if the quoted post ID ends in 420. The regular CSS files contain the styling required for this feature, applied against this injected class. diff --git a/App/Model Presentation/Thread+Presentation.swift b/App/Model Presentation/Thread+Presentation.swift index eeed9b9f1..d6fd7ac7c 100644 --- a/App/Model Presentation/Thread+Presentation.swift +++ b/App/Model Presentation/Thread+Presentation.swift @@ -14,7 +14,7 @@ extension AwfulThread { var ratingImageName: String? { let scanner = Scanner(string: ratingImageBasename ?? "") _ = scanner.scanUpToCharacters(from: .decimalDigits) - return scanner.scanCharacters(from: .decimalDigits).map { "rating\($0)" } + return scanner.scanCharacters(from: .decimalDigits).map { "Vote\($0)" } } /// Name of an image suitable for showing the rating as the thread tag itself. diff --git a/App/Navigation/NavigationBar.swift b/App/Navigation/NavigationBar.swift index 569ae9493..81901b85c 100644 --- a/App/Navigation/NavigationBar.swift +++ b/App/Navigation/NavigationBar.swift @@ -7,8 +7,11 @@ import UIKit /// Long-tapping the back button of an AwfulNavigationBar will pop its navigation controller to its root view controller. final class NavigationBar: UINavigationBar { - private lazy var bottomBorder: HairlineView = { + let theme = Theme.defaultTheme() + + lazy var bottomBorder: HairlineView = { let bottomBorder = HairlineView() + bottomBorder.backgroundColor = theme["navigationBarTintColor"] bottomBorder.translatesAutoresizingMaskIntoConstraints = false addSubview(bottomBorder, constrainEdges: [.bottom, .left, .right]) return bottomBorder @@ -24,25 +27,23 @@ final class NavigationBar: UINavigationBar { // For whatever reason, translucent navbars with a barTintColor do not necessarily blur their backgrounds. An iPad 3, for example, blurs a bar without a barTintColor but is simply semitransparent with a barTintColor. The semitransparent, non-blur effect looks awful, so just turn it off. isTranslucent = false + + let textColor: UIColor = Theme.defaultTheme()["navigationBarTextColor"]! + + var font: UIFont + if Theme.defaultTheme().roundedFonts { + font = roundedFont(ofSize: 17, weight: .medium) + } else { + font = UIFont.systemFont(ofSize: 17, weight: .medium) + } - // Setting the barStyle to UIBarStyleBlack results in an appropriate status bar style. - barStyle = .black - - backIndicatorImage = UIImage(named: "back") - backIndicatorTransitionMaskImage = UIImage(named: "back") - - titleTextAttributes = [.font: UIFont.systemFont(ofSize: 17, weight: .regular)] - + titleTextAttributes = [ + .font: font, + NSAttributedString.Key.foregroundColor: textColor + ] + addGestureRecognizer(UILongPressGestureRecognizer(target: self, action: #selector(didLongPress))) - - if #available(iOS 15.0, *) { - // Fix odd grey navigation bar background when scrolled to top on iOS 15. - scrollEdgeAppearance = standardAppearance - - //Set the status bar to use white text - //TODO: We should compute this or save it in the theme plist, but currently there isn't a single theme where the statusbar shouldn't be white. - overrideUserInterfaceStyle = .dark - } + } required init?(coder: NSCoder) { diff --git a/App/Navigation/NavigationController.swift b/App/Navigation/NavigationController.swift index c543e9c8f..daf89612d 100644 --- a/App/Navigation/NavigationController.swift +++ b/App/Navigation/NavigationController.swift @@ -97,18 +97,36 @@ final class NavigationController: UINavigationController, Themeable { awfulNavigationBar.layer.shadowOpacity = Float(theme[double: "navigationBarShadowOpacity"] ?? 1) awfulNavigationBar.tintColor = theme["navigationBarTextColor"] - if #available(iOS 15.0, *) { - // Fix odd grey navigation bar background when scrolled to top on iOS 15. - let appearance = UINavigationBarAppearance() - appearance.configureWithOpaqueBackground() - appearance.backgroundColor = theme["navigationBarTintColor"] - - let textColor: UIColor? = theme["navigationBarTextColor"] - appearance.titleTextAttributes = [NSAttributedString.Key.foregroundColor: textColor!] - - navigationBar.standardAppearance = appearance; - navigationBar.scrollEdgeAppearance = navigationBar.standardAppearance + var font: UIFont + if Theme.defaultTheme().roundedFonts { + font = roundedFont(ofSize: 17, weight: .semibold) + } else { + font = UIFont.systemFont(ofSize: 17, weight: .medium) } + + + // Fix odd grey navigation bar background when scrolled to top on iOS 15. + let appearance = UINavigationBarAppearance() + appearance.configureWithOpaqueBackground() + appearance.shadowColor = nil + appearance.shadowImage = nil + appearance.backgroundColor = theme["navigationBarTintColor"] + + let textColor: UIColor? = theme["navigationBarTextColor"] + appearance.titleTextAttributes = [NSAttributedString.Key.foregroundColor: textColor!, + NSAttributedString.Key.font: font + ] + + if theme["keyboardAppearance"] == "Light" { + overrideUserInterfaceStyle = .light + } else { + overrideUserInterfaceStyle = .dark + } + + navigationBar.compactAppearance = appearance + navigationBar.standardAppearance = appearance + navigationBar.scrollEdgeAppearance = appearance + } override func encodeRestorableState(with coder: NSCoder) { @@ -238,3 +256,33 @@ extension NavigationController: UIViewControllerRestoration { return nav } } + + +extension UIViewController { + + func addBackButton() { + let btnLeftMenu: UIButton = UIButton() + let image = UIImage(named: "back")! + .withRenderingMode(.alwaysTemplate) + btnLeftMenu.setImage(image, for: .normal) + btnLeftMenu.setTitle("", for: .normal); + btnLeftMenu.imageEdgeInsets = UIEdgeInsets(top: 0, left: -2, bottom: 0, right: 0) + btnLeftMenu.titleEdgeInsets = UIEdgeInsets(top: 0, left: -2, bottom: 0, right: 0) + btnLeftMenu.sizeToFit() + + btnLeftMenu.addTarget(self, action: #selector(backButtonClick(sender:)), for: .touchUpInside) + let barButton = UIBarButtonItem(customView: btnLeftMenu) + + self.navigationItem.leftBarButtonItem = barButton + + } + + @objc func backButtonClick(sender : UIButton) { + if UserDefaults.standard.enableHaptics { + UIImpactFeedbackGenerator(style: .medium).impactOccurred() + } + print("bzzt back button pressed") + self.navigationController?.popViewController(animated: true); + } +} + diff --git a/App/Posts/ReplyWorkspace.swift b/App/Posts/ReplyWorkspace.swift index 69cef00ba..07b515846 100644 --- a/App/Posts/ReplyWorkspace.swift +++ b/App/Posts/ReplyWorkspace.swift @@ -220,13 +220,11 @@ final class ReplyWorkspace: NSObject { @objc fileprivate func didTapPost(_ sender: UIBarButtonItem) { saveTextToDraft() - let progressView = MRProgressOverlayView.showOverlayAdded(to: viewController.view.window, animated: true) - progressView?.tintColor = viewController.view.tintColor - progressView?.titleLabelText = draft.progressViewTitle + let loadingView = PostedTootLoadingView() + + viewController.view.addSubview(loadingView) let submitProgress = draft.submit { [unowned self] error in - progressView?.dismiss(true) - if let error = error { if (error as? CocoaError)?.code != .userCancelled { let alert: UIAlertController @@ -249,14 +247,10 @@ final class ReplyWorkspace: NSObject { } } self.submitProgress = submitProgress - - progressView?.stopBlock = { _ in - submitProgress.cancel() } var progressObservations: [NSKeyValueObservation] = [] let changeHandler: (Progress) -> Void = { progress in if progress.fractionCompleted >= 1 || progress.isCancelled { - progressView?.stopBlock = nil progressObservations.forEach { $0.invalidate() } progressObservations.removeAll() } diff --git a/App/Resources/Assets.xcassets/Colors/Contents.json b/App/Resources/Assets.xcassets/Colors/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/App/Resources/Assets.xcassets/Colors/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/App/Resources/Assets.xcassets/Colors/SpankyKongLightTheme/Contents.json b/App/Resources/Assets.xcassets/Colors/SpankyKongLightTheme/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/App/Resources/Assets.xcassets/Colors/SpankyKongLightTheme/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/App/Resources/Assets.xcassets/Launch Screen/LaunchNavigationBar.colorset/Contents.json b/App/Resources/Assets.xcassets/Colors/SpankyKongLightTheme/backgroundColor.colorset/Contents.json similarity index 76% rename from App/Resources/Assets.xcassets/Launch Screen/LaunchNavigationBar.colorset/Contents.json rename to App/Resources/Assets.xcassets/Colors/SpankyKongLightTheme/backgroundColor.colorset/Contents.json index 9c179b1e8..03486b9f6 100644 --- a/App/Resources/Assets.xcassets/Launch Screen/LaunchNavigationBar.colorset/Contents.json +++ b/App/Resources/Assets.xcassets/Colors/SpankyKongLightTheme/backgroundColor.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0xB1", - "green" : "0x83", - "red" : "0x14" + "blue" : "0.902", + "green" : "0.902", + "red" : "0.902" } }, "idiom" : "universal" @@ -23,9 +23,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0x70", - "green" : "0x4F", - "red" : "0x0F" + "blue" : "0.902", + "green" : "0.902", + "red" : "0.902" } }, "idiom" : "universal" diff --git a/App/Resources/Assets.xcassets/Launch Screen/LaunchBackground.colorset/Contents.json b/App/Resources/Assets.xcassets/Colors/SpankyKongLightTheme/tintColor.colorset/Contents.json similarity index 76% rename from App/Resources/Assets.xcassets/Launch Screen/LaunchBackground.colorset/Contents.json rename to App/Resources/Assets.xcassets/Colors/SpankyKongLightTheme/tintColor.colorset/Contents.json index 460f528c9..cc85922b2 100644 --- a/App/Resources/Assets.xcassets/Launch Screen/LaunchBackground.colorset/Contents.json +++ b/App/Resources/Assets.xcassets/Colors/SpankyKongLightTheme/tintColor.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0xF3", - "green" : "0xF3", - "red" : "0xF4" + "blue" : "0xFF", + "green" : "0x66", + "red" : "0x00" } }, "idiom" : "universal" @@ -23,9 +23,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0x06", - "green" : "0x06", - "red" : "0x06" + "blue" : "0xFF", + "green" : "0x66", + "red" : "0x00" } }, "idiom" : "universal" diff --git a/App/Resources/Assets.xcassets/Empty Tags/Contents.json b/App/Resources/Assets.xcassets/Empty Tags/Contents.json index da4a164c9..73c00596a 100644 --- a/App/Resources/Assets.xcassets/Empty Tags/Contents.json +++ b/App/Resources/Assets.xcassets/Empty Tags/Contents.json @@ -1,6 +1,6 @@ { "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Empty Tags/empty-pm-tag.imageset/Contents.json b/App/Resources/Assets.xcassets/Empty Tags/empty-pm-tag.imageset/Contents.json index 5e80c128c..8651056be 100644 --- a/App/Resources/Assets.xcassets/Empty Tags/empty-pm-tag.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Empty Tags/empty-pm-tag.imageset/Contents.json @@ -6,19 +6,19 @@ }, { "idiom" : "universal", - "filename" : "empty-pm-tag@2x.png", "scale" : "2x" }, { + "filename" : "empty-pm-tag@3x(1).png", "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 }, "properties" : { "template-rendering-intent" : "original" } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Empty Tags/empty-pm-tag.imageset/empty-pm-tag@2x.png b/App/Resources/Assets.xcassets/Empty Tags/empty-pm-tag.imageset/empty-pm-tag@2x.png deleted file mode 100644 index f950269f1..000000000 Binary files a/App/Resources/Assets.xcassets/Empty Tags/empty-pm-tag.imageset/empty-pm-tag@2x.png and /dev/null differ diff --git a/App/Resources/Assets.xcassets/Empty Tags/empty-pm-tag.imageset/empty-pm-tag@3x(1).png b/App/Resources/Assets.xcassets/Empty Tags/empty-pm-tag.imageset/empty-pm-tag@3x(1).png new file mode 100644 index 000000000..cac06bd47 Binary files /dev/null and b/App/Resources/Assets.xcassets/Empty Tags/empty-pm-tag.imageset/empty-pm-tag@3x(1).png differ diff --git a/App/Resources/Assets.xcassets/Empty Tags/empty-thread-tag.imageset/Contents.json b/App/Resources/Assets.xcassets/Empty Tags/empty-thread-tag.imageset/Contents.json index 4e9a4f279..1dc97ebaf 100644 --- a/App/Resources/Assets.xcassets/Empty Tags/empty-thread-tag.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Empty Tags/empty-thread-tag.imageset/Contents.json @@ -1,24 +1,26 @@ { "images" : [ { + "filename" : "EmptyThreadTag@3x(1)-2.png", "idiom" : "universal", "scale" : "1x" }, { + "filename" : "EmptyThreadTag@3x(1)-1.png", "idiom" : "universal", - "filename" : "empty-thread-tag@2x.png", "scale" : "2x" }, { + "filename" : "EmptyThreadTag@3x(1).png", "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 }, "properties" : { "template-rendering-intent" : "original" } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Empty Tags/empty-thread-tag.imageset/EmptyThreadTag@3x(1)-1.png b/App/Resources/Assets.xcassets/Empty Tags/empty-thread-tag.imageset/EmptyThreadTag@3x(1)-1.png new file mode 100644 index 000000000..addf9334b Binary files /dev/null and b/App/Resources/Assets.xcassets/Empty Tags/empty-thread-tag.imageset/EmptyThreadTag@3x(1)-1.png differ diff --git a/App/Resources/Assets.xcassets/Empty Tags/empty-thread-tag.imageset/EmptyThreadTag@3x(1)-2.png b/App/Resources/Assets.xcassets/Empty Tags/empty-thread-tag.imageset/EmptyThreadTag@3x(1)-2.png new file mode 100644 index 000000000..addf9334b Binary files /dev/null and b/App/Resources/Assets.xcassets/Empty Tags/empty-thread-tag.imageset/EmptyThreadTag@3x(1)-2.png differ diff --git a/App/Resources/Assets.xcassets/Empty Tags/empty-thread-tag.imageset/EmptyThreadTag@3x(1).png b/App/Resources/Assets.xcassets/Empty Tags/empty-thread-tag.imageset/EmptyThreadTag@3x(1).png new file mode 100644 index 000000000..addf9334b Binary files /dev/null and b/App/Resources/Assets.xcassets/Empty Tags/empty-thread-tag.imageset/EmptyThreadTag@3x(1).png differ diff --git a/App/Resources/Assets.xcassets/Empty Tags/empty-thread-tag.imageset/empty-thread-tag@2x.png b/App/Resources/Assets.xcassets/Empty Tags/empty-thread-tag.imageset/empty-thread-tag@2x.png deleted file mode 100644 index 0b6ecdb5f..000000000 Binary files a/App/Resources/Assets.xcassets/Empty Tags/empty-thread-tag.imageset/empty-thread-tag@2x.png and /dev/null differ diff --git a/App/Resources/Assets.xcassets/Empty Tags/thread-tag-background.imageset/Contents.json b/App/Resources/Assets.xcassets/Empty Tags/thread-tag-background.imageset/Contents.json new file mode 100644 index 000000000..2f97b1bdf --- /dev/null +++ b/App/Resources/Assets.xcassets/Empty Tags/thread-tag-background.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "SquareBG@3x(1).png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/App/Resources/Assets.xcassets/Empty Tags/thread-tag-background.imageset/SquareBG@3x(1).png b/App/Resources/Assets.xcassets/Empty Tags/thread-tag-background.imageset/SquareBG@3x(1).png new file mode 100644 index 000000000..c885ba59e Binary files /dev/null and b/App/Resources/Assets.xcassets/Empty Tags/thread-tag-background.imageset/SquareBG@3x(1).png differ diff --git a/App/Resources/Assets.xcassets/Empty Tags/thread-tag-border.imageset/Contents.json b/App/Resources/Assets.xcassets/Empty Tags/thread-tag-border.imageset/Contents.json new file mode 100644 index 000000000..a4a1fef0b --- /dev/null +++ b/App/Resources/Assets.xcassets/Empty Tags/thread-tag-border.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "border.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/App/Resources/Assets.xcassets/Empty Tags/thread-tag-border.imageset/border.png b/App/Resources/Assets.xcassets/Empty Tags/thread-tag-border.imageset/border.png new file mode 100644 index 000000000..35ab00bd7 Binary files /dev/null and b/App/Resources/Assets.xcassets/Empty Tags/thread-tag-border.imageset/border.png differ diff --git a/App/Resources/Assets.xcassets/Forum Lists/Contents.json b/App/Resources/Assets.xcassets/Forum Lists/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/App/Resources/Assets.xcassets/Forum Lists/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-down.imageset/Contents.json b/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-down.imageset/Contents.json index 5311df372..f7f6a0f70 100644 --- a/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-down.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-down.imageset/Contents.json @@ -1,25 +1,26 @@ { "images" : [ { + "filename" : "forum-arrow-down@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "forum-arrow-down@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "forum-arrow-down@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 }, "properties" : { "template-rendering-intent" : "template" } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-down.imageset/forum-arrow-down@1x.png b/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-down.imageset/forum-arrow-down@1x.png new file mode 100644 index 000000000..a1b46da9a Binary files /dev/null and b/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-down.imageset/forum-arrow-down@1x.png differ diff --git a/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-down.imageset/forum-arrow-down@2x.png b/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-down.imageset/forum-arrow-down@2x.png index 7f39e71e5..11ef782a6 100644 Binary files a/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-down.imageset/forum-arrow-down@2x.png and b/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-down.imageset/forum-arrow-down@2x.png differ diff --git a/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-down.imageset/forum-arrow-down@3x.png b/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-down.imageset/forum-arrow-down@3x.png index 2f1d8bb97..04c5b2c91 100644 Binary files a/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-down.imageset/forum-arrow-down@3x.png and b/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-down.imageset/forum-arrow-down@3x.png differ diff --git a/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-right.imageset/Contents.json b/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-right.imageset/Contents.json index 16136161b..b28f76c21 100644 --- a/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-right.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-right.imageset/Contents.json @@ -1,23 +1,23 @@ { "images" : [ { + "filename" : "forum-arrow-right@1x.png", "idiom" : "universal", - "scale" : "1x", - "filename" : "forum-arrow-right@1x.png" + "scale" : "1x" }, { + "filename" : "forum-arrow-right@2x.png", "idiom" : "universal", - "scale" : "2x", - "filename" : "forum-arrow-right@2x.png" + "scale" : "2x" }, { + "filename" : "forum-arrow-right@3x.png", "idiom" : "universal", - "scale" : "3x", - "filename" : "forum-arrow-right@3x.png" + "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-right.imageset/forum-arrow-right@1x.png b/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-right.imageset/forum-arrow-right@1x.png index d0264a50e..42ca47eb1 100644 Binary files a/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-right.imageset/forum-arrow-right@1x.png and b/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-right.imageset/forum-arrow-right@1x.png differ diff --git a/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-right.imageset/forum-arrow-right@2x.png b/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-right.imageset/forum-arrow-right@2x.png index 8bc2f5eb9..f383403ec 100644 Binary files a/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-right.imageset/forum-arrow-right@2x.png and b/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-right.imageset/forum-arrow-right@2x.png differ diff --git a/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-right.imageset/forum-arrow-right@3x.png b/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-right.imageset/forum-arrow-right@3x.png index 64ee5d313..2eb952fb8 100644 Binary files a/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-right.imageset/forum-arrow-right@3x.png and b/App/Resources/Assets.xcassets/Forum Lists/forum-arrow-right.imageset/forum-arrow-right@3x.png differ diff --git a/App/Resources/Assets.xcassets/Forum Lists/star-off.imageset/Contents.json b/App/Resources/Assets.xcassets/Forum Lists/star-off.imageset/Contents.json index bac35e0b8..9266c409c 100644 --- a/App/Resources/Assets.xcassets/Forum Lists/star-off.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Forum Lists/star-off.imageset/Contents.json @@ -1,25 +1,26 @@ { "images" : [ { + "filename" : "star-off@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "star-off@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "star-off@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 }, "properties" : { "template-rendering-intent" : "template" } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Forum Lists/star-off.imageset/star-off@1x.png b/App/Resources/Assets.xcassets/Forum Lists/star-off.imageset/star-off@1x.png new file mode 100644 index 000000000..759682f60 Binary files /dev/null and b/App/Resources/Assets.xcassets/Forum Lists/star-off.imageset/star-off@1x.png differ diff --git a/App/Resources/Assets.xcassets/Forum Lists/star-off.imageset/star-off@2x.png b/App/Resources/Assets.xcassets/Forum Lists/star-off.imageset/star-off@2x.png index b8b920a55..d431f4c63 100644 Binary files a/App/Resources/Assets.xcassets/Forum Lists/star-off.imageset/star-off@2x.png and b/App/Resources/Assets.xcassets/Forum Lists/star-off.imageset/star-off@2x.png differ diff --git a/App/Resources/Assets.xcassets/Forum Lists/star-off.imageset/star-off@3x.png b/App/Resources/Assets.xcassets/Forum Lists/star-off.imageset/star-off@3x.png index eb4b2f2d3..4c80f125c 100644 Binary files a/App/Resources/Assets.xcassets/Forum Lists/star-off.imageset/star-off@3x.png and b/App/Resources/Assets.xcassets/Forum Lists/star-off.imageset/star-off@3x.png differ diff --git a/App/Resources/Assets.xcassets/Forum Lists/star-on.imageset/Contents.json b/App/Resources/Assets.xcassets/Forum Lists/star-on.imageset/Contents.json index 73cd7fca7..9db3041b4 100644 --- a/App/Resources/Assets.xcassets/Forum Lists/star-on.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Forum Lists/star-on.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "star-on@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "star-on@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "star-on@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Forum Lists/star-on.imageset/star-on@1x.png b/App/Resources/Assets.xcassets/Forum Lists/star-on.imageset/star-on@1x.png new file mode 100644 index 000000000..37a260fad Binary files /dev/null and b/App/Resources/Assets.xcassets/Forum Lists/star-on.imageset/star-on@1x.png differ diff --git a/App/Resources/Assets.xcassets/Forum Lists/star-on.imageset/star-on@2x.png b/App/Resources/Assets.xcassets/Forum Lists/star-on.imageset/star-on@2x.png index 0d0980d80..bb9b38015 100644 Binary files a/App/Resources/Assets.xcassets/Forum Lists/star-on.imageset/star-on@2x.png and b/App/Resources/Assets.xcassets/Forum Lists/star-on.imageset/star-on@2x.png differ diff --git a/App/Resources/Assets.xcassets/Forum Lists/star-on.imageset/star-on@3x.png b/App/Resources/Assets.xcassets/Forum Lists/star-on.imageset/star-on@3x.png index 22700b446..58c532e72 100644 Binary files a/App/Resources/Assets.xcassets/Forum Lists/star-on.imageset/star-on@3x.png and b/App/Resources/Assets.xcassets/Forum Lists/star-on.imageset/star-on@3x.png differ diff --git a/App/Resources/Assets.xcassets/Icon Action Items/copy.imageset/Contents.json b/App/Resources/Assets.xcassets/Icon Action Items/copy.imageset/Contents.json new file mode 100644 index 000000000..acef2dde1 --- /dev/null +++ b/App/Resources/Assets.xcassets/Icon Action Items/copy.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "scale" : "1x" + }, + { + "filename" : "copy-iphone@2x.png", + "idiom" : "iphone", + "scale" : "2x" + }, + { + "filename" : "copy-iphone@3x.png", + "idiom" : "iphone", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/App/Resources/Assets.xcassets/Icon Action Items/rainbow.imageset/Contents.json b/App/Resources/Assets.xcassets/Icon Action Items/rainbow.imageset/Contents.json new file mode 100644 index 000000000..a6cea7024 --- /dev/null +++ b/App/Resources/Assets.xcassets/Icon Action Items/rainbow.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "rainbow@1x.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "rainbow@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "rainbow@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/App/Resources/Assets.xcassets/Icon Action Items/rainbow.imageset/rainbow@1x.png b/App/Resources/Assets.xcassets/Icon Action Items/rainbow.imageset/rainbow@1x.png new file mode 100644 index 000000000..9633dfa5b Binary files /dev/null and b/App/Resources/Assets.xcassets/Icon Action Items/rainbow.imageset/rainbow@1x.png differ diff --git a/App/Resources/Assets.xcassets/Icon Action Items/rainbow.imageset/rainbow@2x.png b/App/Resources/Assets.xcassets/Icon Action Items/rainbow.imageset/rainbow@2x.png new file mode 100644 index 000000000..6f0f67d66 Binary files /dev/null and b/App/Resources/Assets.xcassets/Icon Action Items/rainbow.imageset/rainbow@2x.png differ diff --git a/App/Resources/Assets.xcassets/Icon Action Items/rainbow.imageset/rainbow@3x.png b/App/Resources/Assets.xcassets/Icon Action Items/rainbow.imageset/rainbow@3x.png new file mode 100644 index 000000000..d1c887abb Binary files /dev/null and b/App/Resources/Assets.xcassets/Icon Action Items/rainbow.imageset/rainbow@3x.png differ diff --git a/App/Resources/Assets.xcassets/Launch Screen/LaunchBackground.imageset/Contents.json b/App/Resources/Assets.xcassets/Launch Screen/LaunchBackground.imageset/Contents.json new file mode 100644 index 000000000..90112ac3f --- /dev/null +++ b/App/Resources/Assets.xcassets/Launch Screen/LaunchBackground.imageset/Contents.json @@ -0,0 +1,83 @@ +{ + "images" : [ + { + "filename" : "LaunchBackgroundLight.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "light" + } + ], + "filename" : "LaunchBackgroundLight-1.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "LaunchBackgroundDark.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "light" + } + ], + "idiom" : "universal", + "scale" : "2x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "light" + } + ], + "idiom" : "universal", + "scale" : "3x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/App/Resources/Assets.xcassets/Launch Screen/LaunchBackground.imageset/LaunchBackgroundDark.png b/App/Resources/Assets.xcassets/Launch Screen/LaunchBackground.imageset/LaunchBackgroundDark.png new file mode 100644 index 000000000..62b9a0710 Binary files /dev/null and b/App/Resources/Assets.xcassets/Launch Screen/LaunchBackground.imageset/LaunchBackgroundDark.png differ diff --git a/App/Resources/Assets.xcassets/Launch Screen/LaunchBackground.imageset/LaunchBackgroundLight-1.png b/App/Resources/Assets.xcassets/Launch Screen/LaunchBackground.imageset/LaunchBackgroundLight-1.png new file mode 100644 index 000000000..f514b1179 Binary files /dev/null and b/App/Resources/Assets.xcassets/Launch Screen/LaunchBackground.imageset/LaunchBackgroundLight-1.png differ diff --git a/App/Resources/Assets.xcassets/Launch Screen/LaunchBackground.imageset/LaunchBackgroundLight.png b/App/Resources/Assets.xcassets/Launch Screen/LaunchBackground.imageset/LaunchBackgroundLight.png new file mode 100644 index 000000000..f514b1179 Binary files /dev/null and b/App/Resources/Assets.xcassets/Launch Screen/LaunchBackground.imageset/LaunchBackgroundLight.png differ diff --git a/App/Resources/Assets.xcassets/Leper's Colony/title-probation.imageset/Contents.json b/App/Resources/Assets.xcassets/Leper's Colony/title-probation.imageset/Contents.json index 1bb27e2f2..8fae7a5e0 100644 --- a/App/Resources/Assets.xcassets/Leper's Colony/title-probation.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Leper's Colony/title-probation.imageset/Contents.json @@ -1,9 +1,9 @@ { "images" : [ { + "filename" : "title-probation.png", "idiom" : "universal", - "scale" : "1x", - "filename" : "title-probation.png" + "scale" : "1x" }, { "idiom" : "universal", @@ -15,7 +15,7 @@ } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Leper's Colony/title-probation.imageset/title-probation.png b/App/Resources/Assets.xcassets/Leper's Colony/title-probation.imageset/title-probation.png index 87966a951..34c5f9078 100644 Binary files a/App/Resources/Assets.xcassets/Leper's Colony/title-probation.imageset/title-probation.png and b/App/Resources/Assets.xcassets/Leper's Colony/title-probation.imageset/title-probation.png differ diff --git a/App/Resources/Assets.xcassets/Post Icon Picker/no-filter-icon.imageset/Contents.json b/App/Resources/Assets.xcassets/Post Icon Picker/no-filter-icon.imageset/Contents.json index f69d39780..b256b02c1 100644 --- a/App/Resources/Assets.xcassets/Post Icon Picker/no-filter-icon.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Post Icon Picker/no-filter-icon.imageset/Contents.json @@ -1,21 +1,23 @@ { "images" : [ { + "filename" : "no-filter-icon@1x.png", "idiom" : "universal", "scale" : "1x" }, { + "filename" : "no-filter-icon@2x.png", "idiom" : "universal", - "scale" : "2x", - "filename" : "no-filter-icon@2x.png" + "scale" : "2x" }, { + "filename" : "no-filter-icon@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Post Icon Picker/no-filter-icon.imageset/no-filter-icon@1x.png b/App/Resources/Assets.xcassets/Post Icon Picker/no-filter-icon.imageset/no-filter-icon@1x.png new file mode 100644 index 000000000..3abbb2824 Binary files /dev/null and b/App/Resources/Assets.xcassets/Post Icon Picker/no-filter-icon.imageset/no-filter-icon@1x.png differ diff --git a/App/Resources/Assets.xcassets/Post Icon Picker/no-filter-icon.imageset/no-filter-icon@2x.png b/App/Resources/Assets.xcassets/Post Icon Picker/no-filter-icon.imageset/no-filter-icon@2x.png index fa971646b..c9243d1e9 100644 Binary files a/App/Resources/Assets.xcassets/Post Icon Picker/no-filter-icon.imageset/no-filter-icon@2x.png and b/App/Resources/Assets.xcassets/Post Icon Picker/no-filter-icon.imageset/no-filter-icon@2x.png differ diff --git a/App/Resources/Assets.xcassets/Post Icon Picker/no-filter-icon.imageset/no-filter-icon@3x.png b/App/Resources/Assets.xcassets/Post Icon Picker/no-filter-icon.imageset/no-filter-icon@3x.png new file mode 100644 index 000000000..29cf772ee Binary files /dev/null and b/App/Resources/Assets.xcassets/Post Icon Picker/no-filter-icon.imageset/no-filter-icon@3x.png differ diff --git a/App/Resources/Assets.xcassets/Post Icon Picker/selected-tick-icon.imageset/BlueCheckSelected@2x.png b/App/Resources/Assets.xcassets/Post Icon Picker/selected-tick-icon.imageset/BlueCheckSelected@2x.png deleted file mode 100644 index e5cab91cc..000000000 Binary files a/App/Resources/Assets.xcassets/Post Icon Picker/selected-tick-icon.imageset/BlueCheckSelected@2x.png and /dev/null differ diff --git a/App/Resources/Assets.xcassets/Post Icon Picker/selected-tick-icon.imageset/Contents.json b/App/Resources/Assets.xcassets/Post Icon Picker/selected-tick-icon.imageset/Contents.json index 86e314aec..629379256 100644 --- a/App/Resources/Assets.xcassets/Post Icon Picker/selected-tick-icon.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Post Icon Picker/selected-tick-icon.imageset/Contents.json @@ -1,21 +1,23 @@ { "images" : [ { + "filename" : "mini_tick@1x.png", "idiom" : "universal", "scale" : "1x" }, { + "filename" : "mini_tick@2x.png", "idiom" : "universal", - "scale" : "2x", - "filename" : "BlueCheckSelected@2x.png" + "scale" : "2x" }, { + "filename" : "mini_tick@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Post Icon Picker/selected-tick-icon.imageset/mini_tick@1x.png b/App/Resources/Assets.xcassets/Post Icon Picker/selected-tick-icon.imageset/mini_tick@1x.png new file mode 100644 index 000000000..a4618fdd7 Binary files /dev/null and b/App/Resources/Assets.xcassets/Post Icon Picker/selected-tick-icon.imageset/mini_tick@1x.png differ diff --git a/App/Resources/Assets.xcassets/Post Icon Picker/selected-tick-icon.imageset/mini_tick@2x.png b/App/Resources/Assets.xcassets/Post Icon Picker/selected-tick-icon.imageset/mini_tick@2x.png new file mode 100644 index 000000000..8247d750a Binary files /dev/null and b/App/Resources/Assets.xcassets/Post Icon Picker/selected-tick-icon.imageset/mini_tick@2x.png differ diff --git a/App/Resources/Assets.xcassets/Post Icon Picker/selected-tick-icon.imageset/mini_tick@3x.png b/App/Resources/Assets.xcassets/Post Icon Picker/selected-tick-icon.imageset/mini_tick@3x.png new file mode 100644 index 000000000..6460690b3 Binary files /dev/null and b/App/Resources/Assets.xcassets/Post Icon Picker/selected-tick-icon.imageset/mini_tick@3x.png differ diff --git a/App/Resources/Assets.xcassets/Posts View/Contents.json b/App/Resources/Assets.xcassets/Posts View/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/App/Resources/Assets.xcassets/Posts View/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/App/Resources/Assets.xcassets/Posts View/Vote0.imageset/Contents.json b/App/Resources/Assets.xcassets/Posts View/Vote0.imageset/Contents.json new file mode 100644 index 000000000..d023ee6bf --- /dev/null +++ b/App/Resources/Assets.xcassets/Posts View/Vote0.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "Vote0@1x.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Vote0@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Vote0@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/App/Resources/Assets.xcassets/Posts View/Vote0.imageset/Vote0@1x.png b/App/Resources/Assets.xcassets/Posts View/Vote0.imageset/Vote0@1x.png new file mode 100644 index 000000000..bef3c1cff Binary files /dev/null and b/App/Resources/Assets.xcassets/Posts View/Vote0.imageset/Vote0@1x.png differ diff --git a/App/Resources/Assets.xcassets/Posts View/Vote0.imageset/Vote0@2x.png b/App/Resources/Assets.xcassets/Posts View/Vote0.imageset/Vote0@2x.png new file mode 100644 index 000000000..b182abef8 Binary files /dev/null and b/App/Resources/Assets.xcassets/Posts View/Vote0.imageset/Vote0@2x.png differ diff --git a/App/Resources/Assets.xcassets/Posts View/Vote0.imageset/Vote0@3x.png b/App/Resources/Assets.xcassets/Posts View/Vote0.imageset/Vote0@3x.png new file mode 100644 index 000000000..f8ff5a7a7 Binary files /dev/null and b/App/Resources/Assets.xcassets/Posts View/Vote0.imageset/Vote0@3x.png differ diff --git a/App/Resources/Assets.xcassets/Posts View/Vote1.imageset/Contents.json b/App/Resources/Assets.xcassets/Posts View/Vote1.imageset/Contents.json new file mode 100644 index 000000000..68b3b6d44 --- /dev/null +++ b/App/Resources/Assets.xcassets/Posts View/Vote1.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "Vote1@1x.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Vote1@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Vote1@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/App/Resources/Assets.xcassets/Posts View/Vote1.imageset/Vote1@1x.png b/App/Resources/Assets.xcassets/Posts View/Vote1.imageset/Vote1@1x.png new file mode 100644 index 000000000..7c1e690a2 Binary files /dev/null and b/App/Resources/Assets.xcassets/Posts View/Vote1.imageset/Vote1@1x.png differ diff --git a/App/Resources/Assets.xcassets/Posts View/Vote1.imageset/Vote1@2x.png b/App/Resources/Assets.xcassets/Posts View/Vote1.imageset/Vote1@2x.png new file mode 100644 index 000000000..1d26dc958 Binary files /dev/null and b/App/Resources/Assets.xcassets/Posts View/Vote1.imageset/Vote1@2x.png differ diff --git a/App/Resources/Assets.xcassets/Posts View/Vote1.imageset/Vote1@3x.png b/App/Resources/Assets.xcassets/Posts View/Vote1.imageset/Vote1@3x.png new file mode 100644 index 000000000..ff0dcefee Binary files /dev/null and b/App/Resources/Assets.xcassets/Posts View/Vote1.imageset/Vote1@3x.png differ diff --git a/App/Resources/Assets.xcassets/Posts View/Vote2.imageset/Contents.json b/App/Resources/Assets.xcassets/Posts View/Vote2.imageset/Contents.json new file mode 100644 index 000000000..f3f73d1f3 --- /dev/null +++ b/App/Resources/Assets.xcassets/Posts View/Vote2.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "Vote2@1x.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Vote2@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Vote2@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/App/Resources/Assets.xcassets/Posts View/Vote2.imageset/Vote2@1x.png b/App/Resources/Assets.xcassets/Posts View/Vote2.imageset/Vote2@1x.png new file mode 100644 index 000000000..f18d20c68 Binary files /dev/null and b/App/Resources/Assets.xcassets/Posts View/Vote2.imageset/Vote2@1x.png differ diff --git a/App/Resources/Assets.xcassets/Posts View/Vote2.imageset/Vote2@2x.png b/App/Resources/Assets.xcassets/Posts View/Vote2.imageset/Vote2@2x.png new file mode 100644 index 000000000..451cd39fe Binary files /dev/null and b/App/Resources/Assets.xcassets/Posts View/Vote2.imageset/Vote2@2x.png differ diff --git a/App/Resources/Assets.xcassets/Posts View/Vote2.imageset/Vote2@3x.png b/App/Resources/Assets.xcassets/Posts View/Vote2.imageset/Vote2@3x.png new file mode 100644 index 000000000..233e1e574 Binary files /dev/null and b/App/Resources/Assets.xcassets/Posts View/Vote2.imageset/Vote2@3x.png differ diff --git a/App/Resources/Assets.xcassets/Posts View/Vote3.imageset/Contents.json b/App/Resources/Assets.xcassets/Posts View/Vote3.imageset/Contents.json new file mode 100644 index 000000000..b47b16a2e --- /dev/null +++ b/App/Resources/Assets.xcassets/Posts View/Vote3.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "Vote3@1x.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Vote3@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Vote3@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/App/Resources/Assets.xcassets/Posts View/Vote3.imageset/Vote3@1x.png b/App/Resources/Assets.xcassets/Posts View/Vote3.imageset/Vote3@1x.png new file mode 100644 index 000000000..8a05f77ad Binary files /dev/null and b/App/Resources/Assets.xcassets/Posts View/Vote3.imageset/Vote3@1x.png differ diff --git a/App/Resources/Assets.xcassets/Posts View/Vote3.imageset/Vote3@2x.png b/App/Resources/Assets.xcassets/Posts View/Vote3.imageset/Vote3@2x.png new file mode 100644 index 000000000..7a48599df Binary files /dev/null and b/App/Resources/Assets.xcassets/Posts View/Vote3.imageset/Vote3@2x.png differ diff --git a/App/Resources/Assets.xcassets/Posts View/Vote3.imageset/Vote3@3x.png b/App/Resources/Assets.xcassets/Posts View/Vote3.imageset/Vote3@3x.png new file mode 100644 index 000000000..c8b0bf079 Binary files /dev/null and b/App/Resources/Assets.xcassets/Posts View/Vote3.imageset/Vote3@3x.png differ diff --git a/App/Resources/Assets.xcassets/Posts View/Vote4.imageset/Contents.json b/App/Resources/Assets.xcassets/Posts View/Vote4.imageset/Contents.json new file mode 100644 index 000000000..8e05f0772 --- /dev/null +++ b/App/Resources/Assets.xcassets/Posts View/Vote4.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "Vote4@1x.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Vote4@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Vote4@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/App/Resources/Assets.xcassets/Posts View/Vote4.imageset/Vote4@1x.png b/App/Resources/Assets.xcassets/Posts View/Vote4.imageset/Vote4@1x.png new file mode 100644 index 000000000..069bad76b Binary files /dev/null and b/App/Resources/Assets.xcassets/Posts View/Vote4.imageset/Vote4@1x.png differ diff --git a/App/Resources/Assets.xcassets/Posts View/Vote4.imageset/Vote4@2x.png b/App/Resources/Assets.xcassets/Posts View/Vote4.imageset/Vote4@2x.png new file mode 100644 index 000000000..a06dccbc0 Binary files /dev/null and b/App/Resources/Assets.xcassets/Posts View/Vote4.imageset/Vote4@2x.png differ diff --git a/App/Resources/Assets.xcassets/Posts View/Vote4.imageset/Vote4@3x.png b/App/Resources/Assets.xcassets/Posts View/Vote4.imageset/Vote4@3x.png new file mode 100644 index 000000000..e03af7b0a Binary files /dev/null and b/App/Resources/Assets.xcassets/Posts View/Vote4.imageset/Vote4@3x.png differ diff --git a/App/Resources/Assets.xcassets/Posts View/Vote5.imageset/Contents.json b/App/Resources/Assets.xcassets/Posts View/Vote5.imageset/Contents.json new file mode 100644 index 000000000..f471311b8 --- /dev/null +++ b/App/Resources/Assets.xcassets/Posts View/Vote5.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "Vote5@1x.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Vote5@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Vote5@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/App/Resources/Assets.xcassets/Posts View/Vote5.imageset/Vote5@1x.png b/App/Resources/Assets.xcassets/Posts View/Vote5.imageset/Vote5@1x.png new file mode 100644 index 000000000..9abba39a3 Binary files /dev/null and b/App/Resources/Assets.xcassets/Posts View/Vote5.imageset/Vote5@1x.png differ diff --git a/App/Resources/Assets.xcassets/Posts View/Vote5.imageset/Vote5@2x.png b/App/Resources/Assets.xcassets/Posts View/Vote5.imageset/Vote5@2x.png new file mode 100644 index 000000000..7a30954e5 Binary files /dev/null and b/App/Resources/Assets.xcassets/Posts View/Vote5.imageset/Vote5@2x.png differ diff --git a/App/Resources/Assets.xcassets/Posts View/Vote5.imageset/Vote5@3x.png b/App/Resources/Assets.xcassets/Posts View/Vote5.imageset/Vote5@3x.png new file mode 100644 index 000000000..6e51dcac5 Binary files /dev/null and b/App/Resources/Assets.xcassets/Posts View/Vote5.imageset/Vote5@3x.png differ diff --git a/App/Resources/Assets.xcassets/Private Messages/newpm.imageset/Contents.json b/App/Resources/Assets.xcassets/Private Messages/newpm.imageset/Contents.json index 27f5696ff..2a09bed4b 100644 --- a/App/Resources/Assets.xcassets/Private Messages/newpm.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Private Messages/newpm.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "pm-icon@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "newpm@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "newpm@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Private Messages/newpm.imageset/newpm@2x.png b/App/Resources/Assets.xcassets/Private Messages/newpm.imageset/newpm@2x.png index 227aced12..f0c21199a 100644 Binary files a/App/Resources/Assets.xcassets/Private Messages/newpm.imageset/newpm@2x.png and b/App/Resources/Assets.xcassets/Private Messages/newpm.imageset/newpm@2x.png differ diff --git a/App/Resources/Assets.xcassets/Private Messages/newpm.imageset/newpm@3x.png b/App/Resources/Assets.xcassets/Private Messages/newpm.imageset/newpm@3x.png index e70ac8786..249efff3a 100644 Binary files a/App/Resources/Assets.xcassets/Private Messages/newpm.imageset/newpm@3x.png and b/App/Resources/Assets.xcassets/Private Messages/newpm.imageset/newpm@3x.png differ diff --git a/App/Resources/Assets.xcassets/Private Messages/newpm.imageset/pm-icon@1x.png b/App/Resources/Assets.xcassets/Private Messages/newpm.imageset/pm-icon@1x.png new file mode 100644 index 000000000..048be6e1d Binary files /dev/null and b/App/Resources/Assets.xcassets/Private Messages/newpm.imageset/pm-icon@1x.png differ diff --git a/App/Resources/Assets.xcassets/Private Messages/pmforwarded.imageset/Contents.json b/App/Resources/Assets.xcassets/Private Messages/pmforwarded.imageset/Contents.json index b450f2270..149bac4a1 100644 --- a/App/Resources/Assets.xcassets/Private Messages/pmforwarded.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Private Messages/pmforwarded.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "pmforwarded@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "pmforwarded@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "pmforwarded@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Private Messages/pmforwarded.imageset/pmforwarded@1x.png b/App/Resources/Assets.xcassets/Private Messages/pmforwarded.imageset/pmforwarded@1x.png new file mode 100644 index 000000000..03c0b01a4 Binary files /dev/null and b/App/Resources/Assets.xcassets/Private Messages/pmforwarded.imageset/pmforwarded@1x.png differ diff --git a/App/Resources/Assets.xcassets/Private Messages/pmforwarded.imageset/pmforwarded@2x.png b/App/Resources/Assets.xcassets/Private Messages/pmforwarded.imageset/pmforwarded@2x.png index d15fbab27..9f08de526 100644 Binary files a/App/Resources/Assets.xcassets/Private Messages/pmforwarded.imageset/pmforwarded@2x.png and b/App/Resources/Assets.xcassets/Private Messages/pmforwarded.imageset/pmforwarded@2x.png differ diff --git a/App/Resources/Assets.xcassets/Private Messages/pmforwarded.imageset/pmforwarded@3x.png b/App/Resources/Assets.xcassets/Private Messages/pmforwarded.imageset/pmforwarded@3x.png index 20c91497d..fb2f275ec 100644 Binary files a/App/Resources/Assets.xcassets/Private Messages/pmforwarded.imageset/pmforwarded@3x.png and b/App/Resources/Assets.xcassets/Private Messages/pmforwarded.imageset/pmforwarded@3x.png differ diff --git a/App/Resources/Assets.xcassets/Private Messages/pmreplied.imageset/Contents.json b/App/Resources/Assets.xcassets/Private Messages/pmreplied.imageset/Contents.json index 2d82977f9..0688212e1 100644 --- a/App/Resources/Assets.xcassets/Private Messages/pmreplied.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Private Messages/pmreplied.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "pmreplied@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "pmreplied@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "pmreplied@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Private Messages/pmreplied.imageset/pmreplied@1x.png b/App/Resources/Assets.xcassets/Private Messages/pmreplied.imageset/pmreplied@1x.png new file mode 100644 index 000000000..935c57fdb Binary files /dev/null and b/App/Resources/Assets.xcassets/Private Messages/pmreplied.imageset/pmreplied@1x.png differ diff --git a/App/Resources/Assets.xcassets/Private Messages/pmreplied.imageset/pmreplied@2x.png b/App/Resources/Assets.xcassets/Private Messages/pmreplied.imageset/pmreplied@2x.png index 52df1cafa..9eb0715ac 100644 Binary files a/App/Resources/Assets.xcassets/Private Messages/pmreplied.imageset/pmreplied@2x.png and b/App/Resources/Assets.xcassets/Private Messages/pmreplied.imageset/pmreplied@2x.png differ diff --git a/App/Resources/Assets.xcassets/Private Messages/pmreplied.imageset/pmreplied@3x.png b/App/Resources/Assets.xcassets/Private Messages/pmreplied.imageset/pmreplied@3x.png index f1ecc9c64..7ff4d1aa1 100644 Binary files a/App/Resources/Assets.xcassets/Private Messages/pmreplied.imageset/pmreplied@3x.png and b/App/Resources/Assets.xcassets/Private Messages/pmreplied.imageset/pmreplied@3x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/Contents.json b/App/Resources/Assets.xcassets/Template Images/Contents.json index da4a164c9..73c00596a 100644 --- a/App/Resources/Assets.xcassets/Template Images/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/Contents.json @@ -1,6 +1,6 @@ { "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/action.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/action.imageset/Contents.json index 1011e5d43..b5e25faf4 100644 --- a/App/Resources/Assets.xcassets/Template Images/action.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/action.imageset/Contents.json @@ -5,21 +5,21 @@ "scale" : "1x" }, { - "idiom" : "universal", "filename" : "action@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "action@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 }, "properties" : { "template-rendering-intent" : "template" } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/arrowleft.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/arrowleft.imageset/Contents.json index 7f4c45091..d796a64b6 100644 --- a/App/Resources/Assets.xcassets/Template Images/arrowleft.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/arrowleft.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "arrowleft@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "arrowleft@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "arrowleft@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/arrowleft.imageset/arrowleft@1x.png b/App/Resources/Assets.xcassets/Template Images/arrowleft.imageset/arrowleft@1x.png new file mode 100644 index 000000000..4571c3e70 Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/arrowleft.imageset/arrowleft@1x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/arrowleft.imageset/arrowleft@2x.png b/App/Resources/Assets.xcassets/Template Images/arrowleft.imageset/arrowleft@2x.png index e8cb43ac2..b6c86d1b5 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/arrowleft.imageset/arrowleft@2x.png and b/App/Resources/Assets.xcassets/Template Images/arrowleft.imageset/arrowleft@2x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/arrowleft.imageset/arrowleft@3x.png b/App/Resources/Assets.xcassets/Template Images/arrowleft.imageset/arrowleft@3x.png index 0903e504b..d156cd968 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/arrowleft.imageset/arrowleft@3x.png and b/App/Resources/Assets.xcassets/Template Images/arrowleft.imageset/arrowleft@3x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/arrowright.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/arrowright.imageset/Contents.json index 961feb05c..e79c71649 100644 --- a/App/Resources/Assets.xcassets/Template Images/arrowright.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/arrowright.imageset/Contents.json @@ -1,25 +1,23 @@ { "images" : [ { + "filename" : "Untitled-1@1x.png", "idiom" : "universal", "scale" : "1x" }, { + "filename" : "Untitled-1@2x.png", "idiom" : "universal", - "filename" : "arrowright@2x.png", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "arrowright@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "template-rendering-intent" : "template" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/arrowright.imageset/Untitled-1@1x.png b/App/Resources/Assets.xcassets/Template Images/arrowright.imageset/Untitled-1@1x.png new file mode 100644 index 000000000..fce401faf Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/arrowright.imageset/Untitled-1@1x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/arrowright.imageset/Untitled-1@2x.png b/App/Resources/Assets.xcassets/Template Images/arrowright.imageset/Untitled-1@2x.png new file mode 100644 index 000000000..7cb35c0a7 Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/arrowright.imageset/Untitled-1@2x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/arrowright.imageset/arrowright@2x.png b/App/Resources/Assets.xcassets/Template Images/arrowright.imageset/arrowright@2x.png deleted file mode 100644 index 7236d6fa0..000000000 Binary files a/App/Resources/Assets.xcassets/Template Images/arrowright.imageset/arrowright@2x.png and /dev/null differ diff --git a/App/Resources/Assets.xcassets/Template Images/arrowright.imageset/arrowright@3x.png b/App/Resources/Assets.xcassets/Template Images/arrowright.imageset/arrowright@3x.png index 52e3337d4..433c0c0ec 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/arrowright.imageset/arrowright@3x.png and b/App/Resources/Assets.xcassets/Template Images/arrowright.imageset/arrowright@3x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/back.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/back.imageset/Contents.json index 64d18e8b8..2d18f54c3 100644 --- a/App/Resources/Assets.xcassets/Template Images/back.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/back.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "main-back@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "main-back@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "main-back@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/back.imageset/main-back@1x.png b/App/Resources/Assets.xcassets/Template Images/back.imageset/main-back@1x.png new file mode 100644 index 000000000..5e1ba8fac Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/back.imageset/main-back@1x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/back.imageset/main-back@2x.png b/App/Resources/Assets.xcassets/Template Images/back.imageset/main-back@2x.png index 840ad5099..018610f62 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/back.imageset/main-back@2x.png and b/App/Resources/Assets.xcassets/Template Images/back.imageset/main-back@2x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/back.imageset/main-back@3x.png b/App/Resources/Assets.xcassets/Template Images/back.imageset/main-back@3x.png index 9f52e082d..bf72c1786 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/back.imageset/main-back@3x.png and b/App/Resources/Assets.xcassets/Template Images/back.imageset/main-back@3x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/bookmarks-filled.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/bookmarks-filled.imageset/Contents.json index b3f9d6057..7317e51a0 100644 --- a/App/Resources/Assets.xcassets/Template Images/bookmarks-filled.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/bookmarks-filled.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "bookmarks-filled@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "bookmarks-filled@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "bookmarks-filled@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/bookmarks-filled.imageset/bookmarks-filled@1x.png b/App/Resources/Assets.xcassets/Template Images/bookmarks-filled.imageset/bookmarks-filled@1x.png new file mode 100644 index 000000000..c74e71e59 Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/bookmarks-filled.imageset/bookmarks-filled@1x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/bookmarks-filled.imageset/bookmarks-filled@2x.png b/App/Resources/Assets.xcassets/Template Images/bookmarks-filled.imageset/bookmarks-filled@2x.png index 402817fe0..22895e628 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/bookmarks-filled.imageset/bookmarks-filled@2x.png and b/App/Resources/Assets.xcassets/Template Images/bookmarks-filled.imageset/bookmarks-filled@2x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/bookmarks-filled.imageset/bookmarks-filled@3x.png b/App/Resources/Assets.xcassets/Template Images/bookmarks-filled.imageset/bookmarks-filled@3x.png index 889f13784..d8cb8ec80 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/bookmarks-filled.imageset/bookmarks-filled@3x.png and b/App/Resources/Assets.xcassets/Template Images/bookmarks-filled.imageset/bookmarks-filled@3x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/bookmarks.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/bookmarks.imageset/Contents.json index ed5c8cd76..8f77ae27f 100644 --- a/App/Resources/Assets.xcassets/Template Images/bookmarks.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/bookmarks.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "bookmarks@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "bookmarks@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "bookmarks@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/bookmarks.imageset/bookmarks@1x.png b/App/Resources/Assets.xcassets/Template Images/bookmarks.imageset/bookmarks@1x.png new file mode 100644 index 000000000..1adccd422 Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/bookmarks.imageset/bookmarks@1x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/bookmarks.imageset/bookmarks@2x.png b/App/Resources/Assets.xcassets/Template Images/bookmarks.imageset/bookmarks@2x.png index ff715d105..71b5297cb 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/bookmarks.imageset/bookmarks@2x.png and b/App/Resources/Assets.xcassets/Template Images/bookmarks.imageset/bookmarks@2x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/bookmarks.imageset/bookmarks@3x.png b/App/Resources/Assets.xcassets/Template Images/bookmarks.imageset/bookmarks@3x.png index 17414649e..16b79dc86 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/bookmarks.imageset/bookmarks@3x.png and b/App/Resources/Assets.xcassets/Template Images/bookmarks.imageset/bookmarks@3x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/brightness-down.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/brightness-down.imageset/Contents.json index 230f12565..a74a66cad 100644 --- a/App/Resources/Assets.xcassets/Template Images/brightness-down.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/brightness-down.imageset/Contents.json @@ -5,18 +5,18 @@ "scale" : "1x" }, { - "idiom" : "universal", "filename" : "bright-down@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "bright-down@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/brightness-up.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/brightness-up.imageset/Contents.json index 8db1a6ca5..30a41be85 100644 --- a/App/Resources/Assets.xcassets/Template Images/brightness-up.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/brightness-up.imageset/Contents.json @@ -5,18 +5,18 @@ "scale" : "1x" }, { - "idiom" : "universal", "filename" : "bright-up@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "bright-up@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/cog-filled.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/cog-filled.imageset/Contents.json index 22f271f9d..d60f64b21 100644 --- a/App/Resources/Assets.xcassets/Template Images/cog-filled.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/cog-filled.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "cog-filled@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "cog-filled@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "cog-filled@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/cog-filled.imageset/cog-filled@1x.png b/App/Resources/Assets.xcassets/Template Images/cog-filled.imageset/cog-filled@1x.png new file mode 100644 index 000000000..67730674c Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/cog-filled.imageset/cog-filled@1x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/cog-filled.imageset/cog-filled@2x.png b/App/Resources/Assets.xcassets/Template Images/cog-filled.imageset/cog-filled@2x.png index a55a78ce6..c1b358c6b 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/cog-filled.imageset/cog-filled@2x.png and b/App/Resources/Assets.xcassets/Template Images/cog-filled.imageset/cog-filled@2x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/cog-filled.imageset/cog-filled@3x.png b/App/Resources/Assets.xcassets/Template Images/cog-filled.imageset/cog-filled@3x.png index 72f383c95..5a8ca516e 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/cog-filled.imageset/cog-filled@3x.png and b/App/Resources/Assets.xcassets/Template Images/cog-filled.imageset/cog-filled@3x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/cog.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/cog.imageset/Contents.json index 43f9a8c70..92f62dc87 100644 --- a/App/Resources/Assets.xcassets/Template Images/cog.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/cog.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "cog@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "cog@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "cog@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/cog.imageset/cog@1x.png b/App/Resources/Assets.xcassets/Template Images/cog.imageset/cog@1x.png new file mode 100644 index 000000000..025874d8d Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/cog.imageset/cog@1x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/cog.imageset/cog@2x.png b/App/Resources/Assets.xcassets/Template Images/cog.imageset/cog@2x.png index e3a07bf53..6a615887c 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/cog.imageset/cog@2x.png and b/App/Resources/Assets.xcassets/Template Images/cog.imageset/cog@2x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/compose.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/compose.imageset/Contents.json index 6bd52d0f0..d0ded8de6 100644 --- a/App/Resources/Assets.xcassets/Template Images/compose.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/compose.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "compose@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "compose@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "compose@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/compose.imageset/compose@1x.png b/App/Resources/Assets.xcassets/Template Images/compose.imageset/compose@1x.png new file mode 100644 index 000000000..ef1824c15 Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/compose.imageset/compose@1x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/compose.imageset/compose@2x.png b/App/Resources/Assets.xcassets/Template Images/compose.imageset/compose@2x.png index 26c5f9c84..99295da20 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/compose.imageset/compose@2x.png and b/App/Resources/Assets.xcassets/Template Images/compose.imageset/compose@2x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/compose.imageset/compose@3x.png b/App/Resources/Assets.xcassets/Template Images/compose.imageset/compose@3x.png index d650da3b6..6470942db 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/compose.imageset/compose@3x.png and b/App/Resources/Assets.xcassets/Template Images/compose.imageset/compose@3x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/forum-list-filled.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/forum-list-filled.imageset/Contents.json index 809208a63..4a4107746 100644 --- a/App/Resources/Assets.xcassets/Template Images/forum-list-filled.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/forum-list-filled.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "list_icon-filled@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "list_icon-filled@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "list_icon-filled@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/forum-list-filled.imageset/list_icon-filled@1x.png b/App/Resources/Assets.xcassets/Template Images/forum-list-filled.imageset/list_icon-filled@1x.png new file mode 100644 index 000000000..e58f4858b Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/forum-list-filled.imageset/list_icon-filled@1x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/forum-list-filled.imageset/list_icon-filled@2x.png b/App/Resources/Assets.xcassets/Template Images/forum-list-filled.imageset/list_icon-filled@2x.png index ea2d4953e..d02fb87e0 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/forum-list-filled.imageset/list_icon-filled@2x.png and b/App/Resources/Assets.xcassets/Template Images/forum-list-filled.imageset/list_icon-filled@2x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/forum-list.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/forum-list.imageset/Contents.json index ba9c5cd51..abcb88091 100644 --- a/App/Resources/Assets.xcassets/Template Images/forum-list.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/forum-list.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "list_icon@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "list_icon@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "list_icon@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/forum-list.imageset/list_icon@1x.png b/App/Resources/Assets.xcassets/Template Images/forum-list.imageset/list_icon@1x.png new file mode 100644 index 000000000..4c053d9c8 Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/forum-list.imageset/list_icon@1x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/forum-list.imageset/list_icon@2x.png b/App/Resources/Assets.xcassets/Template Images/forum-list.imageset/list_icon@2x.png index 6a2064ea1..d679ee6e6 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/forum-list.imageset/list_icon@2x.png and b/App/Resources/Assets.xcassets/Template Images/forum-list.imageset/list_icon@2x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/lepers-filled.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/lepers-filled.imageset/Contents.json index eddd2de8e..9aca3f308 100644 --- a/App/Resources/Assets.xcassets/Template Images/lepers-filled.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/lepers-filled.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "lepers_filled@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "lepers_filled@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "lepers_filled@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/lepers-filled.imageset/lepers_filled@1x.png b/App/Resources/Assets.xcassets/Template Images/lepers-filled.imageset/lepers_filled@1x.png new file mode 100644 index 000000000..33c1ed804 Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/lepers-filled.imageset/lepers_filled@1x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/lepers-filled.imageset/lepers_filled@2x.png b/App/Resources/Assets.xcassets/Template Images/lepers-filled.imageset/lepers_filled@2x.png index c7c41ebe5..4513668c0 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/lepers-filled.imageset/lepers_filled@2x.png and b/App/Resources/Assets.xcassets/Template Images/lepers-filled.imageset/lepers_filled@2x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/lepers-filled.imageset/lepers_filled@3x.png b/App/Resources/Assets.xcassets/Template Images/lepers-filled.imageset/lepers_filled@3x.png index a39475003..aca96b630 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/lepers-filled.imageset/lepers_filled@3x.png and b/App/Resources/Assets.xcassets/Template Images/lepers-filled.imageset/lepers_filled@3x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/lepers.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/lepers.imageset/Contents.json index d0d77e979..2d137b390 100644 --- a/App/Resources/Assets.xcassets/Template Images/lepers.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/lepers.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "lepers_icon@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "lepers_icon@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "lepers_icon@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/lepers.imageset/lepers_icon@1x.png b/App/Resources/Assets.xcassets/Template Images/lepers.imageset/lepers_icon@1x.png new file mode 100644 index 000000000..197533922 Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/lepers.imageset/lepers_icon@1x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/lepers.imageset/lepers_icon@2x.png b/App/Resources/Assets.xcassets/Template Images/lepers.imageset/lepers_icon@2x.png index fc24b5095..4a3f4232d 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/lepers.imageset/lepers_icon@2x.png and b/App/Resources/Assets.xcassets/Template Images/lepers.imageset/lepers_icon@2x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/lepers.imageset/lepers_icon@3x.png b/App/Resources/Assets.xcassets/Template Images/lepers.imageset/lepers_icon@3x.png index 4ff6827df..1ecf5ac21 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/lepers.imageset/lepers_icon@3x.png and b/App/Resources/Assets.xcassets/Template Images/lepers.imageset/lepers_icon@3x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/page-settings.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/page-settings.imageset/Contents.json index 1601dd85c..45b8c8465 100644 --- a/App/Resources/Assets.xcassets/Template Images/page-settings.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/page-settings.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "page_settings@1x.png", "idiom" : "universal", "scale" : "1x" }, { + "filename" : "page_settings@2x.png", "idiom" : "universal", - "filename" : "page-settings@2x.png", "scale" : "2x" }, { + "filename" : "page_settings@3x.png", "idiom" : "universal", - "filename" : "page-settings@3x.png", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/page-settings.imageset/page-settings@2x.png b/App/Resources/Assets.xcassets/Template Images/page-settings.imageset/page-settings@2x.png deleted file mode 100644 index 17ced86ce..000000000 Binary files a/App/Resources/Assets.xcassets/Template Images/page-settings.imageset/page-settings@2x.png and /dev/null differ diff --git a/App/Resources/Assets.xcassets/Template Images/page-settings.imageset/page-settings@3x.png b/App/Resources/Assets.xcassets/Template Images/page-settings.imageset/page-settings@3x.png deleted file mode 100644 index 38232f552..000000000 Binary files a/App/Resources/Assets.xcassets/Template Images/page-settings.imageset/page-settings@3x.png and /dev/null differ diff --git a/App/Resources/Assets.xcassets/Template Images/page-settings.imageset/page_settings@1x.png b/App/Resources/Assets.xcassets/Template Images/page-settings.imageset/page_settings@1x.png new file mode 100644 index 000000000..d5845ef86 Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/page-settings.imageset/page_settings@1x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/page-settings.imageset/page_settings@2x.png b/App/Resources/Assets.xcassets/Template Images/page-settings.imageset/page_settings@2x.png new file mode 100644 index 000000000..6210e227f Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/page-settings.imageset/page_settings@2x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/page-settings.imageset/page_settings@3x.png b/App/Resources/Assets.xcassets/Template Images/page-settings.imageset/page_settings@3x.png new file mode 100644 index 000000000..7a88848d9 Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/page-settings.imageset/page_settings@3x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/pm-icon-filled.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/pm-icon-filled.imageset/Contents.json index 3ca6aea8c..abd027c08 100644 --- a/App/Resources/Assets.xcassets/Template Images/pm-icon-filled.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/pm-icon-filled.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "pm-icon-filled@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "pm-icon-filled@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "pm-icon-filled@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/pm-icon-filled.imageset/pm-icon-filled@1x.png b/App/Resources/Assets.xcassets/Template Images/pm-icon-filled.imageset/pm-icon-filled@1x.png new file mode 100644 index 000000000..630e8cec1 Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/pm-icon-filled.imageset/pm-icon-filled@1x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/pm-icon-filled.imageset/pm-icon-filled@2x.png b/App/Resources/Assets.xcassets/Template Images/pm-icon-filled.imageset/pm-icon-filled@2x.png index 08338fbe2..f9370d2cf 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/pm-icon-filled.imageset/pm-icon-filled@2x.png and b/App/Resources/Assets.xcassets/Template Images/pm-icon-filled.imageset/pm-icon-filled@2x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/pm-icon-filled.imageset/pm-icon-filled@3x.png b/App/Resources/Assets.xcassets/Template Images/pm-icon-filled.imageset/pm-icon-filled@3x.png index d341f8281..b69ed0590 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/pm-icon-filled.imageset/pm-icon-filled@3x.png and b/App/Resources/Assets.xcassets/Template Images/pm-icon-filled.imageset/pm-icon-filled@3x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/pm-icon.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/pm-icon.imageset/Contents.json index 6ed22ea54..e3a77db8b 100644 --- a/App/Resources/Assets.xcassets/Template Images/pm-icon.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/pm-icon.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "pm-icon@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "pm-icon@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "pm-icon@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/pm-icon.imageset/pm-icon@1x.png b/App/Resources/Assets.xcassets/Template Images/pm-icon.imageset/pm-icon@1x.png new file mode 100644 index 000000000..97464c02e Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/pm-icon.imageset/pm-icon@1x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/pm-icon.imageset/pm-icon@2x.png b/App/Resources/Assets.xcassets/Template Images/pm-icon.imageset/pm-icon@2x.png index cc861177b..726fd2f29 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/pm-icon.imageset/pm-icon@2x.png and b/App/Resources/Assets.xcassets/Template Images/pm-icon.imageset/pm-icon@2x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/pm-icon.imageset/pm-icon@3x.png b/App/Resources/Assets.xcassets/Template Images/pm-icon.imageset/pm-icon@3x.png index 4eff76e3c..0d0b4c8e9 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/pm-icon.imageset/pm-icon@3x.png and b/App/Resources/Assets.xcassets/Template Images/pm-icon.imageset/pm-icon@3x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/pull-to-refresh.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/pull-to-refresh.imageset/Contents.json index 277d02b18..b16657812 100644 --- a/App/Resources/Assets.xcassets/Template Images/pull-to-refresh.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/pull-to-refresh.imageset/Contents.json @@ -5,21 +5,21 @@ "scale" : "1x" }, { - "idiom" : "universal", "filename" : "pull-to-refresh@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "pull-to-refresh@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 }, "properties" : { "template-rendering-intent" : "template" } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/pull-to-refresh.imageset/pull-to-refresh@2x.png b/App/Resources/Assets.xcassets/Template Images/pull-to-refresh.imageset/pull-to-refresh@2x.png index 673a1ac79..0277672ee 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/pull-to-refresh.imageset/pull-to-refresh@2x.png and b/App/Resources/Assets.xcassets/Template Images/pull-to-refresh.imageset/pull-to-refresh@2x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/pull-to-refresh.imageset/pull-to-refresh@3x.png b/App/Resources/Assets.xcassets/Template Images/pull-to-refresh.imageset/pull-to-refresh@3x.png index e73f102b2..37ce90184 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/pull-to-refresh.imageset/pull-to-refresh@3x.png and b/App/Resources/Assets.xcassets/Template Images/pull-to-refresh.imageset/pull-to-refresh@3x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/reply.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/reply.imageset/Contents.json index 34b5346ec..cc9c563dc 100644 --- a/App/Resources/Assets.xcassets/Template Images/reply.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/reply.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "reply@1x.png", "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "reply@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "reply@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/App/Resources/Assets.xcassets/Template Images/reply.imageset/reply@1x.png b/App/Resources/Assets.xcassets/Template Images/reply.imageset/reply@1x.png new file mode 100644 index 000000000..1d94b1e81 Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/reply.imageset/reply@1x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/reply.imageset/reply@2x.png b/App/Resources/Assets.xcassets/Template Images/reply.imageset/reply@2x.png index 4c15fa402..9c32bfcf4 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/reply.imageset/reply@2x.png and b/App/Resources/Assets.xcassets/Template Images/reply.imageset/reply@2x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/reply.imageset/reply@3x.png b/App/Resources/Assets.xcassets/Template Images/reply.imageset/reply@3x.png index 24c0a2dbc..fb5c88797 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/reply.imageset/reply@3x.png and b/App/Resources/Assets.xcassets/Template Images/reply.imageset/reply@3x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/steamed-ham.imageset/Contents.json b/App/Resources/Assets.xcassets/Template Images/steamed-ham.imageset/Contents.json index c1cce722f..7f6ca415b 100644 --- a/App/Resources/Assets.xcassets/Template Images/steamed-ham.imageset/Contents.json +++ b/App/Resources/Assets.xcassets/Template Images/steamed-ham.imageset/Contents.json @@ -1,6 +1,7 @@ { "images" : [ { + "filename" : "steamed-ham@1x.png", "idiom" : "universal", "scale" : "1x" }, @@ -18,8 +19,5 @@ "info" : { "author" : "xcode", "version" : 1 - }, - "properties" : { - "template-rendering-intent" : "template" } } diff --git a/App/Resources/Assets.xcassets/Template Images/steamed-ham.imageset/steamed-ham@1x.png b/App/Resources/Assets.xcassets/Template Images/steamed-ham.imageset/steamed-ham@1x.png new file mode 100644 index 000000000..9f3701275 Binary files /dev/null and b/App/Resources/Assets.xcassets/Template Images/steamed-ham.imageset/steamed-ham@1x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/steamed-ham.imageset/steamed-ham@2x.png b/App/Resources/Assets.xcassets/Template Images/steamed-ham.imageset/steamed-ham@2x.png index 64d7ab561..d3f3391af 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/steamed-ham.imageset/steamed-ham@2x.png and b/App/Resources/Assets.xcassets/Template Images/steamed-ham.imageset/steamed-ham@2x.png differ diff --git a/App/Resources/Assets.xcassets/Template Images/steamed-ham.imageset/steamed-ham@3x.png b/App/Resources/Assets.xcassets/Template Images/steamed-ham.imageset/steamed-ham@3x.png index 900d3b78d..6dee11ae2 100644 Binary files a/App/Resources/Assets.xcassets/Template Images/steamed-ham.imageset/steamed-ham@3x.png and b/App/Resources/Assets.xcassets/Template Images/steamed-ham.imageset/steamed-ham@3x.png differ diff --git a/App/Resources/Assets.xcassets/Thread Lists/Contents.json b/App/Resources/Assets.xcassets/Thread Lists/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/App/Resources/Assets.xcassets/Thread Lists/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/App/Resources/Assets.xcassets/Thread Lists/page.imageset/Contents.json b/App/Resources/Assets.xcassets/Thread Lists/page.imageset/Contents.json new file mode 100644 index 000000000..1202b1a97 --- /dev/null +++ b/App/Resources/Assets.xcassets/Thread Lists/page.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "page@1x.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "page@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "page@3x(1).png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/App/Resources/Assets.xcassets/Thread Lists/page.imageset/page@1x.png b/App/Resources/Assets.xcassets/Thread Lists/page.imageset/page@1x.png new file mode 100644 index 000000000..e32991f75 Binary files /dev/null and b/App/Resources/Assets.xcassets/Thread Lists/page.imageset/page@1x.png differ diff --git a/App/Resources/Assets.xcassets/Thread Lists/page.imageset/page@2x.png b/App/Resources/Assets.xcassets/Thread Lists/page.imageset/page@2x.png new file mode 100644 index 000000000..d9a8bef7a Binary files /dev/null and b/App/Resources/Assets.xcassets/Thread Lists/page.imageset/page@2x.png differ diff --git a/App/Resources/Assets.xcassets/Thread Lists/page.imageset/page@3x(1).png b/App/Resources/Assets.xcassets/Thread Lists/page.imageset/page@3x(1).png new file mode 100644 index 000000000..44b8e6319 Binary files /dev/null and b/App/Resources/Assets.xcassets/Thread Lists/page.imageset/page@3x(1).png differ diff --git a/App/Resources/Assets.xcassets/onepassword-button.imageset/Contents.json b/App/Resources/Assets.xcassets/onepassword-button.imageset/Contents.json new file mode 100644 index 000000000..ef1c4c57a --- /dev/null +++ b/App/Resources/Assets.xcassets/onepassword-button.imageset/Contents.json @@ -0,0 +1,56 @@ +{ + "images" : [ + { + "filename" : "onepassword-button.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "onepassword-button-light.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "onepassword-button@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "onepassword-button-light@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "onepassword-button@3x.png", + "idiom" : "universal", + "scale" : "3x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "onepassword-button-light@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/App/Resources/Lotties/GhostAnim.json b/App/Resources/Lotties/GhostAnim.json new file mode 100755 index 000000000..0a4bc25c0 --- /dev/null +++ b/App/Resources/Lotties/GhostAnim.json @@ -0,0 +1 @@ +{"v":"5.7.13","fr":120,"ip":0,"op":7201,"w":300,"h":300,"nm":"_GhostAnim","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"stroke","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":500,"ix":3},"y":{"a":0,"k":500,"ix":4}},"a":{"a":0,"k":[500,500,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.67,-0.02],[0,-35.64],[0,0],[-0.698,0.774],[0,0],[-1.447,-1.604],[0,0],[-1.447,1.604],[0,0],[-1.447,-1.604],[0,0],[-1.447,1.604],[0,0],[-1.447,-1.604],[0,0],[0.005,1.045],[0,0],[1.636,0.388],[0,0],[-1.502,0.776],[0,0],[1.169,2.261],[25.815,0]],"o":[[-35.625,1.044],[0,0],[0,1.043],[0,0],[1.447,-1.604],[0,0],[1.447,1.604],[0,0],[1.447,-1.604],[0,0],[1.447,1.604],[0,0],[1.447,-1.604],[0,0],[0.7,0.777],[0,0],[-0.008,-1.681],[0,0],[-1.645,-0.391],[0,0],[2.261,-1.168],[-11.09,-21.453],[-0.666,0]],"v":[[1.12,-83.333],[-63.586,-15.021],[-63.585,81.796],[-61.602,82.559],[-46.88,66.238],[-41.469,66.238],[-27.469,81.758],[-22.058,81.758],[-8.057,66.238],[-2.646,66.238],[11.354,81.758],[16.765,81.758],[30.765,66.238],[36.176,66.238],[50.883,82.541],[52.866,81.774],[52.605,30.958],[49.803,27.439],[-28.921,8.747],[-29.336,5.355],[60.48,-41.031],[62.417,-47.244],[3.124,-83.363]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[501.556,501.183],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":8727,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"eyes","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":500,"ix":3},"y":{"a":0,"k":500,"ix":4}},"a":{"a":0,"k":[500,500,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,5.559],[-5.559,0],[0,-5.559],[5.558,0]],"o":[[0,-5.559],[5.559,0],[0,5.559],[-5.558,0]],"v":[[8.759,-49.973],[18.823,-60.038],[28.888,-49.973],[18.823,-39.908]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,5.559],[-5.559,0],[0,-5.559],[5.559,0]],"o":[[0,-5.559],[5.559,0],[0,5.559],[-5.559,0]],"v":[[-31.057,-29.424],[-20.992,-39.489],[-10.928,-29.424],[-20.992,-19.359]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[501.556,501.183],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":8727,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"fill","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":200,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":400,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":600,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":800,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":1000,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":1200,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":1400,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":1600,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":1800,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":2000,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":2200,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":2400,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":2600,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":2800,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":3000,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":3200,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":3400,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":3600,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":3800,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":4000,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":4200,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":4400,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":4600,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":4800,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":5000,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":5200,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":5400,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":5600,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":5800,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":6000,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":6200,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":6400,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":6600,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":6800,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":7000,"s":[25]},{"t":7200,"s":[0]}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.311],"y":[0.452]},"t":0,"s":[-0.519]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":116,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":316,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":516,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":716,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":916,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":1116,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":1316,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":1516,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":1716,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":1916,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":2116,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":2316,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":2516,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":2716,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":2916,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":3116,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":3316,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":3516,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":3716,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":3916,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":4116,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":4316,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":4516,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":4716,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":4916,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":5116,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":5316,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":5516,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":5716,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":5916,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":6116,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":6316,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":6516,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":6716,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":6916,"s":[2]},{"i":{"x":[0.698],"y":[0.46]},"o":{"x":[0.384],"y":[0]},"t":7116,"s":[-2]},{"t":7200,"s":[-0.519]}],"ix":10},"p":{"s":true,"x":{"a":0,"k":150,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":0,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":195,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":205,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":400,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":595,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":605,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":800,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":995,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":1005,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":1200,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":1395,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":1405,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":1600,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":1795,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":1805,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":2000,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":2195,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":2205,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":2400,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":2595,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":2605,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":2800,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":2995,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":3005,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":3200,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":3395,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":3405,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":3600,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":3795,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":3805,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":4000,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":4195,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":4205,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":4400,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":4595,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":4605,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":4800,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":4995,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":5005,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":5200,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":5395,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":5405,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":5600,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":5795,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":5805,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":6000,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":6195,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":6205,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":6400,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":6595,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":6605,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":6800,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":6995,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":7005,"s":[135]},{"t":7200,"s":[150.18]}],"ix":4}},"a":{"a":0,"k":[500,500,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.67,-0.02],[0,-35.64],[0,0],[-0.698,0.774],[0,0],[-1.447,-1.604],[0,0],[-1.447,1.604],[0,0],[-1.447,-1.604],[0,0],[-1.447,1.604],[0,0],[-1.447,-1.604],[0,0],[0.005,1.045],[0,0],[1.636,0.388],[0,0],[-1.502,0.776],[0,0],[1.169,2.261],[25.815,0]],"o":[[-35.625,1.044],[0,0],[0,1.043],[0,0],[1.447,-1.604],[0,0],[1.447,1.604],[0,0],[1.447,-1.604],[0,0],[1.447,1.604],[0,0],[1.447,-1.604],[0,0],[0.7,0.777],[0,0],[-0.008,-1.681],[0,0],[-1.645,-0.391],[0,0],[2.261,-1.168],[-11.09,-21.453],[-0.666,0]],"v":[[1.12,-83.333],[-63.586,-15.021],[-63.585,81.796],[-61.602,82.559],[-46.88,66.238],[-41.469,66.238],[-27.469,81.758],[-22.058,81.758],[-8.057,66.238],[-2.646,66.238],[11.354,81.758],[16.765,81.758],[30.765,66.238],[36.176,66.238],[50.883,82.541],[52.866,81.774],[52.605,30.958],[49.803,27.439],[-28.921,8.747],[-29.336,5.355],[60.48,-41.031],[62.417,-47.244],[3.124,-83.363]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"tr","p":{"a":0,"k":[501.556,501.183],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":8727,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/App/Resources/Lotties/MainThrobberX120.json b/App/Resources/Lotties/MainThrobberX120.json new file mode 100644 index 000000000..bba7a10a0 --- /dev/null +++ b/App/Resources/Lotties/MainThrobberX120.json @@ -0,0 +1 @@ +{"v":"5.9.0","fr":120,"ip":0,"op":201,"w":260,"h":260,"nm":"_MainThrobber 120","ddd":0,"assets":[{"id":"comp_0","nm":"Face Mask","fr":25,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"rotate","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.348],"y":[1]},"o":{"x":[0.161],"y":[0.53]},"t":0,"s":[33.333]},{"t":14.4,"s":[0]}],"ix":10},"p":{"a":0,"k":[54,54,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":235.2,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"main_mask","parent":1,"refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-24,18.75,0],"ix":2,"l":2},"a":{"a":0,"k":[47.25,82.25,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.637],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.625],"y":[0.091]},"o":{"x":[0.304],"y":[0]},"t":14.4,"s":[0.2]},{"i":{"x":[0.551],"y":[0.681]},"o":{"x":[0.44],"y":[0.495]},"t":124.8,"s":[1.539]},{"t":211.2,"s":[3.8]}],"ix":2},"w":135,"h":135,"ip":0,"op":225.6,"st":0,"bm":0}]},{"id":"comp_1","nm":"main_mask","fr":25,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"eyeL","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-21.5,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[1],"y":[0]},"t":57.6,"s":[94]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":139.2,"s":[102.306]},{"t":374.4,"s":[94]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.414,0.414],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[0,0]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.385,0.385],"y":[0,0]},"t":23.892,"s":[16,16]},{"i":{"x":[0.766,0.766],"y":[0.538,0.538]},"o":{"x":[0.398,0.398],"y":[0,0]},"t":57.6,"s":[16,16]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[-15.144,-15.144]},"t":139.2,"s":[0,0]},{"i":{"x":[0.516,0.516],"y":[1,1]},"o":{"x":[0.358,0.358],"y":[0.872,0.872]},"t":374.4,"s":[0,0]},{"t":456,"s":[16,16]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":-14.4,"op":465.6,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"eyeR","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-21.5,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[1],"y":[0]},"t":57.6,"s":[60]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":139.2,"s":[68.306]},{"t":374.4,"s":[60]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.414,0.414],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[0,0]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.385,0.385],"y":[0,0]},"t":23.892,"s":[16,16]},{"i":{"x":[0.766,0.766],"y":[0.538,0.538]},"o":{"x":[0.398,0.398],"y":[0,0]},"t":57.6,"s":[16,16]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[-15.144,-15.144]},"t":139.2,"s":[0,0]},{"i":{"x":[0.516,0.516],"y":[1,1]},"o":{"x":[0.358,0.358],"y":[0.872,0.872]},"t":374.4,"s":[0,0]},{"t":456,"s":[16,16]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":-14.4,"op":465.6,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"Jaw Corner","parent":6,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"s":true,"x":{"a":0,"k":-1.75,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.583],"y":[0.46]},"o":{"x":[0.163],"y":[0]},"t":0,"s":[29.75]},{"i":{"x":[0.872],"y":[0.799]},"o":{"x":[0.438],"y":[0.371]},"t":4.8,"s":[34.589]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.082],"y":[0.254]},"t":9.6,"s":[42]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":19.2,"s":[49.55]},{"i":{"x":[0.765],"y":[0.591]},"o":{"x":[0.441],"y":[0]},"t":24,"s":[49.55]},{"i":{"x":[0.722],"y":[0.644]},"o":{"x":[0.423],"y":[0.311]},"t":38.4,"s":[52.25]},{"i":{"x":[0.833],"y":[0.83]},"o":{"x":[0.188],"y":[0.147]},"t":48,"s":[56.511]},{"i":{"x":[0.832],"y":[0.844]},"o":{"x":[0.167],"y":[0.164]},"t":62.4,"s":[66.97]},{"i":{"x":[0.868],"y":[0.857]},"o":{"x":[0.243],"y":[0.272]},"t":76.8,"s":[77.8]},{"i":{"x":[0.667],"y":[1.389]},"o":{"x":[0.219],"y":[0.635]},"t":86.4,"s":[83.8]},{"i":{"x":[0.833],"y":[0.812]},"o":{"x":[0.333],"y":[0.152]},"t":105.6,"s":[88.3]},{"i":{"x":[0.564],"y":[0.903]},"o":{"x":[0.167],"y":[0.161]},"t":124.8,"s":[76.8]},{"i":{"x":[0.657],"y":[1.158]},"o":{"x":[0.297],"y":[0.596]},"t":192,"s":[29.941]},{"i":{"x":[0.862],"y":[0.772]},"o":{"x":[0.393],"y":[0.093]},"t":220.8,"s":[27.722]},{"i":{"x":[0.746],"y":[0.815]},"o":{"x":[0.292],"y":[0.411]},"t":249.6,"s":[32.044]},{"i":{"x":[0.617],"y":[1]},"o":{"x":[0.281],"y":[0.731]},"t":307.2,"s":[42.207]},{"t":456,"s":[49.55]}],"ix":4}},"a":{"a":0,"k":[48,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-13,-13,100],"ix":6,"l":2}},"ao":0,"w":48,"h":48,"ip":0,"op":460.8,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"Lip Corner","parent":7,"refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0.7,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.215],"y":[0]},"t":0,"s":[30.9]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":9.6,"s":[31.2]},{"i":{"x":[0.832],"y":[0.762]},"o":{"x":[0.333],"y":[0]},"t":24,"s":[31.2]},{"i":{"x":[0.831],"y":[0.726]},"o":{"x":[0.284],"y":[0.041]},"t":57.6,"s":[31.283]},{"i":{"x":[0.583],"y":[0.412]},"o":{"x":[0.32],"y":[0.162]},"t":76.8,"s":[31.75]},{"i":{"x":[0.833],"y":[0.801]},"o":{"x":[0.417],"y":[0.315]},"t":86.4,"s":[32.5]},{"i":{"x":[0.57],"y":[0.546]},"o":{"x":[0.175],"y":[0.142]},"t":96,"s":[33.9]},{"i":{"x":[0.835],"y":[0.917]},"o":{"x":[0.342],"y":[0.243]},"t":105.6,"s":[35.959]},{"i":{"x":[0.469],"y":[1]},"o":{"x":[0.265],"y":[0.865]},"t":115.2,"s":[39.019]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":120,"s":[39.256]},{"i":{"x":[0.868],"y":[0.566]},"o":{"x":[0.448],"y":[0]},"t":288,"s":[39.089]},{"i":{"x":[0.756],"y":[0.85]},"o":{"x":[0.212],"y":[0.248]},"t":336,"s":[35.4]},{"i":{"x":[0.833],"y":[0.908]},"o":{"x":[0.177],"y":[0.321]},"t":350.4,"s":[32.3]},{"i":{"x":[0.575],"y":[1.021]},"o":{"x":[0.167],"y":[0.323]},"t":364.8,"s":[31.25]},{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.258],"y":[0.034]},"t":388.8,"s":[30.75]},{"t":456,"s":[31.283]}],"ix":4}},"a":{"a":0,"k":[48,0,0],"ix":1,"l":2},"s":{"a":0,"k":[13,13,100],"ix":6,"l":2}},"ao":0,"w":48,"h":48,"ip":0,"op":460.8,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":1,"nm":"Jaw","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.657],"y":[1]},"o":{"x":[0.195],"y":[0.379]},"t":0,"s":[-297.4]},{"i":{"x":[0.502],"y":[1]},"o":{"x":[0.502],"y":[0]},"t":19.2,"s":[-256.5]},{"i":{"x":[0.673],"y":[0.65]},"o":{"x":[0.333],"y":[0]},"t":24,"s":[-256.5]},{"i":{"x":[0.846],"y":[0.907]},"o":{"x":[0.265],"y":[0.413]},"t":182.4,"s":[0]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.217],"y":[0.869]},"t":240,"s":[66.083]},{"t":456,"s":[103.5]}],"ix":10},"p":{"a":0,"k":[47.057,83.476,0],"ix":2,"l":2},"a":{"a":0,"k":[0,112.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"sw":225,"sh":225,"sc":"#ff3838","ip":0,"op":480,"st":-216,"bm":0},{"ddd":0,"ind":7,"ty":1,"nm":"Upper Lip","tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.633],"y":[0.132]},"o":{"x":[0.323],"y":[0]},"t":24,"s":[-297.5]},{"i":{"x":[0.671],"y":[0.674]},"o":{"x":[0.348],"y":[0.332]},"t":182.4,"s":[-180]},{"i":{"x":[0.617],"y":[0.795]},"o":{"x":[0.305],"y":[0.534]},"t":225.6,"s":[-100.674]},{"i":{"x":[0.613],"y":[1]},"o":{"x":[0.247],"y":[0.671]},"t":364.8,"s":[43.794]},{"t":456,"s":[62.5]}],"ix":10},"p":{"a":0,"k":[47.057,83.476,0],"ix":2,"l":2},"a":{"a":0,"k":[0,112.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"sw":225,"sh":225,"sc":"#ff3838","ip":0,"op":480,"st":-216,"bm":0}]},{"id":"comp_2","nm":"Corner 2","fr":25,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[24,24,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-53],[10.312,-14.375],[73.868,73.868]],"o":[[22.5,0],[-12,27.5],[0,-11.514]],"v":[[-19.75,-11.25],[-2.562,21.125],[25.125,-26.236]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":460.8,"st":0,"bm":0}]},{"id":"comp_3","nm":"Corner","fr":25,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[24,24,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-54.625],[0,-25.25],[0,0]],"o":[[28.25,0],[43.625,0],[0,0]],"v":[[-24,-20.125],[18.875,24],[33.375,-32.111]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":460.8,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Face Mask","td":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[130,130,0],"ix":2,"l":2},"a":{"a":0,"k":[54,54,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.553,0.553,0.667],"y":[1,1,1]},"o":{"x":[0.253,0.253,0.167],"y":[0.666,0.666,21.429]},"t":0,"s":[0,0,100]},{"i":{"x":[0.609,0.609,0.667],"y":[1,1,1]},"o":{"x":[0.467,0.467,0.298],"y":[0,0,0]},"t":27,"s":[129.1,129.1,100]},{"i":{"x":[0.373,0.373,0.819],"y":[1,1,1]},"o":{"x":[0.372,0.372,0.333],"y":[0,0,0]},"t":41,"s":[116.4,116.4,100]},{"t":50,"s":[120,120,100]}],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.901],"y":[0.714]},"o":{"x":[0.158],"y":[0]},"t":5,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[0.123]},{"t":190,"s":[1.786]}],"ix":2},"w":108,"h":108,"ip":6,"op":210,"st":-152,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Blue Circ 2","tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[130,130,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.553,0.553,0.667],"y":[1,1,1]},"o":{"x":[0.253,0.253,0.167],"y":[0.666,0.666,0]},"t":0,"s":[0,0,100]},{"i":{"x":[0.609,0.609,0.667],"y":[1,1,1]},"o":{"x":[0.467,0.467,0.298],"y":[0,0,0]},"t":27,"s":[129.1,129.1,100]},{"i":{"x":[0.373,0.373,0.819],"y":[1,1,1]},"o":{"x":[0.372,0.372,0.333],"y":[0,0,0]},"t":41,"s":[116.4,116.4,100]},{"t":50,"s":[120,120,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"circ","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":6,"op":208,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Blue Circ","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[130,130,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.553,0.553,0.667],"y":[1,1,1]},"o":{"x":[0.253,0.253,0.167],"y":[0.666,0.666,0]},"t":0,"s":[0,0,100]},{"i":{"x":[0.609,0.609,0.667],"y":[1,1,1]},"o":{"x":[0.467,0.467,0.298],"y":[0,0,0]},"t":27,"s":[129.1,129.1,100]},{"i":{"x":[0.373,0.373,0.819],"y":[1,1,1]},"o":{"x":[0.372,0.372,0.333],"y":[0,0,0]},"t":41,"s":[116.4,116.4,100]},{"t":50,"s":[120,120,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"circ","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":6,"st":0,"bm":0}],"markers":[{"tm":0,"cm":"loop start","dr":0}]} \ No newline at end of file diff --git a/App/Resources/Lotties/TootX120.json b/App/Resources/Lotties/TootX120.json new file mode 100644 index 000000000..9ad33099e --- /dev/null +++ b/App/Resources/Lotties/TootX120.json @@ -0,0 +1 @@ +{"v":"5.9.0","fr":120,"ip":0,"op":207,"w":320,"h":320,"nm":"_Toot3x_120","ddd":0,"assets":[{"id":"comp_0","nm":"Note","fr":120,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"note","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":165,"ix":3},"y":{"a":0,"k":70,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[0,0]},{"t":50,"s":[20,20]}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[10,0],"to":[0,0],"ti":[0,0]},{"t":50,"s":[0,0]}],"ix":3},"nm":"circ","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"circ_fill","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.505,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[7.75,0.121],[7.75,0.127],[7.75,0.172]],"c":false}]},{"t":50,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[15.875,-22.461],[7.75,-22.5],[7.75,0.016]],"c":false}]}],"ix":2},"nm":"angle","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"angle_stroke","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"stroke","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":96,"st":-55,"bm":0}]},{"id":"comp_1","nm":"tooter 3","fr":120,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Null 35","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[108,108,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":1,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"TootRoll Mask","parent":3,"td":1,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":28,"s":[43.338]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":100,"s":[43.338]},{"t":101,"s":[43.338]}],"ix":3},"y":{"a":0,"k":-15,"ix":4}},"a":{"a":0,"k":[108,108,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"s","pt":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[131.654,106.5],[105.682,106.5],[105.682,125.199],[131.654,125.199]],"c":true}]},{"t":101,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[137.904,106.5],[111.932,106.5],[111.932,125.199],[137.904,125.199]],"c":true}]}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"w":216,"h":216,"ip":1,"op":180,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"toot","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[6.337]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[37]},{"t":100,"s":[68.147]}],"ix":3},"y":{"a":0,"k":15,"ix":4}},"a":{"a":0,"k":[50,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,11],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.7],"y":[0.216]},"o":{"x":[0.444],"y":[0]},"t":1,"s":[0]},{"i":{"x":[0.623],"y":[1]},"o":{"x":[0.271],"y":[0.319]},"t":5,"s":[0.521]},{"t":15,"s":[4.5]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":1,"op":267,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"toot mask","parent":3,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":45,"s":[50]},{"t":46,"s":[-9]}],"ix":3},"y":{"a":0,"k":-1,"ix":4}},"a":{"a":0,"k":[50,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,11],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960993748,0.301960993748,0.301960993748,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2.75,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":1,"op":267,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"top","parent":6,"tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-86.4,"ix":10},"p":{"s":true,"x":{"a":0,"k":16.958,"ix":3},"y":{"a":0,"k":1.203,"ix":4}},"a":{"a":0,"k":[0,14,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[10,10]},{"t":50,"s":[11,11]}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-39,"s":[0,-7.5],"to":[0,0.051],"ti":[0,0.171]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[0,-8],"to":[0,-0.02],"ti":[0,0.018]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[0,-7.919],"to":[0,-0.034],"ti":[0,0.018]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[0,-8],"to":[0,-0.2],"ti":[0,0.034]},{"t":50,"s":[0,-8.5]}],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":50,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":15,"s":[4.5]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":1,"op":100,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":3,"nm":"ctr 5","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[-18]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[90]},{"t":100,"s":[270]}],"ix":10},"p":{"s":true,"x":{"a":0,"k":42,"ix":3},"y":{"a":0,"k":-5.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":1,"op":100,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"ctr","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[-18]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[90]},{"t":100,"s":[270]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[41]},{"t":45,"s":[42]}],"ix":3},"y":{"a":0,"k":-5.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"large","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":15,"s":[2.25]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":1,"op":100,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"large","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":42,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[-4.5]},{"t":50,"s":[-5.5]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[20,20]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":50,"s":[22,22]},{"t":99,"s":[22,22]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"large","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":7,"s":[25]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":8,"s":[25.8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":16,"s":[27.6]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[26]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[51]},{"t":99,"s":[100]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":180,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.7],"y":[0.216]},"o":{"x":[0.444],"y":[0]},"t":1,"s":[0]},{"i":{"x":[0.623],"y":[1]},"o":{"x":[0.271],"y":[0.319]},"t":5,"s":[0.521]},{"t":15,"s":[4.5]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":1,"op":100,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"top 2","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-90,"ix":10},"p":{"s":true,"x":{"a":0,"k":14,"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,14,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[11,11],"ix":2},"p":{"a":0,"k":[0,-8.5],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":50,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":100,"op":180,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"ctr 4","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-180,"ix":10},"p":{"s":true,"x":{"a":0,"k":42.5,"ix":3},"y":{"a":0,"k":8.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[6,6],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"large","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":100,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":150,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":160,"s":[33.818]},{"t":177.5,"s":[0]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":180,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":100,"op":185,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":3,"nm":"ctr 3","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":100,"s":[-450]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":150,"s":[-270]},{"t":200,"s":[-90]}],"ix":10},"p":{"s":true,"x":{"a":0,"k":42.5,"ix":3},"y":{"a":0,"k":8.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"ip":100,"op":267,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"large 2","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-180,"ix":10},"p":{"s":true,"x":{"a":0,"k":42.5,"ix":3},"y":{"a":0,"k":8.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[28,28],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"large","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":100,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":150,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":177.5,"s":[23]},{"t":200,"s":[0]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":180,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":100,"op":185,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"bak 2","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[42.288,-4.125,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[88,88,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":100,"s":[{"i":[[-7.319,0.506],[-4.193,-2.377],[4.119,-2.301],[2.978,0.568]],"o":[[2.064,0],[4.193,2.377],[-1.167,0.305],[-6.539,-5.682]],"v":[[-0.71,-1.27],[4.002,1.349],[0.55,11.056],[0.506,10.795]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":107,"s":[{"i":[[-7.319,0.506],[-3.67,-3.125],[4.478,-1.483],[2.978,0.568]],"o":[[5.189,0],[3.67,3.125],[-1.203,0.08],[-6.539,-5.682]],"v":[[-0.71,-1.625],[10.041,2.699],[4.688,12.278],[0.506,11.506]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":122,"s":[{"i":[[-7.319,0.506],[-0.723,-10.227],[0.919,2.193],[2.978,0.568]],"o":[[7.319,-0.506],[-4.569,5.114],[-0.919,-2.193],[-6.539,-5.682]],"v":[[-0.71,-1.625],[16.717,14.347],[3.977,14.267],[0.506,11.506]],"c":true}]},{"t":140,"s":[{"i":[[-7.319,0.506],[-0.723,-10.227],[0,11.301],[2.978,0.568]],"o":[[7.319,-0.506],[0,15.057],[4.905,-2.335],[-6.539,-5.682]],"v":[[-0.71,-1.625],[16.717,14.347],[1.42,18.386],[0.506,11.506]],"c":true}]}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":100,"op":180,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"bak","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[42.288,-4.125,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[88,88,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[-6.075,0],[0,-6.075],[6.075,0],[0,6.075]],"o":[[6.075,0],[0,6.075],[-6.075,0],[0,-6.075]],"v":[[0,-11],[11,0],[0,11],[-11,0]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[-5.762,0],[0,-5.762],[6.359,0],[0.358,5.725]],"o":[[6.684,0],[0,5.762],[-5.762,0],[-0.627,-7.032]],"v":[[0.29,-11.645],[11.306,-0.004],[0.034,11],[-10.32,-1.1]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[-5.579,0],[0,-5.579],[6.524,0],[0.566,5.521]],"o":[[7.039,0],[0,5.579],[-5.579,0],[-0.993,-7.59]],"v":[[0.459,-12.021],[11.485,-0.007],[0.054,11],[-9.642,-1.742]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[{"i":[[-5.161,0],[0,-5.161],[6.902,0],[1.043,5.054]],"o":[[5.161,0],[0,5.161],[-5.161,0],[-1.829,-8.865]],"v":[[0.845,-12.553],[11.894,-0.013],[0.099,11],[-8.499,-3.209]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[-4.925,0],[0,-6.601],[6.754,0],[0.896,4.834]],"o":[[5.547,0],[0,5.356],[-4.925,0],[-1.729,-8.396]],"v":[[1.245,-13.198],[12.107,-0.217],[0.125,11],[-6.31,-2.776]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[-4.716,0],[0,-6.064],[6.621,0],[0.766,4.638]],"o":[[5.89,0],[0,5.529],[-4.716,0],[-1.639,-7.978]],"v":[[1.601,-13.771],[12.298,-0.399],[0.147,11],[-4.365,-2.391]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":61,"s":[{"i":[[-4.481,0],[0,-5.597],[6.473,0],[0.619,4.418]],"o":[[5.033,0],[0,5.725],[-4.481,0],[0.028,-6.991]],"v":[[4.246,-11.941],[12.324,-0.227],[0.173,11],[-2.176,-1.958]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":69,"s":[{"i":[[-4.272,0],[0,-5.181],[6.341,0],[0.489,4.222]],"o":[[4.272,0],[0,5.898],[-4.272,0],[0.09,-6.24]],"v":[[6.263,-9.308],[12.347,-0.075],[0.196,11],[-0.23,-1.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[-4.089,0],[0,-5.246],[5.675,0],[0.375,4.051]],"o":[[4.089,0],[0,5.336],[-4.089,0],[1.745,-2.124]],"v":[[5.861,-6.854],[12.275,0.417],[0.215,11],[-1.585,0.136]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[-3.376,0],[0,-3.068],[4.914,0],[0.244,3.855]],"o":[[3.3,0],[0,4.693],[-3.88,0],[2.744,-2.799]],"v":[[5.402,-4.05],[11.052,2.5],[0.238,11],[-3.133,2.088]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":92,"s":[{"i":[[-3.671,0],[0,-3.883],[4.154,0],[0.114,3.659]],"o":[[3.671,0],[0,5.426],[-3.671,0],[1.28,-3.166]],"v":[[2.671,-1.872],[8.853,3.665],[0.261,11],[-4.681,3.473]],"c":true}]},{"t":99,"s":[{"i":[[-3.488,0],[0,-3.488],[3.488,0],[0,3.488]],"o":[[3.488,0],[0,3.488],[-3.488,0],[0,-3.488]],"v":[[0.281,-1.632],[6.597,4.684],[0.281,11],[-6.035,4.684]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":1,"op":100,"st":0,"bm":0}]},{"id":"comp_2","nm":"TootRoll Mask","fr":120,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"toot 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":107.337,"ix":3},"y":{"a":0,"k":123,"ix":4}},"a":{"a":0,"k":[50,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[50,27.5],[-50,27.5],[-50,-27.5],[50.006,-27.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":3,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960993748,0.301960993748,0.301960993748,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0}]},{"id":"comp_3","nm":"Eye Eye","fr":25,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[3.5,3.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[7,7],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":720,"st":0,"bm":0}]},{"id":"comp_4","nm":"tooter fill","fr":120,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"toot 2","parent":2,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":43,"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[50,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[50,-27.5],[50,27.5],[5,27.5],[5,-27.5]],"c":true}]},{"t":73,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[50,-27.5],[50,27.5],[-43.938,27.5],[-43.938,-27.5]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"ix":2},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[42.06,-6.508],"to":[0.167,-1.589],"ti":[-0.517,1.404]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.668,"s":[43,-13],"to":[0.583,-1.583],"ti":[-0.417,0.417]},{"t":33.33203125,"s":[45.5,-15.5]}],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"mm","mm":3,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960993748,0.301960993748,0.301960993748,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":1,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"toot","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[114.337]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[145]},{"t":100,"s":[176.147]}],"ix":3},"y":{"a":0,"k":123,"ix":4}},"a":{"a":0,"k":[50,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"fl","c":{"a":0,"k":[0.301960993748,0.301960993748,0.301960993748,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"rc","d":1,"s":{"a":0,"k":[100,11],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":1,"op":267,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"top","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-90,"ix":10},"p":{"s":true,"x":{"a":0,"k":20.695,"ix":3},"y":{"a":0,"k":-0.114,"ix":4}},"a":{"a":0,"k":[0,14,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[11,11],"ix":2},"p":{"a":0,"k":[0,-8.5],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":1,"op":100,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":3,"nm":"ctr","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[-18]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[90]},{"t":100,"s":[270]}],"ix":10},"p":{"s":true,"x":{"a":0,"k":42.5,"ix":3},"y":{"a":0,"k":-8.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":1,"op":100,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"large","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":42.5,"ix":3},"y":{"a":0,"k":-4.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[20,20],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"large","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[20.444]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":4.168,"s":[23]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[50]},{"t":100,"s":[100]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":180,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":1,"op":100,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"top 2","parent":9,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-90,"ix":10},"p":{"s":true,"x":{"a":0,"k":14,"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,14,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[11,11],"ix":2},"p":{"a":0,"k":[0,-8.5],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":50,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":100,"op":180,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"ctr 4","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-180,"ix":10},"p":{"s":true,"x":{"a":0,"k":42.5,"ix":3},"y":{"a":0,"k":8.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[6,6],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"large","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":100,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":150,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":160,"s":[33.818]},{"t":177.5,"s":[0]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":180,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":100,"op":185,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":3,"nm":"ctr 3","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":100,"s":[-450]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":150,"s":[-270]},{"t":200,"s":[-90]}],"ix":10},"p":{"s":true,"x":{"a":0,"k":42.5,"ix":3},"y":{"a":0,"k":8.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"ip":100,"op":267,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"large 2","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-180,"ix":10},"p":{"s":true,"x":{"a":0,"k":42.5,"ix":3},"y":{"a":0,"k":8.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[28,28],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"large","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":100,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":150,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":177.5,"s":[23]},{"t":200,"s":[0]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":180,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":100,"op":185,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"scaler","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[160,160,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.633,0.633,0.667],"y":[1,1,1]},"o":{"x":[0.38,0.38,0.332],"y":[0.333,0.333,0]},"t":0,"s":[0,0,100]},{"i":{"x":[0.528,0.528,0.667],"y":[1,1,1]},"o":{"x":[0.382,0.382,0.298],"y":[0,0,0]},"t":21,"s":[129,129,100]},{"i":{"x":[0.565,0.565,0.819],"y":[1,1,1]},"o":{"x":[0.36,0.36,0.333],"y":[0,0,0]},"t":36,"s":[117,117,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":50,"s":[120,120,100]},{"i":{"x":[0.517,0.517,0.667],"y":[1,1,1]},"o":{"x":[0.291,0.291,0.333],"y":[0,0,0]},"t":152,"s":[120,120,100]},{"i":{"x":[0.822,0.822,0.833],"y":[0.404,0.404,9.327]},"o":{"x":[0.474,0.474,0.333],"y":[0,0,0]},"t":165,"s":[126,126,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.387,0.387,0.167],"y":[0.452,0.452,-7.012]},"t":184,"s":[89.051,89.051,100]},{"t":200,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"ip":0,"op":207,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Note","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":160,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.477],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[181.101]},{"t":82,"s":[160]}],"ix":4}},"a":{"a":0,"k":[108,108,0],"ix":1,"l":2},"s":{"a":0,"k":[150.72,150.72,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.382],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":75,"s":[0.417]},{"i":{"x":[0.831],"y":[0.672]},"o":{"x":[0.518],"y":[0]},"t":140,"s":[0.417]},{"t":166,"s":[0]}],"ix":2},"w":216,"h":216,"ip":50,"op":166,"st":50,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"cheek","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":23,"ix":10},"p":{"a":0,"k":[-4.018,17,0],"ix":2,"l":2},"a":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[11,0.007,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":35,"s":[14,0.007,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[14,0.007,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":87,"s":[10.5,0.007,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":140,"s":[10.5,0.007,0],"to":[0,0,0],"ti":[0,0,0]},{"t":199,"s":[11,0.007,0]}],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":0,"s":[22,22]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":35,"s":[28,28]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":45,"s":[28,28]},{"i":{"x":[0.833,0.833],"y":[0.921,0.921]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":87,"s":[21,21]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.088,0.088]},"t":140,"s":[21,21]},{"t":199,"s":[22,22]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":165,"s":[73]},{"t":197,"s":[80]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":165,"s":[-220]},{"t":189,"s":[-242.598]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.727],"y":[0.727]},"o":{"x":[0.317],"y":[0]},"t":180,"s":[4.5]},{"t":194,"s":[0]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":207,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"cheek mask","parent":10,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":23,"ix":10},"p":{"a":0,"k":[-12.856,13.011,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-74.652],[0,-4.604],[3.729,-4.25],[0,85.5]],"o":[[2.479,2.438],[0,3.964],[0,74.5],[0,-85.5]],"v":[[5.365,-9.49],[10.049,-0.13],[4.375,10.479],[-88.5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":207,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"tooter 3","parent":10,"tt":2,"refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":23,"ix":10},"p":{"a":0,"k":[23.933,10.159,0],"ix":2,"l":2},"a":{"a":0,"k":[108,108,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.597],"y":[0]},"t":45,"s":[0.129]},{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.266],"y":[0]},"t":70,"s":[1.042]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.302],"y":[0]},"t":75,"s":[1.111]},{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.266],"y":[0]},"t":80,"s":[1.042]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.302],"y":[0]},"t":85,"s":[1.111]},{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.266],"y":[0]},"t":90,"s":[1.042]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.302],"y":[0]},"t":95,"s":[1.111]},{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.266],"y":[0]},"t":100,"s":[1.042]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.302],"y":[0]},"t":105,"s":[1.111]},{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.266],"y":[0]},"t":110,"s":[1.042]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.302],"y":[0]},"t":115,"s":[1.111]},{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.266],"y":[0]},"t":120,"s":[1.042]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.302],"y":[0]},"t":125,"s":[1.111]},{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.266],"y":[0]},"t":130,"s":[1.042]},{"i":{"x":[0.695],"y":[1]},"o":{"x":[0.302],"y":[0]},"t":135,"s":[1.111]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":140,"s":[1.042]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.597],"y":[0]},"t":165,"s":[0.129]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.597],"y":[0]},"t":175,"s":[0.129]},{"t":194,"s":[0]}],"ix":2},"w":216,"h":216,"ip":0,"op":207,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Hat","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.767],"y":[0.508]},"o":{"x":[0.495],"y":[0.231]},"t":55,"s":[0]},{"i":{"x":[0.393],"y":[1]},"o":{"x":[0.336],"y":[-0.114]},"t":111,"s":[7.423]},{"t":120,"s":[0]}],"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.374],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":55,"s":[-36.5]},{"i":{"x":[0.782],"y":[0.604]},"o":{"x":[0.427],"y":[0]},"t":87,"s":[-53.419]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.367],"y":[1.2]},"t":111,"s":[-39.419]},{"t":120,"s":[-36.5]}],"ix":4}},"a":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":166,"s":[0,29,0],"to":[0,-1.828,0],"ti":[0,1.828,0]},{"t":193,"s":[0,18.031,0]}],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.66,"y":0},"t":166,"s":[{"i":[[1.397,-3.361],[0,0],[-2.917,0],[0,0],[1.12,2.694],[0,0]],"o":[[0,0],[-1.12,2.694],[0,0],[2.917,0],[0,0],[-1.397,-3.361]],"v":[[-4.592,-18.985],[-23.787,27.195],[-20.01,32.856],[18.379,32.856],[22.157,27.195],[2.962,-18.985]],"c":true}]},{"t":197,"s":[{"i":[[0.007,-0.017],[0,0],[-0.015,0],[0,0],[0.006,0.014],[0,0]],"o":[[0,0],[-0.006,0.014],[0,0],[0.015,0],[0,0],[-0.007,-0.017]],"v":[[-0.835,5.129],[-0.935,5.369],[-0.915,5.398],[-0.715,5.398],[-0.696,5.369],[-0.795,5.129]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.758],"y":[0.25]},"o":{"x":[0.513],"y":[0]},"t":166,"s":[4.5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.354],"y":[0.237]},"t":184,"s":[3.441]},{"t":193,"s":[1]}],"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":207,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"EyeL","parent":10,"refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":23,"ix":10},"p":{"s":true,"x":{"a":0,"k":-4.238,"ix":3},"y":{"a":0,"k":-10.49,"ix":4}},"a":{"a":0,"k":[3.5,3.5,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.764,0.764,0.711],"y":[0.422,0.422,31.138]},"o":{"x":[0.431,0.431,0.302],"y":[0,0,0]},"t":165.002,"s":[175,175,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,18.588]},"o":{"x":[0.416,0.416,0.425],"y":[0.301,0.301,-12.426]},"t":190.002,"s":[85,85,100]},{"t":197.0015625,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"w":7,"h":7,"ip":0,"op":194,"st":-9.6,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"EyeR","parent":10,"refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":23,"ix":10},"p":{"s":true,"x":{"a":0,"k":18.774,"ix":3},"y":{"a":0,"k":-0.722,"ix":4}},"a":{"a":0,"k":[3.5,3.5,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.764,0.764,0.711],"y":[0.422,0.422,1]},"o":{"x":[0.431,0.431,0.302],"y":[0,0,0]},"t":165.002,"s":[175,175,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.416,0.416,0.425],"y":[0.301,0.301,0]},"t":190.002,"s":[85,85,100]},{"t":197.0015625,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"w":7,"h":7,"ip":0,"op":194,"st":-9.6,"bm":0},{"ddd":0,"ind":9,"ty":0,"nm":"tooter fill","parent":10,"td":1,"refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":23,"ix":10},"p":{"a":0,"k":[23.933,10.159,0],"ix":2,"l":2},"a":{"a":0,"k":[108,108,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"s","pt":{"a":0,"k":{"i":[[12.725,0],[0,-8.265],[-12.725,0],[0,8.264]],"o":[[-12.725,0],[0,8.265],[12.725,0],[0,-8.264]],"v":[[62.8,110.188],[39.759,125.152],[62.8,140.116],[85.841,125.152]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"tm":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.597],"y":[0]},"t":45,"s":[0.129]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":70,"s":[1.042]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":140,"s":[1.042]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.597],"y":[0]},"t":165,"s":[0.129]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.597],"y":[0]},"t":175,"s":[0.129]},{"t":194,"s":[0]}],"ix":2},"w":216,"h":216,"ip":0,"op":207,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"hed","parent":1,"tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.576],"y":[1]},"o":{"x":[0.36],"y":[0.074]},"t":0,"s":[-23]},{"i":{"x":[0.573],"y":[1]},"o":{"x":[0.598],"y":[0]},"t":29.453,"s":[-33]},{"i":{"x":[0.174],"y":[1]},"o":{"x":[0.459],"y":[0]},"t":36,"s":[-33]},{"i":{"x":[0.601],"y":[1]},"o":{"x":[0.48],"y":[0]},"t":110,"s":[-17]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.486],"y":[0]},"t":165,"s":[-24.436]},{"t":197,"s":[-35]}],"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.508],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":5,"s":[0]},{"i":{"x":[0.336],"y":[1]},"o":{"x":[0.539],"y":[0]},"t":36,"s":[-7.536]},{"i":{"x":[0.641],"y":[1]},"o":{"x":[0.527],"y":[0]},"t":110,"s":[21.352]},{"i":{"x":[0.515],"y":[1]},"o":{"x":[0.478],"y":[0]},"t":165,"s":[-1.884]},{"t":182,"s":[0]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[125.6,125.6,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[80,80],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":207,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/App/Resources/Lotties/getout_v3_120.json b/App/Resources/Lotties/getout_v3_120.json new file mode 100755 index 000000000..b638a9d07 --- /dev/null +++ b/App/Resources/Lotties/getout_v3_120.json @@ -0,0 +1 @@ +{"v":"5.7.13","fr":120,"ip":0,"op":7198,"w":180,"h":180,"nm":"_FrogRefresh 3x 120","ddd":0,"assets":[{"id":"comp_0","nm":"FrogAnim master","layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Adjustment Layer 13","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[150,150,0],"ix":2,"l":2},"a":{"a":0,"k":[150,150,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":283.2,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Rotate","hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"t":43.2,"s":[0]},{"i":{"x":[0.833],"y":[0.634]},"o":{"x":[0.167],"y":[0.167]},"t":52.8,"s":[3.448]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.128]},"t":76.8,"s":[20.301]},{"t":120,"s":[107]}],"ix":10},"p":{"a":0,"k":[150,150,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":48,"op":283.2,"st":4.8,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"Scale","parent":2,"hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":9.6,"s":[97.6,97.6,100]},{"t":120,"s":[40,40,100]}],"ix":6,"l":2}},"ao":0,"ip":0,"op":283.2,"st":4.8,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"arrow","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[152]},{"t":120,"s":[117]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":81.6,"s":[-73.325,1.854,0],"to":[-0.507,0.591,0],"ti":[0.507,-0.591,0]},{"t":120,"s":[-76.366,5.397,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-50,50,0],"ix":1,"l":2},"s":{"a":0,"k":[250,250,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76.8,"s":[50]},{"t":120,"s":[45.5]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76.8,"s":[50]},{"t":120,"s":[54.5]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":81.6,"s":[3]},{"t":105.6,"s":[4]}],"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":76.8,"op":283.2,"st":4.8,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"circ","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":4.8,"s":[144,144]},{"t":120,"s":[60,60]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":35,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.347],"y":[0.155]},"t":62.4,"s":[0]},{"t":120,"s":[22]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":62.4,"s":[-162.631]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":67.2,"s":[-165.192]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[-166.996]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":76.8,"s":[-168.8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":91.2,"s":[-178]},{"t":120,"s":[-187]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":52.8,"op":283.2,"st":4.8,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Pupil A 2","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[-350,350,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-0.869],[0.869,0],[0,0.869],[-0.869,0]],"o":[[0,0.869],[-0.869,0],[0,-0.869],[0.869,0]],"v":[[1.573,0],[0,1.573],[-1.573,0],[0,-1.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57.6,"s":[{"i":[[0,-0.543],[0.543,0],[0,0.543],[-0.543,0]],"o":[[0,0.543],[-0.543,0],[0,-0.543],[0.543,0]],"v":[[0.984,0],[0,0.984],[-0.984,0],[0,-0.984]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.017],[0.017,0],[0,0.017],[-0.017,0]],"o":[[0,0.017],[-0.017,0],[0,-0.017],[0.017,0]],"v":[[0.031,0],[0,0.031],[-0.031,0],[0,-0.031]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":62.4,"st":4.8,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Pupil A","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[350,350,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-0.869],[0.869,0],[0,0.869],[-0.869,0]],"o":[[0,0.869],[-0.869,0],[0,-0.869],[0.869,0]],"v":[[1.573,0],[0,1.573],[-1.573,0],[0,-1.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57.6,"s":[{"i":[[0,-0.543],[0.543,0],[0,0.543],[-0.543,0]],"o":[[0,0.543],[-0.543,0],[0,-0.543],[0.543,0]],"v":[[0.984,0],[0,0.984],[-0.984,0],[0,-0.984]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.017],[0.017,0],[0,0.017],[-0.017,0]],"o":[[0,0.017],[-0.017,0],[0,-0.017],[0.017,0]],"v":[[0.031,0],[0,0.031],[-0.031,0],[0,-0.031]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":62.4,"st":4.8,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Eye A 2","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[-325,325,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-2.876],[2.876,0],[0,2.876],[-2.876,0]],"o":[[0,2.876],[-2.876,0],[0,-2.876],[2.876,0]],"v":[[5.208,0],[0,5.208],[-5.208,0],[0,-5.208]],"c":true}]},{"t":57.6,"s":[{"i":[[0,-0.008],[0.008,0],[0,0.008],[-0.008,0]],"o":[[0,0.008],[-0.008,0],[0,-0.008],[0.008,0]],"v":[[0.014,0],[0,0.014],[-0.014,0],[0,-0.014]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[1.5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":52.8,"s":[1.5]},{"t":62.4,"s":[0]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":62.4,"st":4.8,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Eye A","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[325,325,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-2.876],[2.876,0],[0,2.876],[-2.876,0]],"o":[[0,2.876],[-2.876,0],[0,-2.876],[2.876,0]],"v":[[5.208,0],[0,5.208],[-5.208,0],[0,-5.208]],"c":true}]},{"t":57.6,"s":[{"i":[[0,-0.008],[0.008,0],[0,0.008],[-0.008,0]],"o":[[0,0.008],[-0.008,0],[0,-0.008],[0.008,0]],"v":[[0.014,0],[0,0.014],[-0.014,0],[0,-0.014]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[1.5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":52.8,"s":[1.5]},{"t":62.4,"s":[0]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":62.4,"st":4.8,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"nostrilA 2","parent":13,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":24.486,"ix":3},"y":{"a":0,"k":-1.84,"ix":4}},"a":{"a":0,"k":[0.952,1.321,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[-130,130,100]},{"t":38.4,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.522,0],[0,0.616],[0.522,0],[0,-0.616]],"o":[[0.522,0],[0,-0.616],[-0.522,0],[0,0.616]],"v":[[-0.041,1.143],[0.795,0.163],[-0.041,-0.952],[-0.878,0.163]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.952,1.321],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":true}],"ip":0,"op":38.4,"st":4.8,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"nostrilA","parent":13,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":30.936,"ix":3},"y":{"a":0,"k":-1.84,"ix":4}},"a":{"a":0,"k":[0.952,1.321,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[130,130,100]},{"t":38.4,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.522,0],[0,0.616],[0.522,0],[0,-0.616]],"o":[[0.522,0],[0,-0.616],[-0.522,0],[0,0.616]],"v":[[-0.041,1.143],[0.795,0.163],[-0.041,-0.952],[-0.878,0.163]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.952,1.321],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":true}],"ip":0,"op":38.4,"st":4.8,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"outline","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-0.001,0],"ix":2,"l":2},"a":{"a":0,"k":[26.505,26.505,0],"ix":1,"l":2},"s":{"a":0,"k":[300,300,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[6.471,0],[2.723,-2.392],[1.566,0],[0,0],[0,0.012],[1.177,1.034],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[-1.177,1.034],[0,0],[-0.001,-0.013],[-1.566,0],[-2.445,-2.147],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[24,-12.282],[12.329,-24],[4.1,-20.479],[0.001,-18.638],[0.001,-18.599],[-0.001,-18.638],[-4.1,-20.479],[-12.28,-23.996],[-24,-12.42],[-23.998,12.282],[-12.28,24],[12.282,24],[24,12.282]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.6,"s":[{"i":[[0,0],[6.471,0],[2.451,-2.153],[1.566,0],[0,0],[0,0.012],[1.059,0.931],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[-1.059,0.931],[0,0],[-0.001,-0.013],[-1.566,0],[-2.201,-1.932],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[23.433,-11.699],[11.762,-23.417],[3.933,-20.246],[0.001,-18.59],[0.001,-18.551],[-0.001,-18.59],[-3.933,-20.247],[-11.713,-23.413],[-23.433,-11.837],[-23.431,11.707],[-11.713,23.425],[11.715,23.425],[23.433,11.707]],"c":true}]},{"t":52.8,"s":[{"i":[[0,0],[6.471,0],[0,0],[1.566,0],[0,0],[0,0.012],[0,0],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[0,0],[0,0],[-0.001,-0.013],[-1.566,0],[0,0],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[18.333,-6.449],[6.662,-18.167],[2.433,-18.151],[0.001,-18.153],[0.001,-18.114],[-0.001,-18.153],[-2.433,-18.156],[-6.613,-18.163],[-18.333,-6.587],[-18.331,6.532],[-6.613,18.25],[6.615,18.25],[18.333,6.532]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[26.505,26.505],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":52.8,"st":4.8,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"mouth","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[3]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":4.8,"s":[3]},{"t":100.8,"s":[3.937]}],"ix":4}},"a":{"a":0,"k":[27.711,4.968,0],"ix":1,"l":2},"s":{"a":0,"k":[300,300,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.8,"s":[{"i":[[0,0],[-14.152,0],[0,0]],"o":[[0,0],[14.152,0],[0,0]],"v":[[-23.961,1.219],[0.001,-1.219],[23.961,1.219]],"c":false}]},{"t":48,"s":[{"i":[[0,0],[-14.152,0],[0,0]],"o":[[0,0],[14.152,0],[0,0]],"v":[[-23.961,-0.216],[0.001,-0.262],[23.961,-0.216]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":4.8,"s":[1.5]},{"t":81.6,"s":[2]}],"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[27.711,4.968],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":1,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"t":96,"s":[0]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":91.2,"st":14.4,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"rotate","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.627],"y":[0.78]},"o":{"x":[0.167],"y":[0.167]},"t":90,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.271],"y":[0.218]},"t":175,"s":[405]},{"t":6956,"s":[21270.775]}],"ix":10},"p":{"a":0,"k":[90,90,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.15,0.15,0.667],"y":[1,1,1]},"o":{"x":[0.246,0.246,0.333],"y":[0,0,0]},"t":90,"s":[100,100,100]},{"i":{"x":[0.517,0.517,0.667],"y":[1,1,1]},"o":{"x":[0.459,0.459,0.333],"y":[0,0,0]},"t":102,"s":[120,120,100]},{"t":175,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"ip":90,"op":7198,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"FrogAnim master","parent":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[150,150,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.799],"y":[0.611]},"o":{"x":[0.651],"y":[0.159]},"t":0,"s":[0]},{"i":{"x":[0.379],"y":[1]},"o":{"x":[0.116],"y":[0.836]},"t":26.469,"s":[0.608]},{"t":90,"s":[1]}],"ix":2},"w":300,"h":300,"ip":0,"op":7198,"st":0,"bm":0}],"markers":[{"tm":0,"cm":"1","dr":0},{"tm":90,"cm":"refresh","dr":0}]} \ No newline at end of file diff --git a/App/Resources/Lotties/getout_vP2_120.json b/App/Resources/Lotties/getout_vP2_120.json new file mode 100755 index 000000000..06dcb8158 --- /dev/null +++ b/App/Resources/Lotties/getout_vP2_120.json @@ -0,0 +1 @@ +{"v":"5.7.13","fr":120,"ip":0,"op":201,"w":260,"h":260,"nm":"_MainThrobber New 120","ddd":0,"assets":[{"id":"comp_0","nm":"Face Mask","layers":[{"ddd":0,"ind":1,"ty":3,"nm":"rotate","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.348],"y":[1]},"o":{"x":[0.161],"y":[0.53]},"t":0,"s":[33.333]},{"t":14.4,"s":[0]}],"ix":10},"p":{"a":0,"k":[54,54,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":235.2,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"main_mask","parent":1,"refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-24,18.75,0],"ix":2,"l":2},"a":{"a":0,"k":[47.25,82.25,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.637],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.344],"y":[0]},"t":14.4,"s":[0.2]},{"t":211.2,"s":[3.8]}],"ix":2},"w":135,"h":135,"ip":0,"op":225.6,"st":0,"bm":0}]},{"id":"comp_1","nm":"main_mask","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"eyeL","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-21.5,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[1],"y":[0]},"t":57.6,"s":[94]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":139.2,"s":[102.306]},{"t":374.4,"s":[94]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.414,0.414],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[0,0]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.385,0.385],"y":[0,0]},"t":23.892,"s":[16,16]},{"i":{"x":[0.766,0.766],"y":[0.538,0.538]},"o":{"x":[0.398,0.398],"y":[0,0]},"t":57.6,"s":[16,16]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[-15.144,-15.144]},"t":139.2,"s":[0,0]},{"i":{"x":[0.516,0.516],"y":[1,1]},"o":{"x":[0.358,0.358],"y":[0.872,0.872]},"t":374.4,"s":[0,0]},{"t":456,"s":[16,16]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":-14.4,"op":465.6,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"eyeR","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-21.5,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[1],"y":[0]},"t":57.6,"s":[60]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":139.2,"s":[68.306]},{"t":374.4,"s":[60]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.414,0.414],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[0,0]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.385,0.385],"y":[0,0]},"t":23.892,"s":[16,16]},{"i":{"x":[0.766,0.766],"y":[0.538,0.538]},"o":{"x":[0.398,0.398],"y":[0,0]},"t":57.6,"s":[16,16]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[-15.144,-15.144]},"t":139.2,"s":[0,0]},{"i":{"x":[0.516,0.516],"y":[1,1]},"o":{"x":[0.358,0.358],"y":[0.872,0.872]},"t":374.4,"s":[0,0]},{"t":456,"s":[16,16]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":-14.4,"op":465.6,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"Jaw Corner","parent":6,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"s":true,"x":{"a":0,"k":-1.75,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.583],"y":[0.46]},"o":{"x":[0.163],"y":[0]},"t":0,"s":[29.75]},{"i":{"x":[0.872],"y":[0.799]},"o":{"x":[0.438],"y":[0.371]},"t":4.8,"s":[34.589]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.082],"y":[0.254]},"t":9.6,"s":[42]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":19.2,"s":[49.55]},{"i":{"x":[0.765],"y":[0.591]},"o":{"x":[0.441],"y":[0]},"t":24,"s":[49.55]},{"i":{"x":[0.833],"y":[0.77]},"o":{"x":[0.423],"y":[0.311]},"t":38.4,"s":[52.25]},{"i":{"x":[0.833],"y":[0.836]},"o":{"x":[0.167],"y":[0.141]},"t":48,"s":[56.511]},{"i":{"x":[0.833],"y":[0.815]},"o":{"x":[0.167],"y":[0.175]},"t":62.4,"s":[66.97]},{"i":{"x":[0.833],"y":[0.851]},"o":{"x":[0.167],"y":[0.159]},"t":67.2,"s":[70.229]},{"i":{"x":[0.833],"y":[0.903]},"o":{"x":[0.167],"y":[0.188]},"t":76.8,"s":[77.8]},{"i":{"x":[0.667],"y":[1.389]},"o":{"x":[0.167],"y":[0.259]},"t":86.4,"s":[83.8]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0.152]},"t":105.6,"s":[88.3]},{"i":{"x":[0.564],"y":[0.903]},"o":{"x":[0.333],"y":[0]},"t":124.8,"s":[76.8]},{"i":{"x":[0.657],"y":[1.158]},"o":{"x":[0.297],"y":[0.596]},"t":192,"s":[29.941]},{"i":{"x":[0.765],"y":[0.605]},"o":{"x":[0.393],"y":[0.093]},"t":220.8,"s":[27.722]},{"i":{"x":[0.682],"y":[0.754]},"o":{"x":[0.322],"y":[0.331]},"t":249.6,"s":[32.044]},{"i":{"x":[0.812],"y":[0.807]},"o":{"x":[0.441],"y":[0.444]},"t":264,"s":[35.854]},{"i":{"x":[0.592],"y":[1]},"o":{"x":[0.218],"y":[0.553]},"t":292.8,"s":[41.7]},{"t":388.8,"s":[49.55]}],"ix":4}},"a":{"a":0,"k":[48,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-13,-13,100],"ix":6,"l":2}},"ao":0,"w":48,"h":48,"ip":0,"op":460.8,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"Lip Corner","parent":7,"refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0.7,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.215],"y":[0]},"t":0,"s":[30.9]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":9.6,"s":[31.2]},{"i":{"x":[0.838],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":24,"s":[31.2]},{"i":{"x":[0.833],"y":[0.533]},"o":{"x":[1],"y":[0]},"t":57.6,"s":[31.283]},{"i":{"x":[0.583],"y":[0.412]},"o":{"x":[0.167],"y":[0.145]},"t":76.8,"s":[31.75]},{"i":{"x":[0.833],"y":[0.801]},"o":{"x":[0.417],"y":[0.315]},"t":86.4,"s":[32.5]},{"i":{"x":[0.57],"y":[0.546]},"o":{"x":[0.175],"y":[0.142]},"t":96,"s":[33.9]},{"i":{"x":[0.706],"y":[0.797]},"o":{"x":[0.342],"y":[0.232]},"t":105.6,"s":[35.959]},{"i":{"x":[0.794],"y":[-1.24]},"o":{"x":[0.436],"y":[4.894]},"t":115.2,"s":[39.157]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":120,"s":[39.256]},{"i":{"x":[0.817],"y":[0.591]},"o":{"x":[0.448],"y":[0]},"t":288,"s":[39.089]},{"i":{"x":[0.833],"y":[0.888]},"o":{"x":[0.12],"y":[0.096]},"t":336,"s":[35.4]},{"i":{"x":[0.833],"y":[0.908]},"o":{"x":[0.167],"y":[0.329]},"t":350.4,"s":[32.3]},{"i":{"x":[0.575],"y":[1.021]},"o":{"x":[0.167],"y":[0.323]},"t":364.8,"s":[31.25]},{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.258],"y":[0.034]},"t":388.8,"s":[30.75]},{"t":456,"s":[31.283]}],"ix":4}},"a":{"a":0,"k":[48,0,0],"ix":1,"l":2},"s":{"a":0,"k":[13,13,100],"ix":6,"l":2}},"ao":0,"w":48,"h":48,"ip":0,"op":460.8,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":1,"nm":"Jaw","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.657],"y":[1]},"o":{"x":[0.195],"y":[0.379]},"t":0,"s":[-297.4]},{"i":{"x":[0.502],"y":[1]},"o":{"x":[0.502],"y":[0]},"t":19.2,"s":[-256.5]},{"i":{"x":[0.673],"y":[0.65]},"o":{"x":[0.333],"y":[0]},"t":24,"s":[-256.5]},{"i":{"x":[0.461],"y":[1]},"o":{"x":[0.184],"y":[0.654]},"t":182.4,"s":[0]},{"t":388.8,"s":[103.5]}],"ix":10},"p":{"a":0,"k":[47.057,83.476,0],"ix":2,"l":2},"a":{"a":0,"k":[0,112.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"sw":225,"sh":225,"sc":"#ff3838","ip":0,"op":480,"st":-216,"bm":0},{"ddd":0,"ind":7,"ty":1,"nm":"Upper Lip","tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.689],"y":[0.441]},"o":{"x":[0.368],"y":[0]},"t":57.6,"s":[-297.5]},{"i":{"x":[0.681],"y":[0.669]},"o":{"x":[0.336],"y":[0.31]},"t":182.4,"s":[-180]},{"i":{"x":[0.781],"y":[0.893]},"o":{"x":[0.327],"y":[0.599]},"t":225.6,"s":[-100.674]},{"i":{"x":[0.571],"y":[1]},"o":{"x":[0.237],"y":[0.586]},"t":364.8,"s":[43.794]},{"t":456,"s":[62.5]}],"ix":10},"p":{"a":0,"k":[47.057,83.476,0],"ix":2,"l":2},"a":{"a":0,"k":[0,112.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"sw":225,"sh":225,"sc":"#ff3838","ip":0,"op":480,"st":-216,"bm":0}]},{"id":"comp_2","nm":"Corner 2","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[24,24,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-53],[13.375,-18.625],[73.868,73.868]],"o":[[24.5,0],[-12,27.5],[0,-11.514]],"v":[[-19.75,-11.25],[-2.562,21.125],[25.125,-26.236]],"c":true}]},{"t":4.8,"s":[{"i":[[0,-53],[13.375,-18.625],[73.868,73.868]],"o":[[24.5,0],[-12,27.5],[0,-11.514]],"v":[[-19.75,-11.25],[-2.562,21.125],[25.125,-26.236]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":460.8,"st":0,"bm":0}]},{"id":"comp_3","nm":"Corner","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[24,24,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-54.625],[0,-31.75],[0,0]],"o":[[32,0],[43.625,0],[0,0]],"v":[[-24,-20.125],[18.875,24],[33.375,-32.111]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":460.8,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Face Mask","td":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[130,130,0],"ix":2,"l":2},"a":{"a":0,"k":[54,54,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.633,0.633,0.667],"y":[1,1,1]},"o":{"x":[0.38,0.38,0.332],"y":[0.65,0.65,0]},"t":0,"s":[50,50,100]},{"i":{"x":[0.496,0.496,0.667],"y":[1,1,1]},"o":{"x":[0.382,0.382,0.298],"y":[0,0,0]},"t":21,"s":[105,105,100]},{"i":{"x":[0.353,0.353,0.819],"y":[1,1,1]},"o":{"x":[0.372,0.372,0.333],"y":[0,0,0]},"t":36,"s":[97.5,97.5,100]},{"t":50,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.897],"y":[0.891]},"o":{"x":[0.167],"y":[0.167]},"t":5,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[0.123]},{"t":190,"s":[1.786]}],"ix":2},"w":108,"h":108,"ip":6,"op":210,"st":-152,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Blue Circ 2","tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[130,130,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.633,0.633,0.667],"y":[1,1,1]},"o":{"x":[0.38,0.38,0.332],"y":[0.65,0.65,0]},"t":0,"s":[50,50,100]},{"i":{"x":[0.528,0.528,0.667],"y":[1,1,1]},"o":{"x":[0.382,0.382,0.298],"y":[0,0,0]},"t":21,"s":[105,105,100]},{"i":{"x":[0.565,0.565,0.819],"y":[1,1,1]},"o":{"x":[0.36,0.36,0.333],"y":[0,0,0]},"t":36,"s":[97.5,97.5,100]},{"t":50,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"circ","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":6,"op":208,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Blue Circ","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[130,130,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.633,0.633,0.667],"y":[1,1,1]},"o":{"x":[0.38,0.38,0.332],"y":[0.65,0.65,0]},"t":0,"s":[50,50,100]},{"i":{"x":[0.528,0.528,0.667],"y":[1,1,1]},"o":{"x":[0.382,0.382,0.298],"y":[0,0,0]},"t":21,"s":[105,105,100]},{"i":{"x":[0.565,0.565,0.819],"y":[1,1,1]},"o":{"x":[0.36,0.36,0.333],"y":[0,0,0]},"t":36,"s":[97.5,97.5,100]},{"t":50,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"circ","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":6,"st":0,"bm":0}],"markers":[{"tm":50,"cm":"loop start","dr":0}]} \ No newline at end of file diff --git a/App/Resources/Lotties/getout_vP3_120.json b/App/Resources/Lotties/getout_vP3_120.json new file mode 100755 index 000000000..0413b2ad8 --- /dev/null +++ b/App/Resources/Lotties/getout_vP3_120.json @@ -0,0 +1 @@ +{"v":"5.7.13","fr":120,"ip":0,"op":7198,"w":180,"h":180,"nm":"_FrogRefresh 3x 120","ddd":0,"assets":[{"id":"comp_0","nm":"FrogAnim master","layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Rotate","hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.76],"y":[0.283]},"o":{"x":[0.397],"y":[0]},"t":38.4,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.162],"y":[0.128]},"t":76.8,"s":[20.301]},{"t":120,"s":[107]}],"ix":10},"p":{"a":0,"k":[150,150,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":38.4,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Scale","parent":1,"hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":9.6,"s":[97.6,97.6,100]},{"t":120,"s":[40,40,100]}],"ix":6,"l":2}},"ao":0,"ip":0,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"arrow","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[152]},{"t":120,"s":[117]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":81.6,"s":[-73.325,1.854,0],"to":[-0.507,0.591,0],"ti":[0.507,-0.591,0]},{"t":120,"s":[-76.366,5.397,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-50,50,0],"ix":1,"l":2},"s":{"a":0,"k":[250,250,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76.8,"s":[50]},{"t":120,"s":[45.5]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76.8,"s":[50]},{"t":120,"s":[54.5]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":81.6,"s":[3]},{"t":105.6,"s":[4]}],"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":76.8,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"circ","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":4.8,"s":[144,144]},{"t":120,"s":[60,60]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":35,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.347],"y":[0.155]},"t":62.4,"s":[0]},{"t":120,"s":[22]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":62.4,"s":[-162.631]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":67.2,"s":[-165.192]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[-166.996]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":76.8,"s":[-168.8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":91.2,"s":[-178]},{"t":120,"s":[-187]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":52.8,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"PupilA","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,17.26]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[400,400,100]},{"t":52.8,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-0.869],[0.869,0],[0,0.869],[-0.869,0]],"o":[[0,0.869],[-0.869,0],[0,-0.869],[0.869,0]],"v":[[1.573,0],[0,1.573],[-1.573,0],[0,-1.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57.6,"s":[{"i":[[0,-0.543],[0.543,0],[0,0.543],[-0.543,0]],"o":[[0,0.543],[-0.543,0],[0,-0.543],[0.543,0]],"v":[[0.984,0],[0,0.984],[-0.984,0],[0,-0.984]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.017],[0.017,0],[0,0.017],[-0.017,0]],"o":[[0,0.017],[-0.017,0],[0,-0.017],[0.017,0]],"v":[[0.031,0],[0,0.031],[-0.031,0],[0,-0.031]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"PupilA_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":57.6,"st":-67.2,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"PupilB","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,17.26]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[400,400,100]},{"t":52.8,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-0.869],[0.869,0],[0,0.869],[-0.869,0]],"o":[[0,0.869],[-0.869,0],[0,-0.869],[0.869,0]],"v":[[1.573,0],[0,1.573],[-1.573,0],[0,-1.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57.6,"s":[{"i":[[0,-0.543],[0.543,0],[0,0.543],[-0.543,0]],"o":[[0,0.543],[-0.543,0],[0,-0.543],[0.543,0]],"v":[[0.984,0],[0,0.984],[-0.984,0],[0,-0.984]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.017],[0.017,0],[0,0.017],[-0.017,0]],"o":[[0,0.017],[-0.017,0],[0,-0.017],[0.017,0]],"v":[[0.031,0],[0,0.031],[-0.031,0],[0,-0.031]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"PupilB_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":57.6,"st":-67.2,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"EyeA","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[325,325,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-2.876],[2.876,0],[0,2.876],[-2.876,0]],"o":[[0,2.876],[-2.876,0],[0,-2.876],[2.876,0]],"v":[[5.208,0],[0,5.208],[-5.208,0],[0,-5.208]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52.8,"s":[{"i":[[0,-0.247],[0.247,0],[0,0.247],[-0.247,0]],"o":[[0,0.247],[-0.247,0],[0,-0.247],[0.247,0]],"v":[[0.447,0],[0,0.447],[-0.447,0],[0,-0.447]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.244],[0.244,0],[0,0.244],[-0.244,0]],"o":[[0,0.244],[-0.244,0],[0,-0.244],[0.244,0]],"v":[[0.441,0],[0,0.441],[-0.441,0],[0,-0.441]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":0,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":52.8,"s":[1.5]},{"t":62.4,"s":[0]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Outline","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"EyeA_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":62.4,"st":-67.2,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"EyeB","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[-325,325,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-2.876],[2.876,0],[0,2.876],[-2.876,0]],"o":[[0,2.876],[-2.876,0],[0,-2.876],[2.876,0]],"v":[[5.208,0],[0,5.208],[-5.208,0],[0,-5.208]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52.8,"s":[{"i":[[0,-0.247],[0.247,0],[0,0.247],[-0.247,0]],"o":[[0,0.247],[-0.247,0],[0,-0.247],[0.247,0]],"v":[[0.447,0],[0,0.447],[-0.447,0],[0,-0.447]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.244],[0.244,0],[0,0.244],[-0.244,0]],"o":[[0,0.244],[-0.244,0],[0,-0.244],[0.244,0]],"v":[[0.441,0],[0,0.441],[-0.441,0],[0,-0.441]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":0,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":52.8,"s":[1.5]},{"t":62.4,"s":[0]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Outline","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"EyeB_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":62.4,"st":-67.2,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"nostrilA","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":24.486,"ix":3},"y":{"a":0,"k":-2.25,"ix":4}},"a":{"a":0,"k":[0.952,1.321,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[-130,130,100]},{"t":38.4,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.522,0],[0,0.616],[0.522,0],[0,-0.616]],"o":[[0.522,0],[0,-0.616],[-0.522,0],[0,0.616]],"v":[[-0.041,1.143],[0.795,0.163],[-0.041,-0.952],[-0.878,0.163]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.952,1.321],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":true}],"ip":0,"op":38.4,"st":-67.2,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"nostrilB","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":30.936,"ix":3},"y":{"a":0,"k":-2.25,"ix":4}},"a":{"a":0,"k":[0.952,1.321,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[130,130,100]},{"t":38.4,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.522,0],[0,0.616],[0.522,0],[0,-0.616]],"o":[[0.522,0],[0,-0.616],[-0.522,0],[0,0.616]],"v":[[-0.041,1.143],[0.795,0.163],[-0.041,-0.952],[-0.878,0.163]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.952,1.321],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":true}],"ip":0,"op":38.4,"st":-67.2,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"mouth","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[3]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":4.8,"s":[3]},{"t":100.8,"s":[3.937]}],"ix":4}},"a":{"a":0,"k":[27.711,4.968,0],"ix":1,"l":2},"s":{"a":0,"k":[300,300,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.8,"s":[{"i":[[0,0],[-14.152,0],[0,0]],"o":[[0,0],[14.152,0],[0,0]],"v":[[-23.961,1.219],[0.001,-1.219],[23.961,1.219]],"c":false}]},{"t":48,"s":[{"i":[[0,0],[-14.152,0],[0,0]],"o":[[0,0],[14.152,0],[0,0]],"v":[[-23.961,-0.216],[0.001,-0.262],[23.961,-0.216]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":4.8,"s":[1.5]},{"t":81.6,"s":[2]}],"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[27.711,4.968],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":1,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"t":96,"s":[0]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":91.2,"st":-57.6,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"outline","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-0.001,0],"ix":2,"l":2},"a":{"a":0,"k":[26.505,26.505,0],"ix":1,"l":2},"s":{"a":0,"k":[300,300,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[6.471,0],[2.723,-2.392],[1.566,0],[0,0],[0,0.012],[1.177,1.034],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[-1.177,1.034],[0,0],[-0.001,-0.013],[-1.566,0],[-2.445,-2.147],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[24,-12.282],[12.329,-24],[4.1,-20.479],[0.001,-18.638],[0.001,-18.599],[-0.001,-18.638],[-4.1,-20.479],[-12.28,-23.996],[-24,-12.42],[-23.998,12.282],[-12.28,24],[12.282,24],[24,12.282]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.6,"s":[{"i":[[0,0],[6.471,0],[2.451,-2.153],[1.566,0],[0,0],[0,0.012],[1.059,0.931],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[-1.059,0.931],[0,0],[-0.001,-0.013],[-1.566,0],[-2.201,-1.932],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[23.433,-11.699],[11.762,-23.417],[3.933,-20.246],[0.001,-18.59],[0.001,-18.551],[-0.001,-18.59],[-3.933,-20.247],[-11.713,-23.413],[-23.433,-11.837],[-23.431,11.707],[-11.713,23.425],[11.715,23.425],[23.433,11.707]],"c":true}]},{"t":52.8,"s":[{"i":[[0,0],[6.471,0],[0,0],[1.566,0],[0,0],[0,0.012],[0,0],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[0,0],[0,0],[-0.001,-0.013],[-1.566,0],[0,0],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[18.333,-6.449],[6.662,-18.167],[2.433,-18.151],[0.001,-18.153],[0.001,-18.114],[-0.001,-18.153],[-2.433,-18.156],[-6.613,-18.163],[-18.333,-6.587],[-18.331,6.532],[-6.613,18.25],[6.615,18.25],[18.333,6.532]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[26.505,26.505],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":52.8,"st":-67.2,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"rotate","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.627],"y":[0.78]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.747],"y":[0.745]},"t":135,"s":[405]},{"t":7197,"s":[21270.775]}],"ix":10},"p":{"a":0,"k":[90,90,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.15,0.15,0.667],"y":[1,1,1]},"o":{"x":[0.246,0.246,0.333],"y":[0,0,0]},"t":50,"s":[100,100,100]},{"i":{"x":[0.517,0.517,0.667],"y":[1,1,1]},"o":{"x":[0.459,0.459,0.333],"y":[0,0,0]},"t":62,"s":[120,120,100]},{"t":135,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"ip":50,"op":7198,"st":-40,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"FrogAnim master","parent":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[150,150,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.799],"y":[0.602]},"o":{"x":[0.651],"y":[0.159]},"t":0,"s":[0]},{"i":{"x":[0.495],"y":[1]},"o":{"x":[0.217],"y":[0.591]},"t":26.469,"s":[0.608]},{"t":50,"s":[1]}],"ix":2},"w":300,"h":300,"ip":0,"op":7198,"st":0,"bm":0}],"markers":[{"tm":0,"cm":"1","dr":0},{"tm":50,"cm":"refresh","dr":0}]} \ No newline at end of file diff --git a/App/Resources/Lotties/getout_vP_120.json b/App/Resources/Lotties/getout_vP_120.json new file mode 100755 index 000000000..63cedb955 --- /dev/null +++ b/App/Resources/Lotties/getout_vP_120.json @@ -0,0 +1 @@ +{"v":"5.7.13","fr":120,"ip":0,"op":7198,"w":180,"h":180,"nm":"_FrogRefresh 3x 120","ddd":0,"assets":[{"id":"comp_0","nm":"FrogAnim master","layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Rotate","hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.76],"y":[0.283]},"o":{"x":[0.397],"y":[0]},"t":38.4,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.162],"y":[0.128]},"t":76.8,"s":[20.301]},{"t":120,"s":[107]}],"ix":10},"p":{"a":0,"k":[150,150,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":38.4,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Scale","parent":1,"hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":9.6,"s":[97.6,97.6,100]},{"t":120,"s":[40,40,100]}],"ix":6,"l":2}},"ao":0,"ip":0,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"arrow","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[152]},{"t":120,"s":[117]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":81.6,"s":[-73.325,1.854,0],"to":[-0.507,0.591,0],"ti":[0.507,-0.591,0]},{"t":120,"s":[-76.366,5.397,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-50,50,0],"ix":1,"l":2},"s":{"a":0,"k":[250,250,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76.8,"s":[50]},{"t":120,"s":[45.5]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76.8,"s":[50]},{"t":120,"s":[54.5]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":81.6,"s":[3]},{"t":105.6,"s":[4]}],"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":76.8,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"circ","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":4.8,"s":[144,144]},{"t":120,"s":[60,60]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":35,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.347],"y":[0.155]},"t":62.4,"s":[0]},{"t":120,"s":[22]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":62.4,"s":[-162.631]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":67.2,"s":[-165.192]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[-166.996]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":76.8,"s":[-168.8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":91.2,"s":[-178]},{"t":120,"s":[-187]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":52.8,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"PupilA","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,17.26]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[400,400,100]},{"t":52.8,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-0.869],[0.869,0],[0,0.869],[-0.869,0]],"o":[[0,0.869],[-0.869,0],[0,-0.869],[0.869,0]],"v":[[1.573,0],[0,1.573],[-1.573,0],[0,-1.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57.6,"s":[{"i":[[0,-0.543],[0.543,0],[0,0.543],[-0.543,0]],"o":[[0,0.543],[-0.543,0],[0,-0.543],[0.543,0]],"v":[[0.984,0],[0,0.984],[-0.984,0],[0,-0.984]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.017],[0.017,0],[0,0.017],[-0.017,0]],"o":[[0,0.017],[-0.017,0],[0,-0.017],[0.017,0]],"v":[[0.031,0],[0,0.031],[-0.031,0],[0,-0.031]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"PupilA_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":57.6,"st":-67.2,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"PupilB","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,17.26]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[400,400,100]},{"t":52.8,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-0.869],[0.869,0],[0,0.869],[-0.869,0]],"o":[[0,0.869],[-0.869,0],[0,-0.869],[0.869,0]],"v":[[1.573,0],[0,1.573],[-1.573,0],[0,-1.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57.6,"s":[{"i":[[0,-0.543],[0.543,0],[0,0.543],[-0.543,0]],"o":[[0,0.543],[-0.543,0],[0,-0.543],[0.543,0]],"v":[[0.984,0],[0,0.984],[-0.984,0],[0,-0.984]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.017],[0.017,0],[0,0.017],[-0.017,0]],"o":[[0,0.017],[-0.017,0],[0,-0.017],[0.017,0]],"v":[[0.031,0],[0,0.031],[-0.031,0],[0,-0.031]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"PupilB_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":57.6,"st":-67.2,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"EyeA","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[325,325,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-2.876],[2.876,0],[0,2.876],[-2.876,0]],"o":[[0,2.876],[-2.876,0],[0,-2.876],[2.876,0]],"v":[[5.208,0],[0,5.208],[-5.208,0],[0,-5.208]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52.8,"s":[{"i":[[0,-0.247],[0.247,0],[0,0.247],[-0.247,0]],"o":[[0,0.247],[-0.247,0],[0,-0.247],[0.247,0]],"v":[[0.447,0],[0,0.447],[-0.447,0],[0,-0.447]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.244],[0.244,0],[0,0.244],[-0.244,0]],"o":[[0,0.244],[-0.244,0],[0,-0.244],[0.244,0]],"v":[[0.441,0],[0,0.441],[-0.441,0],[0,-0.441]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":52.8,"s":[1.5]},{"t":62.4,"s":[0]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Outline","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"EyeA_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":62.4,"st":-67.2,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"EyeB","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[-325,325,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-2.876],[2.876,0],[0,2.876],[-2.876,0]],"o":[[0,2.876],[-2.876,0],[0,-2.876],[2.876,0]],"v":[[5.208,0],[0,5.208],[-5.208,0],[0,-5.208]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52.8,"s":[{"i":[[0,-0.247],[0.247,0],[0,0.247],[-0.247,0]],"o":[[0,0.247],[-0.247,0],[0,-0.247],[0.247,0]],"v":[[0.447,0],[0,0.447],[-0.447,0],[0,-0.447]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.244],[0.244,0],[0,0.244],[-0.244,0]],"o":[[0,0.244],[-0.244,0],[0,-0.244],[0.244,0]],"v":[[0.441,0],[0,0.441],[-0.441,0],[0,-0.441]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":52.8,"s":[1.5]},{"t":62.4,"s":[0]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Outline","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"EyeB_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":62.4,"st":-67.2,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"nostrilA","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":24.486,"ix":3},"y":{"a":0,"k":-1.84,"ix":4}},"a":{"a":0,"k":[0.952,1.321,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[-130,130,100]},{"t":38.4,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.522,0],[0,0.616],[0.522,0],[0,-0.616]],"o":[[0.522,0],[0,-0.616],[-0.522,0],[0,0.616]],"v":[[-0.041,1.143],[0.795,0.163],[-0.041,-0.952],[-0.878,0.163]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.952,1.321],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":true}],"ip":0,"op":38.4,"st":-67.2,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"nostrilB","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":30.936,"ix":3},"y":{"a":0,"k":-1.84,"ix":4}},"a":{"a":0,"k":[0.952,1.321,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[130,130,100]},{"t":38.4,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.522,0],[0,0.616],[0.522,0],[0,-0.616]],"o":[[0.522,0],[0,-0.616],[-0.522,0],[0,0.616]],"v":[[-0.041,1.143],[0.795,0.163],[-0.041,-0.952],[-0.878,0.163]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.952,1.321],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":true}],"ip":0,"op":38.4,"st":-67.2,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"mouth","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[3]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":4.8,"s":[3]},{"t":100.8,"s":[3.937]}],"ix":4}},"a":{"a":0,"k":[27.711,4.968,0],"ix":1,"l":2},"s":{"a":0,"k":[300,300,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.8,"s":[{"i":[[0,0],[-14.152,0],[0,0]],"o":[[0,0],[14.152,0],[0,0]],"v":[[-23.961,1.219],[0.001,-1.219],[23.961,1.219]],"c":false}]},{"t":48,"s":[{"i":[[0,0],[-14.152,0],[0,0]],"o":[[0,0],[14.152,0],[0,0]],"v":[[-23.961,-0.216],[0.001,-0.262],[23.961,-0.216]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":4.8,"s":[1.5]},{"t":81.6,"s":[2]}],"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[27.711,4.968],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":1,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"t":96,"s":[0]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":91.2,"st":-57.6,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"outline","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-0.001,0],"ix":2,"l":2},"a":{"a":0,"k":[26.505,26.505,0],"ix":1,"l":2},"s":{"a":0,"k":[300,300,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[6.471,0],[2.723,-2.392],[1.566,0],[0,0],[0,0.012],[1.177,1.034],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[-1.177,1.034],[0,0],[-0.001,-0.013],[-1.566,0],[-2.445,-2.147],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[24,-12.282],[12.329,-24],[4.1,-20.479],[0.001,-18.638],[0.001,-18.599],[-0.001,-18.638],[-4.1,-20.479],[-12.28,-23.996],[-24,-12.42],[-23.998,12.282],[-12.28,24],[12.282,24],[24,12.282]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.6,"s":[{"i":[[0,0],[6.471,0],[2.451,-2.153],[1.566,0],[0,0],[0,0.012],[1.059,0.931],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[-1.059,0.931],[0,0],[-0.001,-0.013],[-1.566,0],[-2.201,-1.932],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[23.433,-11.699],[11.762,-23.417],[3.933,-20.246],[0.001,-18.59],[0.001,-18.551],[-0.001,-18.59],[-3.933,-20.247],[-11.713,-23.413],[-23.433,-11.837],[-23.431,11.707],[-11.713,23.425],[11.715,23.425],[23.433,11.707]],"c":true}]},{"t":52.8,"s":[{"i":[[0,0],[6.471,0],[0,0],[1.566,0],[0,0],[0,0.012],[0,0],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[0,0],[0,0],[-0.001,-0.013],[-1.566,0],[0,0],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[18.333,-6.449],[6.662,-18.167],[2.433,-18.151],[0.001,-18.153],[0.001,-18.114],[-0.001,-18.153],[-2.433,-18.156],[-6.613,-18.163],[-18.333,-6.587],[-18.331,6.532],[-6.613,18.25],[6.615,18.25],[18.333,6.532]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[26.505,26.505],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":52.8,"st":-67.2,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"rotate","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.627],"y":[0.78]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.747],"y":[0.745]},"t":135,"s":[405]},{"t":7197,"s":[21270.775]}],"ix":10},"p":{"a":0,"k":[90,90,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.15,0.15,0.667],"y":[1,1,1]},"o":{"x":[0.246,0.246,0.333],"y":[0,0,0]},"t":50,"s":[100,100,100]},{"i":{"x":[0.517,0.517,0.667],"y":[1,1,1]},"o":{"x":[0.459,0.459,0.333],"y":[0,0,0]},"t":62,"s":[120,120,100]},{"t":135,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"ip":50,"op":7198,"st":-40,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"FrogAnim master","parent":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[150,150,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.799],"y":[0.602]},"o":{"x":[0.651],"y":[0.159]},"t":0,"s":[0]},{"i":{"x":[0.495],"y":[1]},"o":{"x":[0.217],"y":[0.591]},"t":26.469,"s":[0.608]},{"t":50,"s":[1]}],"ix":2},"w":300,"h":300,"ip":0,"op":7198,"st":0,"bm":0}],"markers":[{"tm":0,"cm":"1","dr":0},{"tm":50,"cm":"refresh","dr":0}]} \ No newline at end of file diff --git a/App/Resources/Lotties/getout_vZ_120.json b/App/Resources/Lotties/getout_vZ_120.json new file mode 100755 index 000000000..00b2c6aba --- /dev/null +++ b/App/Resources/Lotties/getout_vZ_120.json @@ -0,0 +1 @@ +{"v":"5.7.13","fr":120,"ip":0,"op":7198,"w":180,"h":180,"nm":"_FrogRefresh 3x 120","ddd":0,"assets":[{"id":"comp_0","nm":"FrogAnim master","layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Rotate","hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.76],"y":[0.283]},"o":{"x":[0.397],"y":[0]},"t":38.4,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.162],"y":[0.128]},"t":76.8,"s":[20.301]},{"t":120,"s":[107]}],"ix":10},"p":{"a":0,"k":[150,150,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":38.4,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Scale","parent":1,"hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":9.6,"s":[97.6,97.6,100]},{"t":120,"s":[40,40,100]}],"ix":6,"l":2}},"ao":0,"ip":0,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"arrow","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[152]},{"t":120,"s":[117]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":81.6,"s":[-73.325,1.854,0],"to":[-0.507,0.591,0],"ti":[0.507,-0.591,0]},{"t":120,"s":[-76.366,5.397,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-50,50,0],"ix":1,"l":2},"s":{"a":0,"k":[250,250,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76.8,"s":[50]},{"t":120,"s":[45.5]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76.8,"s":[50]},{"t":120,"s":[54.5]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":81.6,"s":[3]},{"t":105.6,"s":[4]}],"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":76.8,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"circ","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":4.8,"s":[144,144]},{"t":120,"s":[60,60]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":35,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.347],"y":[0.155]},"t":62.4,"s":[0]},{"t":120,"s":[22]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":62.4,"s":[-162.631]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":67.2,"s":[-165.192]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[-166.996]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":76.8,"s":[-168.8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":91.2,"s":[-178]},{"t":120,"s":[-187]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":52.8,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"PupilA","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,17.26]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[400,400,100]},{"t":52.8,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-0.869],[0.869,0],[0,0.869],[-0.869,0]],"o":[[0,0.869],[-0.869,0],[0,-0.869],[0.869,0]],"v":[[1.573,0],[0,1.573],[-1.573,0],[0,-1.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57.6,"s":[{"i":[[0,-0.543],[0.543,0],[0,0.543],[-0.543,0]],"o":[[0,0.543],[-0.543,0],[0,-0.543],[0.543,0]],"v":[[0.984,0],[0,0.984],[-0.984,0],[0,-0.984]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.017],[0.017,0],[0,0.017],[-0.017,0]],"o":[[0,0.017],[-0.017,0],[0,-0.017],[0.017,0]],"v":[[0.031,0],[0,0.031],[-0.031,0],[0,-0.031]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"PupilA_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":57.6,"st":-67.2,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"PupilB","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,17.26]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[400,400,100]},{"t":52.8,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-0.869],[0.869,0],[0,0.869],[-0.869,0]],"o":[[0,0.869],[-0.869,0],[0,-0.869],[0.869,0]],"v":[[1.573,0],[0,1.573],[-1.573,0],[0,-1.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57.6,"s":[{"i":[[0,-0.543],[0.543,0],[0,0.543],[-0.543,0]],"o":[[0,0.543],[-0.543,0],[0,-0.543],[0.543,0]],"v":[[0.984,0],[0,0.984],[-0.984,0],[0,-0.984]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.017],[0.017,0],[0,0.017],[-0.017,0]],"o":[[0,0.017],[-0.017,0],[0,-0.017],[0.017,0]],"v":[[0.031,0],[0,0.031],[-0.031,0],[0,-0.031]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"PupilB_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":57.6,"st":-67.2,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"EyeA","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[325,325,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-2.876],[2.876,0],[0,2.876],[-2.876,0]],"o":[[0,2.876],[-2.876,0],[0,-2.876],[2.876,0]],"v":[[5.208,0],[0,5.208],[-5.208,0],[0,-5.208]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52.8,"s":[{"i":[[0,-0.247],[0.247,0],[0,0.247],[-0.247,0]],"o":[[0,0.247],[-0.247,0],[0,-0.247],[0.247,0]],"v":[[0.447,0],[0,0.447],[-0.447,0],[0,-0.447]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.244],[0.244,0],[0,0.244],[-0.244,0]],"o":[[0,0.244],[-0.244,0],[0,-0.244],[0.244,0]],"v":[[0.441,0],[0,0.441],[-0.441,0],[0,-0.441]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":52.8,"s":[1.5]},{"t":62.4,"s":[0]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"EyeA_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":62.4,"st":-67.2,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"EyeB","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[-325,325,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-2.876],[2.876,0],[0,2.876],[-2.876,0]],"o":[[0,2.876],[-2.876,0],[0,-2.876],[2.876,0]],"v":[[5.208,0],[0,5.208],[-5.208,0],[0,-5.208]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52.8,"s":[{"i":[[0,-0.247],[0.247,0],[0,0.247],[-0.247,0]],"o":[[0,0.247],[-0.247,0],[0,-0.247],[0.247,0]],"v":[[0.447,0],[0,0.447],[-0.447,0],[0,-0.447]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.244],[0.244,0],[0,0.244],[-0.244,0]],"o":[[0,0.244],[-0.244,0],[0,-0.244],[0.244,0]],"v":[[0.441,0],[0,0.441],[-0.441,0],[0,-0.441]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":52.8,"s":[1.5]},{"t":62.4,"s":[0]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"EyeB_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":62.4,"st":-67.2,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"nostrilA","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":24.486,"ix":3},"y":{"a":0,"k":-1.84,"ix":4}},"a":{"a":0,"k":[0.952,1.321,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[-130,130,100]},{"t":38.4,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.522,0],[0,0.616],[0.522,0],[0,-0.616]],"o":[[0.522,0],[0,-0.616],[-0.522,0],[0,0.616]],"v":[[-0.041,1.143],[0.795,0.163],[-0.041,-0.952],[-0.878,0.163]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.952,1.321],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":true}],"ip":0,"op":38.4,"st":-67.2,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"nostrilB","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":30.936,"ix":3},"y":{"a":0,"k":-1.84,"ix":4}},"a":{"a":0,"k":[0.952,1.321,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[130,130,100]},{"t":38.4,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.522,0],[0,0.616],[0.522,0],[0,-0.616]],"o":[[0.522,0],[0,-0.616],[-0.522,0],[0,0.616]],"v":[[-0.041,1.143],[0.795,0.163],[-0.041,-0.952],[-0.878,0.163]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.952,1.321],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":true}],"ip":0,"op":38.4,"st":-67.2,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"mouth","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[3]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":4.8,"s":[3]},{"t":100.8,"s":[3.937]}],"ix":4}},"a":{"a":0,"k":[27.711,4.968,0],"ix":1,"l":2},"s":{"a":0,"k":[300,300,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.8,"s":[{"i":[[0,0],[-14.152,0],[0,0]],"o":[[0,0],[14.152,0],[0,0]],"v":[[-23.961,1.219],[0.001,-1.219],[23.961,1.219]],"c":false}]},{"t":48,"s":[{"i":[[0,0],[-14.152,0],[0,0]],"o":[[0,0],[14.152,0],[0,0]],"v":[[-23.961,-0.216],[0.001,-0.262],[23.961,-0.216]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":4.8,"s":[1.5]},{"t":81.6,"s":[2]}],"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[27.711,4.968],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":1,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"t":96,"s":[0]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":91.2,"st":-57.6,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"outline","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-0.001,0],"ix":2,"l":2},"a":{"a":0,"k":[26.505,26.505,0],"ix":1,"l":2},"s":{"a":0,"k":[300,300,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[6.471,0],[2.723,-2.392],[1.566,0],[0,0],[0,0.012],[1.177,1.034],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[-1.177,1.034],[0,0],[-0.001,-0.013],[-1.566,0],[-2.445,-2.147],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[24,-12.282],[12.329,-24],[4.1,-20.479],[0.001,-18.638],[0.001,-18.599],[-0.001,-18.638],[-4.1,-20.479],[-12.28,-23.996],[-24,-12.42],[-23.998,12.282],[-12.28,24],[12.282,24],[24,12.282]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.6,"s":[{"i":[[0,0],[6.471,0],[2.451,-2.153],[1.566,0],[0,0],[0,0.012],[1.059,0.931],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[-1.059,0.931],[0,0],[-0.001,-0.013],[-1.566,0],[-2.201,-1.932],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[23.433,-11.699],[11.762,-23.417],[3.933,-20.246],[0.001,-18.59],[0.001,-18.551],[-0.001,-18.59],[-3.933,-20.247],[-11.713,-23.413],[-23.433,-11.837],[-23.431,11.707],[-11.713,23.425],[11.715,23.425],[23.433,11.707]],"c":true}]},{"t":52.8,"s":[{"i":[[0,0],[6.471,0],[0,0],[1.566,0],[0,0],[0,0.012],[0,0],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[0,0],[0,0],[-0.001,-0.013],[-1.566,0],[0,0],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[18.333,-6.449],[6.662,-18.167],[2.433,-18.151],[0.001,-18.153],[0.001,-18.114],[-0.001,-18.153],[-2.433,-18.156],[-6.613,-18.163],[-18.333,-6.587],[-18.331,6.532],[-6.613,18.25],[6.615,18.25],[18.333,6.532]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[26.505,26.505],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":52.8,"st":-67.2,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"rotate","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.627],"y":[0.78]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.747],"y":[0.745]},"t":135,"s":[405]},{"t":7197,"s":[21270.775]}],"ix":10},"p":{"a":0,"k":[90,90,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.15,0.15,0.667],"y":[1,1,1]},"o":{"x":[0.246,0.246,0.333],"y":[0,0,0]},"t":50,"s":[100,100,100]},{"i":{"x":[0.517,0.517,0.667],"y":[1,1,1]},"o":{"x":[0.459,0.459,0.333],"y":[0,0,0]},"t":62,"s":[120,120,100]},{"t":135,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"ip":50,"op":7198,"st":-40,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"FrogAnim master","parent":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[150,150,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.799],"y":[0.602]},"o":{"x":[0.651],"y":[0.159]},"t":0,"s":[0]},{"i":{"x":[0.495],"y":[1]},"o":{"x":[0.217],"y":[0.591]},"t":26.469,"s":[0.608]},{"t":50,"s":[1]}],"ix":2},"w":300,"h":300,"ip":0,"op":7198,"st":0,"bm":0}],"markers":[{"tm":0,"cm":"1","dr":0},{"tm":50,"cm":"refresh","dr":0}]} \ No newline at end of file diff --git a/App/Resources/Lotties/niggly120.json b/App/Resources/Lotties/niggly120.json new file mode 100755 index 000000000..5dd3f834a --- /dev/null +++ b/App/Resources/Lotties/niggly120.json @@ -0,0 +1 @@ +{"v":"5.7.13","fr":120,"ip":0,"op":141,"w":108,"h":108,"nm":"_ niggly 3x 120","ddd":0,"assets":[{"id":"comp_0","nm":"_ throbber :0","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Main Niggly","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":40,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.772],"y":[0]},"t":43.2,"s":[40]},{"i":{"x":[0.194],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":67.2,"s":[40.594]},{"t":91.2,"s":[40]}],"ix":4}},"a":{"a":0,"k":[40,40,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":80,"h":80,"ip":0,"op":148.8,"st":0,"bm":0}]},{"id":"comp_1","nm":"Main Niggly","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"MOUTH ROT","parent":5,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-177,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":67.2,"s":[0.941]},{"t":86.4,"s":[-0.345]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":67.2,"s":[9.692]},{"t":86.4,"s":[9.893]}],"ix":4}},"a":{"a":0,"k":[3.5,3.5,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"w":7,"h":7,"ip":67.2,"op":168,"st":-9.6,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"mouth","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-133,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":86.4,"s":[-0.133,0.788,0],"to":[0.022,-0.131,0],"ti":[-0.022,0.131,0]},{"t":100.8,"s":[0,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[23,23],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.826],"y":[0.677]},"o":{"x":[0.333],"y":[0]},"t":86.4,"s":[50]},{"i":{"x":[0.757],"y":[1]},"o":{"x":[0.375],"y":[0.283]},"t":100.8,"s":[53.922]},{"i":{"x":[0.435],"y":[1]},"o":{"x":[0.314],"y":[0]},"t":124.8,"s":[70]},{"t":139.2,"s":[68]}],"ix":1},"e":{"a":0,"k":32,"ix":2,"x":"var $bm_rt;\n$bm_rt = $bm_sub(100, content('Trim Paths 1').start);"},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":86.4,"s":[7]},{"i":{"x":[0.508],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":100.8,"s":[4]},{"t":120,"s":[2.5]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":86.4,"op":168,"st":-24,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"mouth","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":43.2,"s":[0,0,0],"to":[0.033,-0.267,0],"ti":[-0.033,0.267,0]},{"t":67.2,"s":[0.2,-1.6,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[23,23],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.717],"y":[0.452]},"o":{"x":[0.418],"y":[0]},"t":19.2,"s":[68]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.138],"y":[0.12]},"t":38.4,"s":[62.291]},{"i":{"x":[0.883],"y":[0.88]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[55.948]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.2],"y":[0.624]},"t":52.8,"s":[52.948]},{"t":67.2,"s":[50]}],"ix":1},"e":{"a":0,"k":32,"ix":2,"x":"var $bm_rt;\n$bm_rt = $bm_sub(100, content('Trim Paths 1').start);"},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.492],"y":[0]},"t":28.8,"s":[2.5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[4]},{"t":67.2,"s":[7]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":67.2,"st":-100.8,"bm":0},{"ddd":0,"ind":4,"ty":3,"nm":"eye rotate","hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.745],"y":[0.523]},"o":{"x":[0.559],"y":[0]},"t":43.2,"s":[0]},{"i":{"x":[0.391],"y":[1]},"o":{"x":[0.171],"y":[0.522]},"t":67.2,"s":[48]},{"t":105.6,"s":[95]}],"ix":10},"p":{"a":0,"k":[40,40,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":168,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":3,"nm":"mouth rotate","hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.816],"y":[0.511]},"o":{"x":[0.681],"y":[0]},"t":43.2,"s":[0]},{"i":{"x":[0.385],"y":[1]},"o":{"x":[0.159],"y":[0.672]},"t":67.2,"s":[66.35]},{"t":105.6,"s":[133]}],"ix":10},"p":{"a":0,"k":[40,40,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":168,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"EYE ROT","parent":4,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-44,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":43.2,"s":[-7]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":67.2,"s":[-7.97]},{"t":86.4,"s":[-7.709]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.837],"y":[0.546]},"o":{"x":[0.333],"y":[0]},"t":43.2,"s":[-7]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.228],"y":[0.132]},"t":67.2,"s":[-6.84]},{"t":86.4,"s":[-6.224]}],"ix":4}},"a":{"a":0,"k":[3.5,3.5,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"w":7,"h":7,"ip":0,"op":168,"st":-9.6,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"MOTH ROT","parent":5,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":51,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.909],"y":[0.89]},"o":{"x":[0.333],"y":[0]},"t":43.2,"s":[6.872]},{"i":{"x":[0.438],"y":[1]},"o":{"x":[0.131],"y":[0.74]},"t":67.2,"s":[8.062]},{"t":86.4,"s":[8.267]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":43.2,"s":[-7.137]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":67.2,"s":[-6.568]},{"t":86.4,"s":[-7.187]}],"ix":4}},"a":{"a":0,"k":[3.5,3.5,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"w":7,"h":7,"ip":0,"op":86.4,"st":-9.6,"bm":0}]},{"id":"comp_2","nm":"Eye Eye","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[3.5,3.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[7,7],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":177.6,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"outline","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[54,54,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[80,80],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":141,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"_ throbber :0","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[54,54,0],"ix":2,"l":2},"a":{"a":0,"k":[40,40,0],"ix":1,"l":2},"s":{"a":0,"k":[190,190,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":141,"s":[1.24]}],"ix":2},"w":80,"h":80,"ip":0,"op":141,"st":0,"bm":0}],"markers":[{"tm":64,"cm":"1","dr":0}]} \ No newline at end of file diff --git a/App/Resources/Lotties/niggly3x120.json b/App/Resources/Lotties/niggly3x120.json new file mode 100755 index 000000000..0e593beb7 --- /dev/null +++ b/App/Resources/Lotties/niggly3x120.json @@ -0,0 +1 @@ +{"v":"5.7.13","fr":120,"ip":0,"op":141,"w":108,"h":108,"nm":"_ niggly 3x 120","ddd":0,"assets":[{"id":"comp_0","nm":"_ throbber :0","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Main Niggly","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":40,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.772],"y":[0]},"t":43.2,"s":[40]},{"i":{"x":[0.194],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":67.2,"s":[40.594]},{"t":91.2,"s":[40]}],"ix":4}},"a":{"a":0,"k":[40,40,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":80,"h":80,"ip":0,"op":148.8,"st":0,"bm":0}]},{"id":"comp_1","nm":"Main Niggly","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"MOUTH ROT","parent":5,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-177,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":67.2,"s":[0.941]},{"t":86.4,"s":[-0.345]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":67.2,"s":[9.692]},{"t":86.4,"s":[9.893]}],"ix":4}},"a":{"a":0,"k":[3.5,3.5,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"w":7,"h":7,"ip":67.2,"op":168,"st":-9.6,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"mouth","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-133,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":86.4,"s":[-0.133,0.788,0],"to":[0.022,-0.131,0],"ti":[-0.022,0.131,0]},{"t":100.8,"s":[0,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[23,23],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.681]},"o":{"x":[0.505],"y":[0]},"t":86.4,"s":[50]},{"i":{"x":[0.729],"y":[1]},"o":{"x":[0.167],"y":[0.13]},"t":100.8,"s":[53.922]},{"i":{"x":[0.526],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":124.8,"s":[70]},{"t":139.2,"s":[68]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.681]},"o":{"x":[0.505],"y":[0]},"t":86.4,"s":[50]},{"i":{"x":[0.729],"y":[1]},"o":{"x":[0.167],"y":[0.13]},"t":100.8,"s":[46.078]},{"i":{"x":[0.526],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":124.8,"s":[30]},{"t":139.2,"s":[32]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.857],"y":[0.857]},"o":{"x":[0.167],"y":[0.167]},"t":86.4,"s":[7]},{"i":{"x":[0.508],"y":[1]},"o":{"x":[0.172],"y":[0.457]},"t":100.8,"s":[4]},{"t":120,"s":[2.5]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":86.4,"op":168,"st":-24,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"mouth","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":43.2,"s":[0,0,0],"to":[0.033,-0.267,0],"ti":[-0.033,0.267,0]},{"t":67.2,"s":[0.2,-1.6,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[23,23],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.749]},"o":{"x":[0.416],"y":[0]},"t":19.2,"s":[68]},{"i":{"x":[0.872],"y":[0.874]},"o":{"x":[0.167],"y":[0.115]},"t":38.4,"s":[62.291]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.18],"y":[0.562]},"t":52.8,"s":[52.948]},{"t":67.2,"s":[50]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.749]},"o":{"x":[0.416],"y":[0]},"t":19.2,"s":[32]},{"i":{"x":[0.874],"y":[0.874]},"o":{"x":[0.167],"y":[0.115]},"t":38.4,"s":[37.709]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.174],"y":[0.551]},"t":52.8,"s":[47.052]},{"t":67.2,"s":[50]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.815],"y":[0.648]},"o":{"x":[0.492],"y":[0]},"t":28.8,"s":[2.5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.16],"y":[0.153]},"t":48,"s":[4]},{"t":67.2,"s":[7]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":67.2,"st":-100.8,"bm":0},{"ddd":0,"ind":4,"ty":3,"nm":"rot","hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.745],"y":[0.523]},"o":{"x":[0.559],"y":[0]},"t":43.2,"s":[0]},{"i":{"x":[0.391],"y":[1]},"o":{"x":[0.171],"y":[0.522]},"t":67.2,"s":[48]},{"t":105.6,"s":[95]}],"ix":10},"p":{"a":0,"k":[40,40,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":168,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":3,"nm":"mouth rot","hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.816],"y":[0.511]},"o":{"x":[0.681],"y":[0]},"t":43.2,"s":[0]},{"i":{"x":[0.385],"y":[1]},"o":{"x":[0.159],"y":[0.672]},"t":67.2,"s":[66.35]},{"t":105.6,"s":[133]}],"ix":10},"p":{"a":0,"k":[40,40,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":168,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"EYE ROT","parent":4,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-44,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":43.2,"s":[-7]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":67.2,"s":[-7.97]},{"t":86.4,"s":[-7.709]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.837],"y":[0.546]},"o":{"x":[0.333],"y":[0]},"t":43.2,"s":[-7]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.228],"y":[0.132]},"t":67.2,"s":[-6.84]},{"t":86.4,"s":[-6.224]}],"ix":4}},"a":{"a":0,"k":[3.5,3.5,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"w":7,"h":7,"ip":0,"op":168,"st":-9.6,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"MOTH ROT","parent":5,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":51,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.909],"y":[0.89]},"o":{"x":[0.333],"y":[0]},"t":43.2,"s":[6.872]},{"i":{"x":[0.438],"y":[1]},"o":{"x":[0.131],"y":[0.74]},"t":67.2,"s":[8.062]},{"t":86.4,"s":[8.267]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":43.2,"s":[-7.137]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":67.2,"s":[-6.568]},{"t":86.4,"s":[-7.187]}],"ix":4}},"a":{"a":0,"k":[3.5,3.5,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"w":7,"h":7,"ip":0,"op":86.4,"st":-9.6,"bm":0}]},{"id":"comp_2","nm":"Eye Eye","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[3.5,3.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[7,7],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":720,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"outline","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[54,54,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[80,80],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":141,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"_ throbber :0","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[54,54,0],"ix":2,"l":2},"a":{"a":0,"k":[40,40,0],"ix":1,"l":2},"s":{"a":0,"k":[190,190,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":141,"s":[1.24]}],"ix":2},"w":80,"h":80,"ip":0,"op":141,"st":0,"bm":0}],"markers":[{"tm":64,"cm":"1","dr":0}]} \ No newline at end of file diff --git a/App/Resources/Lotties2/GhostAnim.json b/App/Resources/Lotties2/GhostAnim.json new file mode 100755 index 000000000..0a4bc25c0 --- /dev/null +++ b/App/Resources/Lotties2/GhostAnim.json @@ -0,0 +1 @@ +{"v":"5.7.13","fr":120,"ip":0,"op":7201,"w":300,"h":300,"nm":"_GhostAnim","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"stroke","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":500,"ix":3},"y":{"a":0,"k":500,"ix":4}},"a":{"a":0,"k":[500,500,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.67,-0.02],[0,-35.64],[0,0],[-0.698,0.774],[0,0],[-1.447,-1.604],[0,0],[-1.447,1.604],[0,0],[-1.447,-1.604],[0,0],[-1.447,1.604],[0,0],[-1.447,-1.604],[0,0],[0.005,1.045],[0,0],[1.636,0.388],[0,0],[-1.502,0.776],[0,0],[1.169,2.261],[25.815,0]],"o":[[-35.625,1.044],[0,0],[0,1.043],[0,0],[1.447,-1.604],[0,0],[1.447,1.604],[0,0],[1.447,-1.604],[0,0],[1.447,1.604],[0,0],[1.447,-1.604],[0,0],[0.7,0.777],[0,0],[-0.008,-1.681],[0,0],[-1.645,-0.391],[0,0],[2.261,-1.168],[-11.09,-21.453],[-0.666,0]],"v":[[1.12,-83.333],[-63.586,-15.021],[-63.585,81.796],[-61.602,82.559],[-46.88,66.238],[-41.469,66.238],[-27.469,81.758],[-22.058,81.758],[-8.057,66.238],[-2.646,66.238],[11.354,81.758],[16.765,81.758],[30.765,66.238],[36.176,66.238],[50.883,82.541],[52.866,81.774],[52.605,30.958],[49.803,27.439],[-28.921,8.747],[-29.336,5.355],[60.48,-41.031],[62.417,-47.244],[3.124,-83.363]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[501.556,501.183],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":8727,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"eyes","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":500,"ix":3},"y":{"a":0,"k":500,"ix":4}},"a":{"a":0,"k":[500,500,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,5.559],[-5.559,0],[0,-5.559],[5.558,0]],"o":[[0,-5.559],[5.559,0],[0,5.559],[-5.558,0]],"v":[[8.759,-49.973],[18.823,-60.038],[28.888,-49.973],[18.823,-39.908]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,5.559],[-5.559,0],[0,-5.559],[5.559,0]],"o":[[0,-5.559],[5.559,0],[0,5.559],[-5.559,0]],"v":[[-31.057,-29.424],[-20.992,-39.489],[-10.928,-29.424],[-20.992,-19.359]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[501.556,501.183],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":8727,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"fill","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":200,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":400,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":600,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":800,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":1000,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":1200,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":1400,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":1600,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":1800,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":2000,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":2200,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":2400,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":2600,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":2800,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":3000,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":3200,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":3400,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":3600,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":3800,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":4000,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":4200,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":4400,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":4600,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":4800,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":5000,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":5200,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":5400,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":5600,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":5800,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":6000,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":6200,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":6400,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":6600,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":6800,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":7000,"s":[25]},{"t":7200,"s":[0]}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.311],"y":[0.452]},"t":0,"s":[-0.519]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":116,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":316,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":516,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":716,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":916,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":1116,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":1316,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":1516,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":1716,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":1916,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":2116,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":2316,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":2516,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":2716,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":2916,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":3116,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":3316,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":3516,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":3716,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":3916,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":4116,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":4316,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":4516,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":4716,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":4916,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":5116,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":5316,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":5516,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":5716,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":5916,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":6116,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":6316,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":6516,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":6716,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":6916,"s":[2]},{"i":{"x":[0.698],"y":[0.46]},"o":{"x":[0.384],"y":[0]},"t":7116,"s":[-2]},{"t":7200,"s":[-0.519]}],"ix":10},"p":{"s":true,"x":{"a":0,"k":150,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":0,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":195,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":205,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":400,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":595,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":605,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":800,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":995,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":1005,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":1200,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":1395,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":1405,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":1600,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":1795,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":1805,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":2000,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":2195,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":2205,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":2400,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":2595,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":2605,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":2800,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":2995,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":3005,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":3200,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":3395,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":3405,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":3600,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":3795,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":3805,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":4000,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":4195,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":4205,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":4400,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":4595,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":4605,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":4800,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":4995,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":5005,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":5200,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":5395,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":5405,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":5600,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":5795,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":5805,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":6000,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":6195,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":6205,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":6400,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":6595,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":6605,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":6800,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":6995,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":7005,"s":[135]},{"t":7200,"s":[150.18]}],"ix":4}},"a":{"a":0,"k":[500,500,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.67,-0.02],[0,-35.64],[0,0],[-0.698,0.774],[0,0],[-1.447,-1.604],[0,0],[-1.447,1.604],[0,0],[-1.447,-1.604],[0,0],[-1.447,1.604],[0,0],[-1.447,-1.604],[0,0],[0.005,1.045],[0,0],[1.636,0.388],[0,0],[-1.502,0.776],[0,0],[1.169,2.261],[25.815,0]],"o":[[-35.625,1.044],[0,0],[0,1.043],[0,0],[1.447,-1.604],[0,0],[1.447,1.604],[0,0],[1.447,-1.604],[0,0],[1.447,1.604],[0,0],[1.447,-1.604],[0,0],[0.7,0.777],[0,0],[-0.008,-1.681],[0,0],[-1.645,-0.391],[0,0],[2.261,-1.168],[-11.09,-21.453],[-0.666,0]],"v":[[1.12,-83.333],[-63.586,-15.021],[-63.585,81.796],[-61.602,82.559],[-46.88,66.238],[-41.469,66.238],[-27.469,81.758],[-22.058,81.758],[-8.057,66.238],[-2.646,66.238],[11.354,81.758],[16.765,81.758],[30.765,66.238],[36.176,66.238],[50.883,82.541],[52.866,81.774],[52.605,30.958],[49.803,27.439],[-28.921,8.747],[-29.336,5.355],[60.48,-41.031],[62.417,-47.244],[3.124,-83.363]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"tr","p":{"a":0,"k":[501.556,501.183],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":8727,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/App/Resources/Lotties2/MainThrobberX120.json b/App/Resources/Lotties2/MainThrobberX120.json new file mode 100644 index 000000000..bba7a10a0 --- /dev/null +++ b/App/Resources/Lotties2/MainThrobberX120.json @@ -0,0 +1 @@ +{"v":"5.9.0","fr":120,"ip":0,"op":201,"w":260,"h":260,"nm":"_MainThrobber 120","ddd":0,"assets":[{"id":"comp_0","nm":"Face Mask","fr":25,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"rotate","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.348],"y":[1]},"o":{"x":[0.161],"y":[0.53]},"t":0,"s":[33.333]},{"t":14.4,"s":[0]}],"ix":10},"p":{"a":0,"k":[54,54,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":235.2,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"main_mask","parent":1,"refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-24,18.75,0],"ix":2,"l":2},"a":{"a":0,"k":[47.25,82.25,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.637],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.625],"y":[0.091]},"o":{"x":[0.304],"y":[0]},"t":14.4,"s":[0.2]},{"i":{"x":[0.551],"y":[0.681]},"o":{"x":[0.44],"y":[0.495]},"t":124.8,"s":[1.539]},{"t":211.2,"s":[3.8]}],"ix":2},"w":135,"h":135,"ip":0,"op":225.6,"st":0,"bm":0}]},{"id":"comp_1","nm":"main_mask","fr":25,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"eyeL","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-21.5,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[1],"y":[0]},"t":57.6,"s":[94]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":139.2,"s":[102.306]},{"t":374.4,"s":[94]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.414,0.414],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[0,0]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.385,0.385],"y":[0,0]},"t":23.892,"s":[16,16]},{"i":{"x":[0.766,0.766],"y":[0.538,0.538]},"o":{"x":[0.398,0.398],"y":[0,0]},"t":57.6,"s":[16,16]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[-15.144,-15.144]},"t":139.2,"s":[0,0]},{"i":{"x":[0.516,0.516],"y":[1,1]},"o":{"x":[0.358,0.358],"y":[0.872,0.872]},"t":374.4,"s":[0,0]},{"t":456,"s":[16,16]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":-14.4,"op":465.6,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"eyeR","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-21.5,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[1],"y":[0]},"t":57.6,"s":[60]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":139.2,"s":[68.306]},{"t":374.4,"s":[60]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.414,0.414],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[0,0]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.385,0.385],"y":[0,0]},"t":23.892,"s":[16,16]},{"i":{"x":[0.766,0.766],"y":[0.538,0.538]},"o":{"x":[0.398,0.398],"y":[0,0]},"t":57.6,"s":[16,16]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[-15.144,-15.144]},"t":139.2,"s":[0,0]},{"i":{"x":[0.516,0.516],"y":[1,1]},"o":{"x":[0.358,0.358],"y":[0.872,0.872]},"t":374.4,"s":[0,0]},{"t":456,"s":[16,16]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":-14.4,"op":465.6,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"Jaw Corner","parent":6,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"s":true,"x":{"a":0,"k":-1.75,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.583],"y":[0.46]},"o":{"x":[0.163],"y":[0]},"t":0,"s":[29.75]},{"i":{"x":[0.872],"y":[0.799]},"o":{"x":[0.438],"y":[0.371]},"t":4.8,"s":[34.589]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.082],"y":[0.254]},"t":9.6,"s":[42]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":19.2,"s":[49.55]},{"i":{"x":[0.765],"y":[0.591]},"o":{"x":[0.441],"y":[0]},"t":24,"s":[49.55]},{"i":{"x":[0.722],"y":[0.644]},"o":{"x":[0.423],"y":[0.311]},"t":38.4,"s":[52.25]},{"i":{"x":[0.833],"y":[0.83]},"o":{"x":[0.188],"y":[0.147]},"t":48,"s":[56.511]},{"i":{"x":[0.832],"y":[0.844]},"o":{"x":[0.167],"y":[0.164]},"t":62.4,"s":[66.97]},{"i":{"x":[0.868],"y":[0.857]},"o":{"x":[0.243],"y":[0.272]},"t":76.8,"s":[77.8]},{"i":{"x":[0.667],"y":[1.389]},"o":{"x":[0.219],"y":[0.635]},"t":86.4,"s":[83.8]},{"i":{"x":[0.833],"y":[0.812]},"o":{"x":[0.333],"y":[0.152]},"t":105.6,"s":[88.3]},{"i":{"x":[0.564],"y":[0.903]},"o":{"x":[0.167],"y":[0.161]},"t":124.8,"s":[76.8]},{"i":{"x":[0.657],"y":[1.158]},"o":{"x":[0.297],"y":[0.596]},"t":192,"s":[29.941]},{"i":{"x":[0.862],"y":[0.772]},"o":{"x":[0.393],"y":[0.093]},"t":220.8,"s":[27.722]},{"i":{"x":[0.746],"y":[0.815]},"o":{"x":[0.292],"y":[0.411]},"t":249.6,"s":[32.044]},{"i":{"x":[0.617],"y":[1]},"o":{"x":[0.281],"y":[0.731]},"t":307.2,"s":[42.207]},{"t":456,"s":[49.55]}],"ix":4}},"a":{"a":0,"k":[48,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-13,-13,100],"ix":6,"l":2}},"ao":0,"w":48,"h":48,"ip":0,"op":460.8,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"Lip Corner","parent":7,"refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0.7,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.215],"y":[0]},"t":0,"s":[30.9]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":9.6,"s":[31.2]},{"i":{"x":[0.832],"y":[0.762]},"o":{"x":[0.333],"y":[0]},"t":24,"s":[31.2]},{"i":{"x":[0.831],"y":[0.726]},"o":{"x":[0.284],"y":[0.041]},"t":57.6,"s":[31.283]},{"i":{"x":[0.583],"y":[0.412]},"o":{"x":[0.32],"y":[0.162]},"t":76.8,"s":[31.75]},{"i":{"x":[0.833],"y":[0.801]},"o":{"x":[0.417],"y":[0.315]},"t":86.4,"s":[32.5]},{"i":{"x":[0.57],"y":[0.546]},"o":{"x":[0.175],"y":[0.142]},"t":96,"s":[33.9]},{"i":{"x":[0.835],"y":[0.917]},"o":{"x":[0.342],"y":[0.243]},"t":105.6,"s":[35.959]},{"i":{"x":[0.469],"y":[1]},"o":{"x":[0.265],"y":[0.865]},"t":115.2,"s":[39.019]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":120,"s":[39.256]},{"i":{"x":[0.868],"y":[0.566]},"o":{"x":[0.448],"y":[0]},"t":288,"s":[39.089]},{"i":{"x":[0.756],"y":[0.85]},"o":{"x":[0.212],"y":[0.248]},"t":336,"s":[35.4]},{"i":{"x":[0.833],"y":[0.908]},"o":{"x":[0.177],"y":[0.321]},"t":350.4,"s":[32.3]},{"i":{"x":[0.575],"y":[1.021]},"o":{"x":[0.167],"y":[0.323]},"t":364.8,"s":[31.25]},{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.258],"y":[0.034]},"t":388.8,"s":[30.75]},{"t":456,"s":[31.283]}],"ix":4}},"a":{"a":0,"k":[48,0,0],"ix":1,"l":2},"s":{"a":0,"k":[13,13,100],"ix":6,"l":2}},"ao":0,"w":48,"h":48,"ip":0,"op":460.8,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":1,"nm":"Jaw","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.657],"y":[1]},"o":{"x":[0.195],"y":[0.379]},"t":0,"s":[-297.4]},{"i":{"x":[0.502],"y":[1]},"o":{"x":[0.502],"y":[0]},"t":19.2,"s":[-256.5]},{"i":{"x":[0.673],"y":[0.65]},"o":{"x":[0.333],"y":[0]},"t":24,"s":[-256.5]},{"i":{"x":[0.846],"y":[0.907]},"o":{"x":[0.265],"y":[0.413]},"t":182.4,"s":[0]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.217],"y":[0.869]},"t":240,"s":[66.083]},{"t":456,"s":[103.5]}],"ix":10},"p":{"a":0,"k":[47.057,83.476,0],"ix":2,"l":2},"a":{"a":0,"k":[0,112.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"sw":225,"sh":225,"sc":"#ff3838","ip":0,"op":480,"st":-216,"bm":0},{"ddd":0,"ind":7,"ty":1,"nm":"Upper Lip","tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.633],"y":[0.132]},"o":{"x":[0.323],"y":[0]},"t":24,"s":[-297.5]},{"i":{"x":[0.671],"y":[0.674]},"o":{"x":[0.348],"y":[0.332]},"t":182.4,"s":[-180]},{"i":{"x":[0.617],"y":[0.795]},"o":{"x":[0.305],"y":[0.534]},"t":225.6,"s":[-100.674]},{"i":{"x":[0.613],"y":[1]},"o":{"x":[0.247],"y":[0.671]},"t":364.8,"s":[43.794]},{"t":456,"s":[62.5]}],"ix":10},"p":{"a":0,"k":[47.057,83.476,0],"ix":2,"l":2},"a":{"a":0,"k":[0,112.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"sw":225,"sh":225,"sc":"#ff3838","ip":0,"op":480,"st":-216,"bm":0}]},{"id":"comp_2","nm":"Corner 2","fr":25,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[24,24,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-53],[10.312,-14.375],[73.868,73.868]],"o":[[22.5,0],[-12,27.5],[0,-11.514]],"v":[[-19.75,-11.25],[-2.562,21.125],[25.125,-26.236]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":460.8,"st":0,"bm":0}]},{"id":"comp_3","nm":"Corner","fr":25,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[24,24,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-54.625],[0,-25.25],[0,0]],"o":[[28.25,0],[43.625,0],[0,0]],"v":[[-24,-20.125],[18.875,24],[33.375,-32.111]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":460.8,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Face Mask","td":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[130,130,0],"ix":2,"l":2},"a":{"a":0,"k":[54,54,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.553,0.553,0.667],"y":[1,1,1]},"o":{"x":[0.253,0.253,0.167],"y":[0.666,0.666,21.429]},"t":0,"s":[0,0,100]},{"i":{"x":[0.609,0.609,0.667],"y":[1,1,1]},"o":{"x":[0.467,0.467,0.298],"y":[0,0,0]},"t":27,"s":[129.1,129.1,100]},{"i":{"x":[0.373,0.373,0.819],"y":[1,1,1]},"o":{"x":[0.372,0.372,0.333],"y":[0,0,0]},"t":41,"s":[116.4,116.4,100]},{"t":50,"s":[120,120,100]}],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.901],"y":[0.714]},"o":{"x":[0.158],"y":[0]},"t":5,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[0.123]},{"t":190,"s":[1.786]}],"ix":2},"w":108,"h":108,"ip":6,"op":210,"st":-152,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Blue Circ 2","tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[130,130,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.553,0.553,0.667],"y":[1,1,1]},"o":{"x":[0.253,0.253,0.167],"y":[0.666,0.666,0]},"t":0,"s":[0,0,100]},{"i":{"x":[0.609,0.609,0.667],"y":[1,1,1]},"o":{"x":[0.467,0.467,0.298],"y":[0,0,0]},"t":27,"s":[129.1,129.1,100]},{"i":{"x":[0.373,0.373,0.819],"y":[1,1,1]},"o":{"x":[0.372,0.372,0.333],"y":[0,0,0]},"t":41,"s":[116.4,116.4,100]},{"t":50,"s":[120,120,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"circ","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":6,"op":208,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Blue Circ","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[130,130,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.553,0.553,0.667],"y":[1,1,1]},"o":{"x":[0.253,0.253,0.167],"y":[0.666,0.666,0]},"t":0,"s":[0,0,100]},{"i":{"x":[0.609,0.609,0.667],"y":[1,1,1]},"o":{"x":[0.467,0.467,0.298],"y":[0,0,0]},"t":27,"s":[129.1,129.1,100]},{"i":{"x":[0.373,0.373,0.819],"y":[1,1,1]},"o":{"x":[0.372,0.372,0.333],"y":[0,0,0]},"t":41,"s":[116.4,116.4,100]},{"t":50,"s":[120,120,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"circ","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":6,"st":0,"bm":0}],"markers":[{"tm":0,"cm":"loop start","dr":0}]} \ No newline at end of file diff --git a/App/Resources/Lotties2/TootX120.json b/App/Resources/Lotties2/TootX120.json new file mode 100644 index 000000000..9ad33099e --- /dev/null +++ b/App/Resources/Lotties2/TootX120.json @@ -0,0 +1 @@ +{"v":"5.9.0","fr":120,"ip":0,"op":207,"w":320,"h":320,"nm":"_Toot3x_120","ddd":0,"assets":[{"id":"comp_0","nm":"Note","fr":120,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"note","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":165,"ix":3},"y":{"a":0,"k":70,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[0,0]},{"t":50,"s":[20,20]}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[10,0],"to":[0,0],"ti":[0,0]},{"t":50,"s":[0,0]}],"ix":3},"nm":"circ","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"circ_fill","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.505,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[7.75,0.121],[7.75,0.127],[7.75,0.172]],"c":false}]},{"t":50,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[15.875,-22.461],[7.75,-22.5],[7.75,0.016]],"c":false}]}],"ix":2},"nm":"angle","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"angle_stroke","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"stroke","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":96,"st":-55,"bm":0}]},{"id":"comp_1","nm":"tooter 3","fr":120,"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Null 35","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[108,108,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":1,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"TootRoll Mask","parent":3,"td":1,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":28,"s":[43.338]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":100,"s":[43.338]},{"t":101,"s":[43.338]}],"ix":3},"y":{"a":0,"k":-15,"ix":4}},"a":{"a":0,"k":[108,108,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"s","pt":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[131.654,106.5],[105.682,106.5],[105.682,125.199],[131.654,125.199]],"c":true}]},{"t":101,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[137.904,106.5],[111.932,106.5],[111.932,125.199],[137.904,125.199]],"c":true}]}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"w":216,"h":216,"ip":1,"op":180,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"toot","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[6.337]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[37]},{"t":100,"s":[68.147]}],"ix":3},"y":{"a":0,"k":15,"ix":4}},"a":{"a":0,"k":[50,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,11],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.7],"y":[0.216]},"o":{"x":[0.444],"y":[0]},"t":1,"s":[0]},{"i":{"x":[0.623],"y":[1]},"o":{"x":[0.271],"y":[0.319]},"t":5,"s":[0.521]},{"t":15,"s":[4.5]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":1,"op":267,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"toot mask","parent":3,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":45,"s":[50]},{"t":46,"s":[-9]}],"ix":3},"y":{"a":0,"k":-1,"ix":4}},"a":{"a":0,"k":[50,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,11],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960993748,0.301960993748,0.301960993748,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2.75,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":1,"op":267,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"top","parent":6,"tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-86.4,"ix":10},"p":{"s":true,"x":{"a":0,"k":16.958,"ix":3},"y":{"a":0,"k":1.203,"ix":4}},"a":{"a":0,"k":[0,14,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[10,10]},{"t":50,"s":[11,11]}],"ix":2},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-39,"s":[0,-7.5],"to":[0,0.051],"ti":[0,0.171]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[0,-8],"to":[0,-0.02],"ti":[0,0.018]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[0,-7.919],"to":[0,-0.034],"ti":[0,0.018]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30,"s":[0,-8],"to":[0,-0.2],"ti":[0,0.034]},{"t":50,"s":[0,-8.5]}],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":50,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":15,"s":[4.5]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":1,"op":100,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":3,"nm":"ctr 5","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[-18]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[90]},{"t":100,"s":[270]}],"ix":10},"p":{"s":true,"x":{"a":0,"k":42,"ix":3},"y":{"a":0,"k":-5.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":1,"op":100,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"ctr","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[-18]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[90]},{"t":100,"s":[270]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[41]},{"t":45,"s":[42]}],"ix":3},"y":{"a":0,"k":-5.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[2,2],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"large","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":15,"s":[2.25]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":1,"op":100,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"large","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":42,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[-4.5]},{"t":50,"s":[-5.5]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[20,20]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":50,"s":[22,22]},{"t":99,"s":[22,22]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"large","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":7,"s":[25]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":8,"s":[25.8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":16,"s":[27.6]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[26]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[51]},{"t":99,"s":[100]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":180,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.7],"y":[0.216]},"o":{"x":[0.444],"y":[0]},"t":1,"s":[0]},{"i":{"x":[0.623],"y":[1]},"o":{"x":[0.271],"y":[0.319]},"t":5,"s":[0.521]},{"t":15,"s":[4.5]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":1,"op":100,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"top 2","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-90,"ix":10},"p":{"s":true,"x":{"a":0,"k":14,"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,14,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[11,11],"ix":2},"p":{"a":0,"k":[0,-8.5],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":50,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":100,"op":180,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"ctr 4","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-180,"ix":10},"p":{"s":true,"x":{"a":0,"k":42.5,"ix":3},"y":{"a":0,"k":8.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[6,6],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"large","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":100,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":150,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":160,"s":[33.818]},{"t":177.5,"s":[0]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":180,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":100,"op":185,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":3,"nm":"ctr 3","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":100,"s":[-450]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":150,"s":[-270]},{"t":200,"s":[-90]}],"ix":10},"p":{"s":true,"x":{"a":0,"k":42.5,"ix":3},"y":{"a":0,"k":8.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"ip":100,"op":267,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"large 2","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-180,"ix":10},"p":{"s":true,"x":{"a":0,"k":42.5,"ix":3},"y":{"a":0,"k":8.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[28,28],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"large","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":100,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":150,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":177.5,"s":[23]},{"t":200,"s":[0]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":180,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":100,"op":185,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"bak 2","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[42.288,-4.125,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[88,88,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":100,"s":[{"i":[[-7.319,0.506],[-4.193,-2.377],[4.119,-2.301],[2.978,0.568]],"o":[[2.064,0],[4.193,2.377],[-1.167,0.305],[-6.539,-5.682]],"v":[[-0.71,-1.27],[4.002,1.349],[0.55,11.056],[0.506,10.795]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":107,"s":[{"i":[[-7.319,0.506],[-3.67,-3.125],[4.478,-1.483],[2.978,0.568]],"o":[[5.189,0],[3.67,3.125],[-1.203,0.08],[-6.539,-5.682]],"v":[[-0.71,-1.625],[10.041,2.699],[4.688,12.278],[0.506,11.506]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":122,"s":[{"i":[[-7.319,0.506],[-0.723,-10.227],[0.919,2.193],[2.978,0.568]],"o":[[7.319,-0.506],[-4.569,5.114],[-0.919,-2.193],[-6.539,-5.682]],"v":[[-0.71,-1.625],[16.717,14.347],[3.977,14.267],[0.506,11.506]],"c":true}]},{"t":140,"s":[{"i":[[-7.319,0.506],[-0.723,-10.227],[0,11.301],[2.978,0.568]],"o":[[7.319,-0.506],[0,15.057],[4.905,-2.335],[-6.539,-5.682]],"v":[[-0.71,-1.625],[16.717,14.347],[1.42,18.386],[0.506,11.506]],"c":true}]}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":100,"op":180,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"bak","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[42.288,-4.125,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[88,88,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[-6.075,0],[0,-6.075],[6.075,0],[0,6.075]],"o":[[6.075,0],[0,6.075],[-6.075,0],[0,-6.075]],"v":[[0,-11],[11,0],[0,11],[-11,0]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":12,"s":[{"i":[[-5.762,0],[0,-5.762],[6.359,0],[0.358,5.725]],"o":[[6.684,0],[0,5.762],[-5.762,0],[-0.627,-7.032]],"v":[[0.29,-11.645],[11.306,-0.004],[0.034,11],[-10.32,-1.1]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":19,"s":[{"i":[[-5.579,0],[0,-5.579],[6.524,0],[0.566,5.521]],"o":[[7.039,0],[0,5.579],[-5.579,0],[-0.993,-7.59]],"v":[[0.459,-12.021],[11.485,-0.007],[0.054,11],[-9.642,-1.742]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":35,"s":[{"i":[[-5.161,0],[0,-5.161],[6.902,0],[1.043,5.054]],"o":[[5.161,0],[0,5.161],[-5.161,0],[-1.829,-8.865]],"v":[[0.845,-12.553],[11.894,-0.013],[0.099,11],[-8.499,-3.209]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":44,"s":[{"i":[[-4.925,0],[0,-6.601],[6.754,0],[0.896,4.834]],"o":[[5.547,0],[0,5.356],[-4.925,0],[-1.729,-8.396]],"v":[[1.245,-13.198],[12.107,-0.217],[0.125,11],[-6.31,-2.776]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[{"i":[[-4.716,0],[0,-6.064],[6.621,0],[0.766,4.638]],"o":[[5.89,0],[0,5.529],[-4.716,0],[-1.639,-7.978]],"v":[[1.601,-13.771],[12.298,-0.399],[0.147,11],[-4.365,-2.391]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":61,"s":[{"i":[[-4.481,0],[0,-5.597],[6.473,0],[0.619,4.418]],"o":[[5.033,0],[0,5.725],[-4.481,0],[0.028,-6.991]],"v":[[4.246,-11.941],[12.324,-0.227],[0.173,11],[-2.176,-1.958]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":69,"s":[{"i":[[-4.272,0],[0,-5.181],[6.341,0],[0.489,4.222]],"o":[[4.272,0],[0,5.898],[-4.272,0],[0.09,-6.24]],"v":[[6.263,-9.308],[12.347,-0.075],[0.196,11],[-0.23,-1.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":76,"s":[{"i":[[-4.089,0],[0,-5.246],[5.675,0],[0.375,4.051]],"o":[[4.089,0],[0,5.336],[-4.089,0],[1.745,-2.124]],"v":[[5.861,-6.854],[12.275,0.417],[0.215,11],[-1.585,0.136]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":84,"s":[{"i":[[-3.376,0],[0,-3.068],[4.914,0],[0.244,3.855]],"o":[[3.3,0],[0,4.693],[-3.88,0],[2.744,-2.799]],"v":[[5.402,-4.05],[11.052,2.5],[0.238,11],[-3.133,2.088]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":92,"s":[{"i":[[-3.671,0],[0,-3.883],[4.154,0],[0.114,3.659]],"o":[[3.671,0],[0,5.426],[-3.671,0],[1.28,-3.166]],"v":[[2.671,-1.872],[8.853,3.665],[0.261,11],[-4.681,3.473]],"c":true}]},{"t":99,"s":[{"i":[[-3.488,0],[0,-3.488],[3.488,0],[0,3.488]],"o":[[3.488,0],[0,3.488],[-3.488,0],[0,-3.488]],"v":[[0.281,-1.632],[6.597,4.684],[0.281,11],[-6.035,4.684]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":1,"op":100,"st":0,"bm":0}]},{"id":"comp_2","nm":"TootRoll Mask","fr":120,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"toot 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":107.337,"ix":3},"y":{"a":0,"k":123,"ix":4}},"a":{"a":0,"k":[50,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[50,27.5],[-50,27.5],[-50,-27.5],[50.006,-27.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":3,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960993748,0.301960993748,0.301960993748,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0}]},{"id":"comp_3","nm":"Eye Eye","fr":25,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[3.5,3.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[7,7],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":720,"st":0,"bm":0}]},{"id":"comp_4","nm":"tooter fill","fr":120,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"toot 2","parent":2,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":43,"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[50,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[50,-27.5],[50,27.5],[5,27.5],[5,-27.5]],"c":true}]},{"t":73,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[50,-27.5],[50,27.5],[-43.938,27.5],[-43.938,-27.5]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"ix":2},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[42.06,-6.508],"to":[0.167,-1.589],"ti":[-0.517,1.404]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":21.668,"s":[43,-13],"to":[0.583,-1.583],"ti":[-0.417,0.417]},{"t":33.33203125,"s":[45.5,-15.5]}],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"mm","mm":3,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960993748,0.301960993748,0.301960993748,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":1,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"toot","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[114.337]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[145]},{"t":100,"s":[176.147]}],"ix":3},"y":{"a":0,"k":123,"ix":4}},"a":{"a":0,"k":[50,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"fl","c":{"a":0,"k":[0.301960993748,0.301960993748,0.301960993748,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"rc","d":1,"s":{"a":0,"k":[100,11],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":1,"op":267,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"top","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-90,"ix":10},"p":{"s":true,"x":{"a":0,"k":20.695,"ix":3},"y":{"a":0,"k":-0.114,"ix":4}},"a":{"a":0,"k":[0,14,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[11,11],"ix":2},"p":{"a":0,"k":[0,-8.5],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":1,"op":100,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":3,"nm":"ctr","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[-18]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[90]},{"t":100,"s":[270]}],"ix":10},"p":{"s":true,"x":{"a":0,"k":42.5,"ix":3},"y":{"a":0,"k":-8.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":1,"op":100,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"large","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":42.5,"ix":3},"y":{"a":0,"k":-4.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[20,20],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"large","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[20.444]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":4.168,"s":[23]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[50]},{"t":100,"s":[100]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":180,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":1,"op":100,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"top 2","parent":9,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-90,"ix":10},"p":{"s":true,"x":{"a":0,"k":14,"ix":3},"y":{"a":0,"k":0,"ix":4}},"a":{"a":0,"k":[0,14,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[11,11],"ix":2},"p":{"a":0,"k":[0,-8.5],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":50,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":100,"op":180,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"ctr 4","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-180,"ix":10},"p":{"s":true,"x":{"a":0,"k":42.5,"ix":3},"y":{"a":0,"k":8.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[6,6],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"large","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":100,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":150,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":160,"s":[33.818]},{"t":177.5,"s":[0]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":180,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":100,"op":185,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":3,"nm":"ctr 3","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":100,"s":[-450]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":150,"s":[-270]},{"t":200,"s":[-90]}],"ix":10},"p":{"s":true,"x":{"a":0,"k":42.5,"ix":3},"y":{"a":0,"k":8.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"ip":100,"op":267,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"large 2","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-180,"ix":10},"p":{"s":true,"x":{"a":0,"k":42.5,"ix":3},"y":{"a":0,"k":8.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[28,28],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"large","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":100,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":150,"s":[50]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":177.5,"s":[23]},{"t":200,"s":[0]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":180,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":100,"op":185,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"scaler","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[160,160,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.633,0.633,0.667],"y":[1,1,1]},"o":{"x":[0.38,0.38,0.332],"y":[0.333,0.333,0]},"t":0,"s":[0,0,100]},{"i":{"x":[0.528,0.528,0.667],"y":[1,1,1]},"o":{"x":[0.382,0.382,0.298],"y":[0,0,0]},"t":21,"s":[129,129,100]},{"i":{"x":[0.565,0.565,0.819],"y":[1,1,1]},"o":{"x":[0.36,0.36,0.333],"y":[0,0,0]},"t":36,"s":[117,117,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":50,"s":[120,120,100]},{"i":{"x":[0.517,0.517,0.667],"y":[1,1,1]},"o":{"x":[0.291,0.291,0.333],"y":[0,0,0]},"t":152,"s":[120,120,100]},{"i":{"x":[0.822,0.822,0.833],"y":[0.404,0.404,9.327]},"o":{"x":[0.474,0.474,0.333],"y":[0,0,0]},"t":165,"s":[126,126,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.387,0.387,0.167],"y":[0.452,0.452,-7.012]},"t":184,"s":[89.051,89.051,100]},{"t":200,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"ip":0,"op":207,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Note","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":160,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.477],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[181.101]},{"t":82,"s":[160]}],"ix":4}},"a":{"a":0,"k":[108,108,0],"ix":1,"l":2},"s":{"a":0,"k":[150.72,150.72,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.382],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":75,"s":[0.417]},{"i":{"x":[0.831],"y":[0.672]},"o":{"x":[0.518],"y":[0]},"t":140,"s":[0.417]},{"t":166,"s":[0]}],"ix":2},"w":216,"h":216,"ip":50,"op":166,"st":50,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"cheek","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":23,"ix":10},"p":{"a":0,"k":[-4.018,17,0],"ix":2,"l":2},"a":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[11,0.007,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":35,"s":[14,0.007,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[14,0.007,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":0.667},"o":{"x":0.333,"y":0.333},"t":87,"s":[10.5,0.007,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":140,"s":[10.5,0.007,0],"to":[0,0,0],"ti":[0,0,0]},{"t":199,"s":[11,0.007,0]}],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":0,"s":[22,22]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":35,"s":[28,28]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":45,"s":[28,28]},{"i":{"x":[0.833,0.833],"y":[0.921,0.921]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":87,"s":[21,21]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.088,0.088]},"t":140,"s":[21,21]},{"t":199,"s":[22,22]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":165,"s":[73]},{"t":197,"s":[80]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":165,"s":[-220]},{"t":189,"s":[-242.598]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.727],"y":[0.727]},"o":{"x":[0.317],"y":[0]},"t":180,"s":[4.5]},{"t":194,"s":[0]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":207,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"cheek mask","parent":10,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":23,"ix":10},"p":{"a":0,"k":[-12.856,13.011,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-74.652],[0,-4.604],[3.729,-4.25],[0,85.5]],"o":[[2.479,2.438],[0,3.964],[0,74.5],[0,-85.5]],"v":[[5.365,-9.49],[10.049,-0.13],[4.375,10.479],[-88.5,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":207,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"tooter 3","parent":10,"tt":2,"refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":23,"ix":10},"p":{"a":0,"k":[23.933,10.159,0],"ix":2,"l":2},"a":{"a":0,"k":[108,108,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.597],"y":[0]},"t":45,"s":[0.129]},{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.266],"y":[0]},"t":70,"s":[1.042]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.302],"y":[0]},"t":75,"s":[1.111]},{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.266],"y":[0]},"t":80,"s":[1.042]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.302],"y":[0]},"t":85,"s":[1.111]},{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.266],"y":[0]},"t":90,"s":[1.042]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.302],"y":[0]},"t":95,"s":[1.111]},{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.266],"y":[0]},"t":100,"s":[1.042]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.302],"y":[0]},"t":105,"s":[1.111]},{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.266],"y":[0]},"t":110,"s":[1.042]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.302],"y":[0]},"t":115,"s":[1.111]},{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.266],"y":[0]},"t":120,"s":[1.042]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.302],"y":[0]},"t":125,"s":[1.111]},{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.266],"y":[0]},"t":130,"s":[1.042]},{"i":{"x":[0.695],"y":[1]},"o":{"x":[0.302],"y":[0]},"t":135,"s":[1.111]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":140,"s":[1.042]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.597],"y":[0]},"t":165,"s":[0.129]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.597],"y":[0]},"t":175,"s":[0.129]},{"t":194,"s":[0]}],"ix":2},"w":216,"h":216,"ip":0,"op":207,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Hat","parent":10,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.767],"y":[0.508]},"o":{"x":[0.495],"y":[0.231]},"t":55,"s":[0]},{"i":{"x":[0.393],"y":[1]},"o":{"x":[0.336],"y":[-0.114]},"t":111,"s":[7.423]},{"t":120,"s":[0]}],"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.374],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":55,"s":[-36.5]},{"i":{"x":[0.782],"y":[0.604]},"o":{"x":[0.427],"y":[0]},"t":87,"s":[-53.419]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.367],"y":[1.2]},"t":111,"s":[-39.419]},{"t":120,"s":[-36.5]}],"ix":4}},"a":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":166,"s":[0,29,0],"to":[0,-1.828,0],"ti":[0,1.828,0]},{"t":193,"s":[0,18.031,0]}],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.66,"y":0},"t":166,"s":[{"i":[[1.397,-3.361],[0,0],[-2.917,0],[0,0],[1.12,2.694],[0,0]],"o":[[0,0],[-1.12,2.694],[0,0],[2.917,0],[0,0],[-1.397,-3.361]],"v":[[-4.592,-18.985],[-23.787,27.195],[-20.01,32.856],[18.379,32.856],[22.157,27.195],[2.962,-18.985]],"c":true}]},{"t":197,"s":[{"i":[[0.007,-0.017],[0,0],[-0.015,0],[0,0],[0.006,0.014],[0,0]],"o":[[0,0],[-0.006,0.014],[0,0],[0.015,0],[0,0],[-0.007,-0.017]],"v":[[-0.835,5.129],[-0.935,5.369],[-0.915,5.398],[-0.715,5.398],[-0.696,5.369],[-0.795,5.129]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.758],"y":[0.25]},"o":{"x":[0.513],"y":[0]},"t":166,"s":[4.5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.354],"y":[0.237]},"t":184,"s":[3.441]},{"t":193,"s":[1]}],"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":207,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"EyeL","parent":10,"refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":23,"ix":10},"p":{"s":true,"x":{"a":0,"k":-4.238,"ix":3},"y":{"a":0,"k":-10.49,"ix":4}},"a":{"a":0,"k":[3.5,3.5,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.764,0.764,0.711],"y":[0.422,0.422,31.138]},"o":{"x":[0.431,0.431,0.302],"y":[0,0,0]},"t":165.002,"s":[175,175,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,18.588]},"o":{"x":[0.416,0.416,0.425],"y":[0.301,0.301,-12.426]},"t":190.002,"s":[85,85,100]},{"t":197.0015625,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"w":7,"h":7,"ip":0,"op":194,"st":-9.6,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"EyeR","parent":10,"refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":23,"ix":10},"p":{"s":true,"x":{"a":0,"k":18.774,"ix":3},"y":{"a":0,"k":-0.722,"ix":4}},"a":{"a":0,"k":[3.5,3.5,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.764,0.764,0.711],"y":[0.422,0.422,1]},"o":{"x":[0.431,0.431,0.302],"y":[0,0,0]},"t":165.002,"s":[175,175,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.416,0.416,0.425],"y":[0.301,0.301,0]},"t":190.002,"s":[85,85,100]},{"t":197.0015625,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"w":7,"h":7,"ip":0,"op":194,"st":-9.6,"bm":0},{"ddd":0,"ind":9,"ty":0,"nm":"tooter fill","parent":10,"td":1,"refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":23,"ix":10},"p":{"a":0,"k":[23.933,10.159,0],"ix":2,"l":2},"a":{"a":0,"k":[108,108,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"s","pt":{"a":0,"k":{"i":[[12.725,0],[0,-8.265],[-12.725,0],[0,8.264]],"o":[[-12.725,0],[0,8.265],[12.725,0],[0,-8.264]],"v":[[62.8,110.188],[39.759,125.152],[62.8,140.116],[85.841,125.152]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"tm":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.597],"y":[0]},"t":45,"s":[0.129]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":70,"s":[1.042]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":140,"s":[1.042]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.597],"y":[0]},"t":165,"s":[0.129]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.597],"y":[0]},"t":175,"s":[0.129]},{"t":194,"s":[0]}],"ix":2},"w":216,"h":216,"ip":0,"op":207,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"hed","parent":1,"tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.576],"y":[1]},"o":{"x":[0.36],"y":[0.074]},"t":0,"s":[-23]},{"i":{"x":[0.573],"y":[1]},"o":{"x":[0.598],"y":[0]},"t":29.453,"s":[-33]},{"i":{"x":[0.174],"y":[1]},"o":{"x":[0.459],"y":[0]},"t":36,"s":[-33]},{"i":{"x":[0.601],"y":[1]},"o":{"x":[0.48],"y":[0]},"t":110,"s":[-17]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.486],"y":[0]},"t":165,"s":[-24.436]},{"t":197,"s":[-35]}],"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.508],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":5,"s":[0]},{"i":{"x":[0.336],"y":[1]},"o":{"x":[0.539],"y":[0]},"t":36,"s":[-7.536]},{"i":{"x":[0.641],"y":[1]},"o":{"x":[0.527],"y":[0]},"t":110,"s":[21.352]},{"i":{"x":[0.515],"y":[1]},"o":{"x":[0.478],"y":[0]},"t":165,"s":[-1.884]},{"t":182,"s":[0]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[125.6,125.6,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[80,80],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":207,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/App/Resources/Lotties2/getout_v3_120.json b/App/Resources/Lotties2/getout_v3_120.json new file mode 100755 index 000000000..b638a9d07 --- /dev/null +++ b/App/Resources/Lotties2/getout_v3_120.json @@ -0,0 +1 @@ +{"v":"5.7.13","fr":120,"ip":0,"op":7198,"w":180,"h":180,"nm":"_FrogRefresh 3x 120","ddd":0,"assets":[{"id":"comp_0","nm":"FrogAnim master","layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Adjustment Layer 13","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[150,150,0],"ix":2,"l":2},"a":{"a":0,"k":[150,150,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":283.2,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Rotate","hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0]},"t":43.2,"s":[0]},{"i":{"x":[0.833],"y":[0.634]},"o":{"x":[0.167],"y":[0.167]},"t":52.8,"s":[3.448]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.128]},"t":76.8,"s":[20.301]},{"t":120,"s":[107]}],"ix":10},"p":{"a":0,"k":[150,150,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":48,"op":283.2,"st":4.8,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"Scale","parent":2,"hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":9.6,"s":[97.6,97.6,100]},{"t":120,"s":[40,40,100]}],"ix":6,"l":2}},"ao":0,"ip":0,"op":283.2,"st":4.8,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"arrow","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[152]},{"t":120,"s":[117]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":81.6,"s":[-73.325,1.854,0],"to":[-0.507,0.591,0],"ti":[0.507,-0.591,0]},{"t":120,"s":[-76.366,5.397,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-50,50,0],"ix":1,"l":2},"s":{"a":0,"k":[250,250,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76.8,"s":[50]},{"t":120,"s":[45.5]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76.8,"s":[50]},{"t":120,"s":[54.5]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":81.6,"s":[3]},{"t":105.6,"s":[4]}],"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":76.8,"op":283.2,"st":4.8,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"circ","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":4.8,"s":[144,144]},{"t":120,"s":[60,60]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":35,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.347],"y":[0.155]},"t":62.4,"s":[0]},{"t":120,"s":[22]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":62.4,"s":[-162.631]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":67.2,"s":[-165.192]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[-166.996]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":76.8,"s":[-168.8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":91.2,"s":[-178]},{"t":120,"s":[-187]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":52.8,"op":283.2,"st":4.8,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Pupil A 2","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[-350,350,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-0.869],[0.869,0],[0,0.869],[-0.869,0]],"o":[[0,0.869],[-0.869,0],[0,-0.869],[0.869,0]],"v":[[1.573,0],[0,1.573],[-1.573,0],[0,-1.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57.6,"s":[{"i":[[0,-0.543],[0.543,0],[0,0.543],[-0.543,0]],"o":[[0,0.543],[-0.543,0],[0,-0.543],[0.543,0]],"v":[[0.984,0],[0,0.984],[-0.984,0],[0,-0.984]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.017],[0.017,0],[0,0.017],[-0.017,0]],"o":[[0,0.017],[-0.017,0],[0,-0.017],[0.017,0]],"v":[[0.031,0],[0,0.031],[-0.031,0],[0,-0.031]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":62.4,"st":4.8,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Pupil A","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[350,350,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-0.869],[0.869,0],[0,0.869],[-0.869,0]],"o":[[0,0.869],[-0.869,0],[0,-0.869],[0.869,0]],"v":[[1.573,0],[0,1.573],[-1.573,0],[0,-1.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57.6,"s":[{"i":[[0,-0.543],[0.543,0],[0,0.543],[-0.543,0]],"o":[[0,0.543],[-0.543,0],[0,-0.543],[0.543,0]],"v":[[0.984,0],[0,0.984],[-0.984,0],[0,-0.984]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.017],[0.017,0],[0,0.017],[-0.017,0]],"o":[[0,0.017],[-0.017,0],[0,-0.017],[0.017,0]],"v":[[0.031,0],[0,0.031],[-0.031,0],[0,-0.031]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":62.4,"st":4.8,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Eye A 2","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[-325,325,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-2.876],[2.876,0],[0,2.876],[-2.876,0]],"o":[[0,2.876],[-2.876,0],[0,-2.876],[2.876,0]],"v":[[5.208,0],[0,5.208],[-5.208,0],[0,-5.208]],"c":true}]},{"t":57.6,"s":[{"i":[[0,-0.008],[0.008,0],[0,0.008],[-0.008,0]],"o":[[0,0.008],[-0.008,0],[0,-0.008],[0.008,0]],"v":[[0.014,0],[0,0.014],[-0.014,0],[0,-0.014]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[1.5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":52.8,"s":[1.5]},{"t":62.4,"s":[0]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":62.4,"st":4.8,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Eye A","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[325,325,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-2.876],[2.876,0],[0,2.876],[-2.876,0]],"o":[[0,2.876],[-2.876,0],[0,-2.876],[2.876,0]],"v":[[5.208,0],[0,5.208],[-5.208,0],[0,-5.208]],"c":true}]},{"t":57.6,"s":[{"i":[[0,-0.008],[0.008,0],[0,0.008],[-0.008,0]],"o":[[0,0.008],[-0.008,0],[0,-0.008],[0.008,0]],"v":[[0.014,0],[0,0.014],[-0.014,0],[0,-0.014]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[1.5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":52.8,"s":[1.5]},{"t":62.4,"s":[0]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":62.4,"st":4.8,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"nostrilA 2","parent":13,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":24.486,"ix":3},"y":{"a":0,"k":-1.84,"ix":4}},"a":{"a":0,"k":[0.952,1.321,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[-130,130,100]},{"t":38.4,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.522,0],[0,0.616],[0.522,0],[0,-0.616]],"o":[[0.522,0],[0,-0.616],[-0.522,0],[0,0.616]],"v":[[-0.041,1.143],[0.795,0.163],[-0.041,-0.952],[-0.878,0.163]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.952,1.321],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":true}],"ip":0,"op":38.4,"st":4.8,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"nostrilA","parent":13,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":30.936,"ix":3},"y":{"a":0,"k":-1.84,"ix":4}},"a":{"a":0,"k":[0.952,1.321,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[130,130,100]},{"t":38.4,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.522,0],[0,0.616],[0.522,0],[0,-0.616]],"o":[[0.522,0],[0,-0.616],[-0.522,0],[0,0.616]],"v":[[-0.041,1.143],[0.795,0.163],[-0.041,-0.952],[-0.878,0.163]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.952,1.321],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":true}],"ip":0,"op":38.4,"st":4.8,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"outline","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-0.001,0],"ix":2,"l":2},"a":{"a":0,"k":[26.505,26.505,0],"ix":1,"l":2},"s":{"a":0,"k":[300,300,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[6.471,0],[2.723,-2.392],[1.566,0],[0,0],[0,0.012],[1.177,1.034],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[-1.177,1.034],[0,0],[-0.001,-0.013],[-1.566,0],[-2.445,-2.147],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[24,-12.282],[12.329,-24],[4.1,-20.479],[0.001,-18.638],[0.001,-18.599],[-0.001,-18.638],[-4.1,-20.479],[-12.28,-23.996],[-24,-12.42],[-23.998,12.282],[-12.28,24],[12.282,24],[24,12.282]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.6,"s":[{"i":[[0,0],[6.471,0],[2.451,-2.153],[1.566,0],[0,0],[0,0.012],[1.059,0.931],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[-1.059,0.931],[0,0],[-0.001,-0.013],[-1.566,0],[-2.201,-1.932],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[23.433,-11.699],[11.762,-23.417],[3.933,-20.246],[0.001,-18.59],[0.001,-18.551],[-0.001,-18.59],[-3.933,-20.247],[-11.713,-23.413],[-23.433,-11.837],[-23.431,11.707],[-11.713,23.425],[11.715,23.425],[23.433,11.707]],"c":true}]},{"t":52.8,"s":[{"i":[[0,0],[6.471,0],[0,0],[1.566,0],[0,0],[0,0.012],[0,0],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[0,0],[0,0],[-0.001,-0.013],[-1.566,0],[0,0],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[18.333,-6.449],[6.662,-18.167],[2.433,-18.151],[0.001,-18.153],[0.001,-18.114],[-0.001,-18.153],[-2.433,-18.156],[-6.613,-18.163],[-18.333,-6.587],[-18.331,6.532],[-6.613,18.25],[6.615,18.25],[18.333,6.532]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[26.505,26.505],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":52.8,"st":4.8,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"mouth","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[3]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":4.8,"s":[3]},{"t":100.8,"s":[3.937]}],"ix":4}},"a":{"a":0,"k":[27.711,4.968,0],"ix":1,"l":2},"s":{"a":0,"k":[300,300,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.8,"s":[{"i":[[0,0],[-14.152,0],[0,0]],"o":[[0,0],[14.152,0],[0,0]],"v":[[-23.961,1.219],[0.001,-1.219],[23.961,1.219]],"c":false}]},{"t":48,"s":[{"i":[[0,0],[-14.152,0],[0,0]],"o":[[0,0],[14.152,0],[0,0]],"v":[[-23.961,-0.216],[0.001,-0.262],[23.961,-0.216]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":4.8,"s":[1.5]},{"t":81.6,"s":[2]}],"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[27.711,4.968],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":1,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"t":96,"s":[0]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":91.2,"st":14.4,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"rotate","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.627],"y":[0.78]},"o":{"x":[0.167],"y":[0.167]},"t":90,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.271],"y":[0.218]},"t":175,"s":[405]},{"t":6956,"s":[21270.775]}],"ix":10},"p":{"a":0,"k":[90,90,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.15,0.15,0.667],"y":[1,1,1]},"o":{"x":[0.246,0.246,0.333],"y":[0,0,0]},"t":90,"s":[100,100,100]},{"i":{"x":[0.517,0.517,0.667],"y":[1,1,1]},"o":{"x":[0.459,0.459,0.333],"y":[0,0,0]},"t":102,"s":[120,120,100]},{"t":175,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"ip":90,"op":7198,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"FrogAnim master","parent":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[150,150,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.799],"y":[0.611]},"o":{"x":[0.651],"y":[0.159]},"t":0,"s":[0]},{"i":{"x":[0.379],"y":[1]},"o":{"x":[0.116],"y":[0.836]},"t":26.469,"s":[0.608]},{"t":90,"s":[1]}],"ix":2},"w":300,"h":300,"ip":0,"op":7198,"st":0,"bm":0}],"markers":[{"tm":0,"cm":"1","dr":0},{"tm":90,"cm":"refresh","dr":0}]} \ No newline at end of file diff --git a/App/Resources/Lotties2/getout_vP2_120.json b/App/Resources/Lotties2/getout_vP2_120.json new file mode 100755 index 000000000..06dcb8158 --- /dev/null +++ b/App/Resources/Lotties2/getout_vP2_120.json @@ -0,0 +1 @@ +{"v":"5.7.13","fr":120,"ip":0,"op":201,"w":260,"h":260,"nm":"_MainThrobber New 120","ddd":0,"assets":[{"id":"comp_0","nm":"Face Mask","layers":[{"ddd":0,"ind":1,"ty":3,"nm":"rotate","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.348],"y":[1]},"o":{"x":[0.161],"y":[0.53]},"t":0,"s":[33.333]},{"t":14.4,"s":[0]}],"ix":10},"p":{"a":0,"k":[54,54,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":235.2,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"main_mask","parent":1,"refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-24,18.75,0],"ix":2,"l":2},"a":{"a":0,"k":[47.25,82.25,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.637],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.344],"y":[0]},"t":14.4,"s":[0.2]},{"t":211.2,"s":[3.8]}],"ix":2},"w":135,"h":135,"ip":0,"op":225.6,"st":0,"bm":0}]},{"id":"comp_1","nm":"main_mask","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"eyeL","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-21.5,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[1],"y":[0]},"t":57.6,"s":[94]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":139.2,"s":[102.306]},{"t":374.4,"s":[94]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.414,0.414],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[0,0]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.385,0.385],"y":[0,0]},"t":23.892,"s":[16,16]},{"i":{"x":[0.766,0.766],"y":[0.538,0.538]},"o":{"x":[0.398,0.398],"y":[0,0]},"t":57.6,"s":[16,16]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[-15.144,-15.144]},"t":139.2,"s":[0,0]},{"i":{"x":[0.516,0.516],"y":[1,1]},"o":{"x":[0.358,0.358],"y":[0.872,0.872]},"t":374.4,"s":[0,0]},{"t":456,"s":[16,16]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":-14.4,"op":465.6,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"eyeR","parent":7,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-21.5,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[1],"y":[0]},"t":57.6,"s":[60]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":139.2,"s":[68.306]},{"t":374.4,"s":[60]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.414,0.414],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[0,0]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.385,0.385],"y":[0,0]},"t":23.892,"s":[16,16]},{"i":{"x":[0.766,0.766],"y":[0.538,0.538]},"o":{"x":[0.398,0.398],"y":[0,0]},"t":57.6,"s":[16,16]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[-15.144,-15.144]},"t":139.2,"s":[0,0]},{"i":{"x":[0.516,0.516],"y":[1,1]},"o":{"x":[0.358,0.358],"y":[0.872,0.872]},"t":374.4,"s":[0,0]},{"t":456,"s":[16,16]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":-14.4,"op":465.6,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"Jaw Corner","parent":6,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"s":true,"x":{"a":0,"k":-1.75,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.583],"y":[0.46]},"o":{"x":[0.163],"y":[0]},"t":0,"s":[29.75]},{"i":{"x":[0.872],"y":[0.799]},"o":{"x":[0.438],"y":[0.371]},"t":4.8,"s":[34.589]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.082],"y":[0.254]},"t":9.6,"s":[42]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":19.2,"s":[49.55]},{"i":{"x":[0.765],"y":[0.591]},"o":{"x":[0.441],"y":[0]},"t":24,"s":[49.55]},{"i":{"x":[0.833],"y":[0.77]},"o":{"x":[0.423],"y":[0.311]},"t":38.4,"s":[52.25]},{"i":{"x":[0.833],"y":[0.836]},"o":{"x":[0.167],"y":[0.141]},"t":48,"s":[56.511]},{"i":{"x":[0.833],"y":[0.815]},"o":{"x":[0.167],"y":[0.175]},"t":62.4,"s":[66.97]},{"i":{"x":[0.833],"y":[0.851]},"o":{"x":[0.167],"y":[0.159]},"t":67.2,"s":[70.229]},{"i":{"x":[0.833],"y":[0.903]},"o":{"x":[0.167],"y":[0.188]},"t":76.8,"s":[77.8]},{"i":{"x":[0.667],"y":[1.389]},"o":{"x":[0.167],"y":[0.259]},"t":86.4,"s":[83.8]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0.152]},"t":105.6,"s":[88.3]},{"i":{"x":[0.564],"y":[0.903]},"o":{"x":[0.333],"y":[0]},"t":124.8,"s":[76.8]},{"i":{"x":[0.657],"y":[1.158]},"o":{"x":[0.297],"y":[0.596]},"t":192,"s":[29.941]},{"i":{"x":[0.765],"y":[0.605]},"o":{"x":[0.393],"y":[0.093]},"t":220.8,"s":[27.722]},{"i":{"x":[0.682],"y":[0.754]},"o":{"x":[0.322],"y":[0.331]},"t":249.6,"s":[32.044]},{"i":{"x":[0.812],"y":[0.807]},"o":{"x":[0.441],"y":[0.444]},"t":264,"s":[35.854]},{"i":{"x":[0.592],"y":[1]},"o":{"x":[0.218],"y":[0.553]},"t":292.8,"s":[41.7]},{"t":388.8,"s":[49.55]}],"ix":4}},"a":{"a":0,"k":[48,0,0],"ix":1,"l":2},"s":{"a":0,"k":[-13,-13,100],"ix":6,"l":2}},"ao":0,"w":48,"h":48,"ip":0,"op":460.8,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"Lip Corner","parent":7,"refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0.7,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.215],"y":[0]},"t":0,"s":[30.9]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":9.6,"s":[31.2]},{"i":{"x":[0.838],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":24,"s":[31.2]},{"i":{"x":[0.833],"y":[0.533]},"o":{"x":[1],"y":[0]},"t":57.6,"s":[31.283]},{"i":{"x":[0.583],"y":[0.412]},"o":{"x":[0.167],"y":[0.145]},"t":76.8,"s":[31.75]},{"i":{"x":[0.833],"y":[0.801]},"o":{"x":[0.417],"y":[0.315]},"t":86.4,"s":[32.5]},{"i":{"x":[0.57],"y":[0.546]},"o":{"x":[0.175],"y":[0.142]},"t":96,"s":[33.9]},{"i":{"x":[0.706],"y":[0.797]},"o":{"x":[0.342],"y":[0.232]},"t":105.6,"s":[35.959]},{"i":{"x":[0.794],"y":[-1.24]},"o":{"x":[0.436],"y":[4.894]},"t":115.2,"s":[39.157]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":120,"s":[39.256]},{"i":{"x":[0.817],"y":[0.591]},"o":{"x":[0.448],"y":[0]},"t":288,"s":[39.089]},{"i":{"x":[0.833],"y":[0.888]},"o":{"x":[0.12],"y":[0.096]},"t":336,"s":[35.4]},{"i":{"x":[0.833],"y":[0.908]},"o":{"x":[0.167],"y":[0.329]},"t":350.4,"s":[32.3]},{"i":{"x":[0.575],"y":[1.021]},"o":{"x":[0.167],"y":[0.323]},"t":364.8,"s":[31.25]},{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.258],"y":[0.034]},"t":388.8,"s":[30.75]},{"t":456,"s":[31.283]}],"ix":4}},"a":{"a":0,"k":[48,0,0],"ix":1,"l":2},"s":{"a":0,"k":[13,13,100],"ix":6,"l":2}},"ao":0,"w":48,"h":48,"ip":0,"op":460.8,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":1,"nm":"Jaw","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.657],"y":[1]},"o":{"x":[0.195],"y":[0.379]},"t":0,"s":[-297.4]},{"i":{"x":[0.502],"y":[1]},"o":{"x":[0.502],"y":[0]},"t":19.2,"s":[-256.5]},{"i":{"x":[0.673],"y":[0.65]},"o":{"x":[0.333],"y":[0]},"t":24,"s":[-256.5]},{"i":{"x":[0.461],"y":[1]},"o":{"x":[0.184],"y":[0.654]},"t":182.4,"s":[0]},{"t":388.8,"s":[103.5]}],"ix":10},"p":{"a":0,"k":[47.057,83.476,0],"ix":2,"l":2},"a":{"a":0,"k":[0,112.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"sw":225,"sh":225,"sc":"#ff3838","ip":0,"op":480,"st":-216,"bm":0},{"ddd":0,"ind":7,"ty":1,"nm":"Upper Lip","tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.689],"y":[0.441]},"o":{"x":[0.368],"y":[0]},"t":57.6,"s":[-297.5]},{"i":{"x":[0.681],"y":[0.669]},"o":{"x":[0.336],"y":[0.31]},"t":182.4,"s":[-180]},{"i":{"x":[0.781],"y":[0.893]},"o":{"x":[0.327],"y":[0.599]},"t":225.6,"s":[-100.674]},{"i":{"x":[0.571],"y":[1]},"o":{"x":[0.237],"y":[0.586]},"t":364.8,"s":[43.794]},{"t":456,"s":[62.5]}],"ix":10},"p":{"a":0,"k":[47.057,83.476,0],"ix":2,"l":2},"a":{"a":0,"k":[0,112.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"sw":225,"sh":225,"sc":"#ff3838","ip":0,"op":480,"st":-216,"bm":0}]},{"id":"comp_2","nm":"Corner 2","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[24,24,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-53],[13.375,-18.625],[73.868,73.868]],"o":[[24.5,0],[-12,27.5],[0,-11.514]],"v":[[-19.75,-11.25],[-2.562,21.125],[25.125,-26.236]],"c":true}]},{"t":4.8,"s":[{"i":[[0,-53],[13.375,-18.625],[73.868,73.868]],"o":[[24.5,0],[-12,27.5],[0,-11.514]],"v":[[-19.75,-11.25],[-2.562,21.125],[25.125,-26.236]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":460.8,"st":0,"bm":0}]},{"id":"comp_3","nm":"Corner","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[24,24,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-54.625],[0,-31.75],[0,0]],"o":[[32,0],[43.625,0],[0,0]],"v":[[-24,-20.125],[18.875,24],[33.375,-32.111]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":460.8,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Face Mask","td":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[130,130,0],"ix":2,"l":2},"a":{"a":0,"k":[54,54,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.633,0.633,0.667],"y":[1,1,1]},"o":{"x":[0.38,0.38,0.332],"y":[0.65,0.65,0]},"t":0,"s":[50,50,100]},{"i":{"x":[0.496,0.496,0.667],"y":[1,1,1]},"o":{"x":[0.382,0.382,0.298],"y":[0,0,0]},"t":21,"s":[105,105,100]},{"i":{"x":[0.353,0.353,0.819],"y":[1,1,1]},"o":{"x":[0.372,0.372,0.333],"y":[0,0,0]},"t":36,"s":[97.5,97.5,100]},{"t":50,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.897],"y":[0.891]},"o":{"x":[0.167],"y":[0.167]},"t":5,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[0.123]},{"t":190,"s":[1.786]}],"ix":2},"w":108,"h":108,"ip":6,"op":210,"st":-152,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Blue Circ 2","tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[130,130,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.633,0.633,0.667],"y":[1,1,1]},"o":{"x":[0.38,0.38,0.332],"y":[0.65,0.65,0]},"t":0,"s":[50,50,100]},{"i":{"x":[0.528,0.528,0.667],"y":[1,1,1]},"o":{"x":[0.382,0.382,0.298],"y":[0,0,0]},"t":21,"s":[105,105,100]},{"i":{"x":[0.565,0.565,0.819],"y":[1,1,1]},"o":{"x":[0.36,0.36,0.333],"y":[0,0,0]},"t":36,"s":[97.5,97.5,100]},{"t":50,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"circ","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":6,"op":208,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Blue Circ","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[130,130,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.633,0.633,0.667],"y":[1,1,1]},"o":{"x":[0.38,0.38,0.332],"y":[0.65,0.65,0]},"t":0,"s":[50,50,100]},{"i":{"x":[0.528,0.528,0.667],"y":[1,1,1]},"o":{"x":[0.382,0.382,0.298],"y":[0,0,0]},"t":21,"s":[105,105,100]},{"i":{"x":[0.565,0.565,0.819],"y":[1,1,1]},"o":{"x":[0.36,0.36,0.333],"y":[0,0,0]},"t":36,"s":[97.5,97.5,100]},{"t":50,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"circ","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0.40000000596,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":6,"st":0,"bm":0}],"markers":[{"tm":50,"cm":"loop start","dr":0}]} \ No newline at end of file diff --git a/App/Resources/Lotties2/getout_vP3_120.json b/App/Resources/Lotties2/getout_vP3_120.json new file mode 100755 index 000000000..0413b2ad8 --- /dev/null +++ b/App/Resources/Lotties2/getout_vP3_120.json @@ -0,0 +1 @@ +{"v":"5.7.13","fr":120,"ip":0,"op":7198,"w":180,"h":180,"nm":"_FrogRefresh 3x 120","ddd":0,"assets":[{"id":"comp_0","nm":"FrogAnim master","layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Rotate","hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.76],"y":[0.283]},"o":{"x":[0.397],"y":[0]},"t":38.4,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.162],"y":[0.128]},"t":76.8,"s":[20.301]},{"t":120,"s":[107]}],"ix":10},"p":{"a":0,"k":[150,150,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":38.4,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Scale","parent":1,"hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":9.6,"s":[97.6,97.6,100]},{"t":120,"s":[40,40,100]}],"ix":6,"l":2}},"ao":0,"ip":0,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"arrow","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[152]},{"t":120,"s":[117]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":81.6,"s":[-73.325,1.854,0],"to":[-0.507,0.591,0],"ti":[0.507,-0.591,0]},{"t":120,"s":[-76.366,5.397,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-50,50,0],"ix":1,"l":2},"s":{"a":0,"k":[250,250,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76.8,"s":[50]},{"t":120,"s":[45.5]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76.8,"s":[50]},{"t":120,"s":[54.5]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":81.6,"s":[3]},{"t":105.6,"s":[4]}],"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":76.8,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"circ","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":4.8,"s":[144,144]},{"t":120,"s":[60,60]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":35,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.347],"y":[0.155]},"t":62.4,"s":[0]},{"t":120,"s":[22]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":62.4,"s":[-162.631]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":67.2,"s":[-165.192]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[-166.996]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":76.8,"s":[-168.8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":91.2,"s":[-178]},{"t":120,"s":[-187]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":52.8,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"PupilA","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,17.26]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[400,400,100]},{"t":52.8,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-0.869],[0.869,0],[0,0.869],[-0.869,0]],"o":[[0,0.869],[-0.869,0],[0,-0.869],[0.869,0]],"v":[[1.573,0],[0,1.573],[-1.573,0],[0,-1.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57.6,"s":[{"i":[[0,-0.543],[0.543,0],[0,0.543],[-0.543,0]],"o":[[0,0.543],[-0.543,0],[0,-0.543],[0.543,0]],"v":[[0.984,0],[0,0.984],[-0.984,0],[0,-0.984]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.017],[0.017,0],[0,0.017],[-0.017,0]],"o":[[0,0.017],[-0.017,0],[0,-0.017],[0.017,0]],"v":[[0.031,0],[0,0.031],[-0.031,0],[0,-0.031]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"PupilA_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":57.6,"st":-67.2,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"PupilB","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,17.26]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[400,400,100]},{"t":52.8,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-0.869],[0.869,0],[0,0.869],[-0.869,0]],"o":[[0,0.869],[-0.869,0],[0,-0.869],[0.869,0]],"v":[[1.573,0],[0,1.573],[-1.573,0],[0,-1.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57.6,"s":[{"i":[[0,-0.543],[0.543,0],[0,0.543],[-0.543,0]],"o":[[0,0.543],[-0.543,0],[0,-0.543],[0.543,0]],"v":[[0.984,0],[0,0.984],[-0.984,0],[0,-0.984]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.017],[0.017,0],[0,0.017],[-0.017,0]],"o":[[0,0.017],[-0.017,0],[0,-0.017],[0.017,0]],"v":[[0.031,0],[0,0.031],[-0.031,0],[0,-0.031]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"PupilB_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":57.6,"st":-67.2,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"EyeA","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[325,325,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-2.876],[2.876,0],[0,2.876],[-2.876,0]],"o":[[0,2.876],[-2.876,0],[0,-2.876],[2.876,0]],"v":[[5.208,0],[0,5.208],[-5.208,0],[0,-5.208]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52.8,"s":[{"i":[[0,-0.247],[0.247,0],[0,0.247],[-0.247,0]],"o":[[0,0.247],[-0.247,0],[0,-0.247],[0.247,0]],"v":[[0.447,0],[0,0.447],[-0.447,0],[0,-0.447]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.244],[0.244,0],[0,0.244],[-0.244,0]],"o":[[0,0.244],[-0.244,0],[0,-0.244],[0.244,0]],"v":[[0.441,0],[0,0.441],[-0.441,0],[0,-0.441]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":0,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":52.8,"s":[1.5]},{"t":62.4,"s":[0]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Outline","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"EyeA_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":62.4,"st":-67.2,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"EyeB","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[-325,325,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-2.876],[2.876,0],[0,2.876],[-2.876,0]],"o":[[0,2.876],[-2.876,0],[0,-2.876],[2.876,0]],"v":[[5.208,0],[0,5.208],[-5.208,0],[0,-5.208]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52.8,"s":[{"i":[[0,-0.247],[0.247,0],[0,0.247],[-0.247,0]],"o":[[0,0.247],[-0.247,0],[0,-0.247],[0.247,0]],"v":[[0.447,0],[0,0.447],[-0.447,0],[0,-0.447]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.244],[0.244,0],[0,0.244],[-0.244,0]],"o":[[0,0.244],[-0.244,0],[0,-0.244],[0.244,0]],"v":[[0.441,0],[0,0.441],[-0.441,0],[0,-0.441]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":0,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":52.8,"s":[1.5]},{"t":62.4,"s":[0]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Outline","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"EyeB_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":62.4,"st":-67.2,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"nostrilA","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":24.486,"ix":3},"y":{"a":0,"k":-2.25,"ix":4}},"a":{"a":0,"k":[0.952,1.321,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[-130,130,100]},{"t":38.4,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.522,0],[0,0.616],[0.522,0],[0,-0.616]],"o":[[0.522,0],[0,-0.616],[-0.522,0],[0,0.616]],"v":[[-0.041,1.143],[0.795,0.163],[-0.041,-0.952],[-0.878,0.163]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.952,1.321],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":true}],"ip":0,"op":38.4,"st":-67.2,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"nostrilB","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":30.936,"ix":3},"y":{"a":0,"k":-2.25,"ix":4}},"a":{"a":0,"k":[0.952,1.321,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[130,130,100]},{"t":38.4,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.522,0],[0,0.616],[0.522,0],[0,-0.616]],"o":[[0.522,0],[0,-0.616],[-0.522,0],[0,0.616]],"v":[[-0.041,1.143],[0.795,0.163],[-0.041,-0.952],[-0.878,0.163]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.952,1.321],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":true}],"ip":0,"op":38.4,"st":-67.2,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"mouth","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[3]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":4.8,"s":[3]},{"t":100.8,"s":[3.937]}],"ix":4}},"a":{"a":0,"k":[27.711,4.968,0],"ix":1,"l":2},"s":{"a":0,"k":[300,300,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.8,"s":[{"i":[[0,0],[-14.152,0],[0,0]],"o":[[0,0],[14.152,0],[0,0]],"v":[[-23.961,1.219],[0.001,-1.219],[23.961,1.219]],"c":false}]},{"t":48,"s":[{"i":[[0,0],[-14.152,0],[0,0]],"o":[[0,0],[14.152,0],[0,0]],"v":[[-23.961,-0.216],[0.001,-0.262],[23.961,-0.216]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":4.8,"s":[1.5]},{"t":81.6,"s":[2]}],"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[27.711,4.968],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":1,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"t":96,"s":[0]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":91.2,"st":-57.6,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"outline","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-0.001,0],"ix":2,"l":2},"a":{"a":0,"k":[26.505,26.505,0],"ix":1,"l":2},"s":{"a":0,"k":[300,300,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[6.471,0],[2.723,-2.392],[1.566,0],[0,0],[0,0.012],[1.177,1.034],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[-1.177,1.034],[0,0],[-0.001,-0.013],[-1.566,0],[-2.445,-2.147],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[24,-12.282],[12.329,-24],[4.1,-20.479],[0.001,-18.638],[0.001,-18.599],[-0.001,-18.638],[-4.1,-20.479],[-12.28,-23.996],[-24,-12.42],[-23.998,12.282],[-12.28,24],[12.282,24],[24,12.282]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.6,"s":[{"i":[[0,0],[6.471,0],[2.451,-2.153],[1.566,0],[0,0],[0,0.012],[1.059,0.931],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[-1.059,0.931],[0,0],[-0.001,-0.013],[-1.566,0],[-2.201,-1.932],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[23.433,-11.699],[11.762,-23.417],[3.933,-20.246],[0.001,-18.59],[0.001,-18.551],[-0.001,-18.59],[-3.933,-20.247],[-11.713,-23.413],[-23.433,-11.837],[-23.431,11.707],[-11.713,23.425],[11.715,23.425],[23.433,11.707]],"c":true}]},{"t":52.8,"s":[{"i":[[0,0],[6.471,0],[0,0],[1.566,0],[0,0],[0,0.012],[0,0],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[0,0],[0,0],[-0.001,-0.013],[-1.566,0],[0,0],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[18.333,-6.449],[6.662,-18.167],[2.433,-18.151],[0.001,-18.153],[0.001,-18.114],[-0.001,-18.153],[-2.433,-18.156],[-6.613,-18.163],[-18.333,-6.587],[-18.331,6.532],[-6.613,18.25],[6.615,18.25],[18.333,6.532]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[26.505,26.505],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":52.8,"st":-67.2,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"rotate","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.627],"y":[0.78]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.747],"y":[0.745]},"t":135,"s":[405]},{"t":7197,"s":[21270.775]}],"ix":10},"p":{"a":0,"k":[90,90,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.15,0.15,0.667],"y":[1,1,1]},"o":{"x":[0.246,0.246,0.333],"y":[0,0,0]},"t":50,"s":[100,100,100]},{"i":{"x":[0.517,0.517,0.667],"y":[1,1,1]},"o":{"x":[0.459,0.459,0.333],"y":[0,0,0]},"t":62,"s":[120,120,100]},{"t":135,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"ip":50,"op":7198,"st":-40,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"FrogAnim master","parent":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[150,150,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.799],"y":[0.602]},"o":{"x":[0.651],"y":[0.159]},"t":0,"s":[0]},{"i":{"x":[0.495],"y":[1]},"o":{"x":[0.217],"y":[0.591]},"t":26.469,"s":[0.608]},{"t":50,"s":[1]}],"ix":2},"w":300,"h":300,"ip":0,"op":7198,"st":0,"bm":0}],"markers":[{"tm":0,"cm":"1","dr":0},{"tm":50,"cm":"refresh","dr":0}]} \ No newline at end of file diff --git a/App/Resources/Lotties2/getout_vP_120.json b/App/Resources/Lotties2/getout_vP_120.json new file mode 100755 index 000000000..63cedb955 --- /dev/null +++ b/App/Resources/Lotties2/getout_vP_120.json @@ -0,0 +1 @@ +{"v":"5.7.13","fr":120,"ip":0,"op":7198,"w":180,"h":180,"nm":"_FrogRefresh 3x 120","ddd":0,"assets":[{"id":"comp_0","nm":"FrogAnim master","layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Rotate","hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.76],"y":[0.283]},"o":{"x":[0.397],"y":[0]},"t":38.4,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.162],"y":[0.128]},"t":76.8,"s":[20.301]},{"t":120,"s":[107]}],"ix":10},"p":{"a":0,"k":[150,150,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":38.4,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Scale","parent":1,"hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":9.6,"s":[97.6,97.6,100]},{"t":120,"s":[40,40,100]}],"ix":6,"l":2}},"ao":0,"ip":0,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"arrow","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[152]},{"t":120,"s":[117]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":81.6,"s":[-73.325,1.854,0],"to":[-0.507,0.591,0],"ti":[0.507,-0.591,0]},{"t":120,"s":[-76.366,5.397,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-50,50,0],"ix":1,"l":2},"s":{"a":0,"k":[250,250,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76.8,"s":[50]},{"t":120,"s":[45.5]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76.8,"s":[50]},{"t":120,"s":[54.5]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":81.6,"s":[3]},{"t":105.6,"s":[4]}],"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":76.8,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"circ","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":4.8,"s":[144,144]},{"t":120,"s":[60,60]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":35,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.347],"y":[0.155]},"t":62.4,"s":[0]},{"t":120,"s":[22]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":62.4,"s":[-162.631]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":67.2,"s":[-165.192]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[-166.996]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":76.8,"s":[-168.8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":91.2,"s":[-178]},{"t":120,"s":[-187]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":52.8,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"PupilA","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,17.26]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[400,400,100]},{"t":52.8,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-0.869],[0.869,0],[0,0.869],[-0.869,0]],"o":[[0,0.869],[-0.869,0],[0,-0.869],[0.869,0]],"v":[[1.573,0],[0,1.573],[-1.573,0],[0,-1.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57.6,"s":[{"i":[[0,-0.543],[0.543,0],[0,0.543],[-0.543,0]],"o":[[0,0.543],[-0.543,0],[0,-0.543],[0.543,0]],"v":[[0.984,0],[0,0.984],[-0.984,0],[0,-0.984]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.017],[0.017,0],[0,0.017],[-0.017,0]],"o":[[0,0.017],[-0.017,0],[0,-0.017],[0.017,0]],"v":[[0.031,0],[0,0.031],[-0.031,0],[0,-0.031]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"PupilA_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":57.6,"st":-67.2,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"PupilB","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,17.26]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[400,400,100]},{"t":52.8,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-0.869],[0.869,0],[0,0.869],[-0.869,0]],"o":[[0,0.869],[-0.869,0],[0,-0.869],[0.869,0]],"v":[[1.573,0],[0,1.573],[-1.573,0],[0,-1.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57.6,"s":[{"i":[[0,-0.543],[0.543,0],[0,0.543],[-0.543,0]],"o":[[0,0.543],[-0.543,0],[0,-0.543],[0.543,0]],"v":[[0.984,0],[0,0.984],[-0.984,0],[0,-0.984]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.017],[0.017,0],[0,0.017],[-0.017,0]],"o":[[0,0.017],[-0.017,0],[0,-0.017],[0.017,0]],"v":[[0.031,0],[0,0.031],[-0.031,0],[0,-0.031]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"PupilB_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":57.6,"st":-67.2,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"EyeA","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[325,325,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-2.876],[2.876,0],[0,2.876],[-2.876,0]],"o":[[0,2.876],[-2.876,0],[0,-2.876],[2.876,0]],"v":[[5.208,0],[0,5.208],[-5.208,0],[0,-5.208]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52.8,"s":[{"i":[[0,-0.247],[0.247,0],[0,0.247],[-0.247,0]],"o":[[0,0.247],[-0.247,0],[0,-0.247],[0.247,0]],"v":[[0.447,0],[0,0.447],[-0.447,0],[0,-0.447]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.244],[0.244,0],[0,0.244],[-0.244,0]],"o":[[0,0.244],[-0.244,0],[0,-0.244],[0.244,0]],"v":[[0.441,0],[0,0.441],[-0.441,0],[0,-0.441]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":52.8,"s":[1.5]},{"t":62.4,"s":[0]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Outline","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"EyeA_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":62.4,"st":-67.2,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"EyeB","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[-325,325,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-2.876],[2.876,0],[0,2.876],[-2.876,0]],"o":[[0,2.876],[-2.876,0],[0,-2.876],[2.876,0]],"v":[[5.208,0],[0,5.208],[-5.208,0],[0,-5.208]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52.8,"s":[{"i":[[0,-0.247],[0.247,0],[0,0.247],[-0.247,0]],"o":[[0,0.247],[-0.247,0],[0,-0.247],[0.247,0]],"v":[[0.447,0],[0,0.447],[-0.447,0],[0,-0.447]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.244],[0.244,0],[0,0.244],[-0.244,0]],"o":[[0,0.244],[-0.244,0],[0,-0.244],[0.244,0]],"v":[[0.441,0],[0,0.441],[-0.441,0],[0,-0.441]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":52.8,"s":[1.5]},{"t":62.4,"s":[0]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Outline","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"EyeB_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":62.4,"st":-67.2,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"nostrilA","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":24.486,"ix":3},"y":{"a":0,"k":-1.84,"ix":4}},"a":{"a":0,"k":[0.952,1.321,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[-130,130,100]},{"t":38.4,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.522,0],[0,0.616],[0.522,0],[0,-0.616]],"o":[[0.522,0],[0,-0.616],[-0.522,0],[0,0.616]],"v":[[-0.041,1.143],[0.795,0.163],[-0.041,-0.952],[-0.878,0.163]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.952,1.321],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":true}],"ip":0,"op":38.4,"st":-67.2,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"nostrilB","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":30.936,"ix":3},"y":{"a":0,"k":-1.84,"ix":4}},"a":{"a":0,"k":[0.952,1.321,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[130,130,100]},{"t":38.4,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.522,0],[0,0.616],[0.522,0],[0,-0.616]],"o":[[0.522,0],[0,-0.616],[-0.522,0],[0,0.616]],"v":[[-0.041,1.143],[0.795,0.163],[-0.041,-0.952],[-0.878,0.163]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.952,1.321],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":true}],"ip":0,"op":38.4,"st":-67.2,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"mouth","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[3]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":4.8,"s":[3]},{"t":100.8,"s":[3.937]}],"ix":4}},"a":{"a":0,"k":[27.711,4.968,0],"ix":1,"l":2},"s":{"a":0,"k":[300,300,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.8,"s":[{"i":[[0,0],[-14.152,0],[0,0]],"o":[[0,0],[14.152,0],[0,0]],"v":[[-23.961,1.219],[0.001,-1.219],[23.961,1.219]],"c":false}]},{"t":48,"s":[{"i":[[0,0],[-14.152,0],[0,0]],"o":[[0,0],[14.152,0],[0,0]],"v":[[-23.961,-0.216],[0.001,-0.262],[23.961,-0.216]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":4.8,"s":[1.5]},{"t":81.6,"s":[2]}],"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[27.711,4.968],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":1,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"t":96,"s":[0]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":91.2,"st":-57.6,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"outline","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-0.001,0],"ix":2,"l":2},"a":{"a":0,"k":[26.505,26.505,0],"ix":1,"l":2},"s":{"a":0,"k":[300,300,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[6.471,0],[2.723,-2.392],[1.566,0],[0,0],[0,0.012],[1.177,1.034],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[-1.177,1.034],[0,0],[-0.001,-0.013],[-1.566,0],[-2.445,-2.147],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[24,-12.282],[12.329,-24],[4.1,-20.479],[0.001,-18.638],[0.001,-18.599],[-0.001,-18.638],[-4.1,-20.479],[-12.28,-23.996],[-24,-12.42],[-23.998,12.282],[-12.28,24],[12.282,24],[24,12.282]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.6,"s":[{"i":[[0,0],[6.471,0],[2.451,-2.153],[1.566,0],[0,0],[0,0.012],[1.059,0.931],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[-1.059,0.931],[0,0],[-0.001,-0.013],[-1.566,0],[-2.201,-1.932],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[23.433,-11.699],[11.762,-23.417],[3.933,-20.246],[0.001,-18.59],[0.001,-18.551],[-0.001,-18.59],[-3.933,-20.247],[-11.713,-23.413],[-23.433,-11.837],[-23.431,11.707],[-11.713,23.425],[11.715,23.425],[23.433,11.707]],"c":true}]},{"t":52.8,"s":[{"i":[[0,0],[6.471,0],[0,0],[1.566,0],[0,0],[0,0.012],[0,0],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[0,0],[0,0],[-0.001,-0.013],[-1.566,0],[0,0],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[18.333,-6.449],[6.662,-18.167],[2.433,-18.151],[0.001,-18.153],[0.001,-18.114],[-0.001,-18.153],[-2.433,-18.156],[-6.613,-18.163],[-18.333,-6.587],[-18.331,6.532],[-6.613,18.25],[6.615,18.25],[18.333,6.532]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[26.505,26.505],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":52.8,"st":-67.2,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"rotate","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.627],"y":[0.78]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.747],"y":[0.745]},"t":135,"s":[405]},{"t":7197,"s":[21270.775]}],"ix":10},"p":{"a":0,"k":[90,90,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.15,0.15,0.667],"y":[1,1,1]},"o":{"x":[0.246,0.246,0.333],"y":[0,0,0]},"t":50,"s":[100,100,100]},{"i":{"x":[0.517,0.517,0.667],"y":[1,1,1]},"o":{"x":[0.459,0.459,0.333],"y":[0,0,0]},"t":62,"s":[120,120,100]},{"t":135,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"ip":50,"op":7198,"st":-40,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"FrogAnim master","parent":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[150,150,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.799],"y":[0.602]},"o":{"x":[0.651],"y":[0.159]},"t":0,"s":[0]},{"i":{"x":[0.495],"y":[1]},"o":{"x":[0.217],"y":[0.591]},"t":26.469,"s":[0.608]},{"t":50,"s":[1]}],"ix":2},"w":300,"h":300,"ip":0,"op":7198,"st":0,"bm":0}],"markers":[{"tm":0,"cm":"1","dr":0},{"tm":50,"cm":"refresh","dr":0}]} \ No newline at end of file diff --git a/App/Resources/Lotties2/getout_vZ_120.json b/App/Resources/Lotties2/getout_vZ_120.json new file mode 100755 index 000000000..00b2c6aba --- /dev/null +++ b/App/Resources/Lotties2/getout_vZ_120.json @@ -0,0 +1 @@ +{"v":"5.7.13","fr":120,"ip":0,"op":7198,"w":180,"h":180,"nm":"_FrogRefresh 3x 120","ddd":0,"assets":[{"id":"comp_0","nm":"FrogAnim master","layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Rotate","hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.76],"y":[0.283]},"o":{"x":[0.397],"y":[0]},"t":38.4,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.162],"y":[0.128]},"t":76.8,"s":[20.301]},{"t":120,"s":[107]}],"ix":10},"p":{"a":0,"k":[150,150,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":38.4,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Scale","parent":1,"hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":9.6,"s":[97.6,97.6,100]},{"t":120,"s":[40,40,100]}],"ix":6,"l":2}},"ao":0,"ip":0,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"arrow","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[152]},{"t":120,"s":[117]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":81.6,"s":[-73.325,1.854,0],"to":[-0.507,0.591,0],"ti":[0.507,-0.591,0]},{"t":120,"s":[-76.366,5.397,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-50,50,0],"ix":1,"l":2},"s":{"a":0,"k":[250,250,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,100],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76.8,"s":[50]},{"t":120,"s":[45.5]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76.8,"s":[50]},{"t":120,"s":[54.5]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":81.6,"s":[3]},{"t":105.6,"s":[4]}],"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":76.8,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"circ","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":4.8,"s":[144,144]},{"t":120,"s":[60,60]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":35,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.347],"y":[0.155]},"t":62.4,"s":[0]},{"t":120,"s":[22]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":62.4,"s":[-162.631]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":67.2,"s":[-165.192]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[-166.996]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":76.8,"s":[-168.8]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":91.2,"s":[-178]},{"t":120,"s":[-187]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":52.8,"op":283.2,"st":-67.2,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"PupilA","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,17.26]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[400,400,100]},{"t":52.8,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-0.869],[0.869,0],[0,0.869],[-0.869,0]],"o":[[0,0.869],[-0.869,0],[0,-0.869],[0.869,0]],"v":[[1.573,0],[0,1.573],[-1.573,0],[0,-1.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57.6,"s":[{"i":[[0,-0.543],[0.543,0],[0,0.543],[-0.543,0]],"o":[[0,0.543],[-0.543,0],[0,-0.543],[0.543,0]],"v":[[0.984,0],[0,0.984],[-0.984,0],[0,-0.984]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.017],[0.017,0],[0,0.017],[-0.017,0]],"o":[[0,0.017],[-0.017,0],[0,-0.017],[0.017,0]],"v":[[0.031,0],[0,0.031],[-0.031,0],[0,-0.031]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"PupilA_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":57.6,"st":-67.2,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"PupilB","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,17.26]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[400,400,100]},{"t":52.8,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-0.869],[0.869,0],[0,0.869],[-0.869,0]],"o":[[0,0.869],[-0.869,0],[0,-0.869],[0.869,0]],"v":[[1.573,0],[0,1.573],[-1.573,0],[0,-1.573]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57.6,"s":[{"i":[[0,-0.543],[0.543,0],[0,0.543],[-0.543,0]],"o":[[0,0.543],[-0.543,0],[0,-0.543],[0.543,0]],"v":[[0.984,0],[0,0.984],[-0.984,0],[0,-0.984]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.017],[0.017,0],[0,0.017],[-0.017,0]],"o":[[0,0.017],[-0.017,0],[0,-0.017],[0.017,0]],"v":[[0.031,0],[0,0.031],[-0.031,0],[0,-0.031]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"PupilB_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":57.6,"st":-67.2,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"EyeA","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":-36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[325,325,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-2.876],[2.876,0],[0,2.876],[-2.876,0]],"o":[[0,2.876],[-2.876,0],[0,-2.876],[2.876,0]],"v":[[5.208,0],[0,5.208],[-5.208,0],[0,-5.208]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52.8,"s":[{"i":[[0,-0.247],[0.247,0],[0,0.247],[-0.247,0]],"o":[[0,0.247],[-0.247,0],[0,-0.247],[0.247,0]],"v":[[0.447,0],[0,0.447],[-0.447,0],[0,-0.447]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.244],[0.244,0],[0,0.244],[-0.244,0]],"o":[[0,0.244],[-0.244,0],[0,-0.244],[0.244,0]],"v":[[0.441,0],[0,0.441],[-0.441,0],[0,-0.441]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":52.8,"s":[1.5]},{"t":62.4,"s":[0]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"EyeA_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":62.4,"st":-67.2,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"EyeB","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":36.988,"ix":3},"y":{"a":0,"k":-36.826,"ix":4}},"a":{"a":0,"k":[7.864,7.863,0],"ix":1,"l":2},"s":{"a":0,"k":[-325,325,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,-2.876],[2.876,0],[0,2.876],[-2.876,0]],"o":[[0,2.876],[-2.876,0],[0,-2.876],[2.876,0]],"v":[[5.208,0],[0,5.208],[-5.208,0],[0,-5.208]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52.8,"s":[{"i":[[0,-0.247],[0.247,0],[0,0.247],[-0.247,0]],"o":[[0,0.247],[-0.247,0],[0,-0.247],[0.247,0]],"v":[[0.447,0],[0,0.447],[-0.447,0],[0,-0.447]],"c":true}]},{"t":62.4,"s":[{"i":[[0,-0.244],[0.244,0],[0,0.244],[-0.244,0]],"o":[[0,0.244],[-0.244,0],[0,-0.244],[0.244,0]],"v":[[0.441,0],[0,0.441],[-0.441,0],[0,-0.441]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":52.8,"s":[1.5]},{"t":62.4,"s":[0]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[7.864,7.863],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"EyeB_Fill","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":62.4,"st":-67.2,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"nostrilA","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":24.486,"ix":3},"y":{"a":0,"k":-1.84,"ix":4}},"a":{"a":0,"k":[0.952,1.321,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[-130,130,100]},{"t":38.4,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.522,0],[0,0.616],[0.522,0],[0,-0.616]],"o":[[0.522,0],[0,-0.616],[-0.522,0],[0,0.616]],"v":[[-0.041,1.143],[0.795,0.163],[-0.041,-0.952],[-0.878,0.163]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.952,1.321],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":true}],"ip":0,"op":38.4,"st":-67.2,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"nostrilB","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":30.936,"ix":3},"y":{"a":0,"k":-1.84,"ix":4}},"a":{"a":0,"k":[0.952,1.321,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":0,"s":[130,130,100]},{"t":38.4,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.522,0],[0,0.616],[0.522,0],[0,-0.616]],"o":[[0.522,0],[0,-0.616],[-0.522,0],[0,0.616]],"v":[[-0.041,1.143],[0.795,0.163],[-0.041,-0.952],[-0.878,0.163]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.952,1.321],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":true}],"ip":0,"op":38.4,"st":-67.2,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"mouth","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[3]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":4.8,"s":[3]},{"t":100.8,"s":[3.937]}],"ix":4}},"a":{"a":0,"k":[27.711,4.968,0],"ix":1,"l":2},"s":{"a":0,"k":[300,300,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":4.8,"s":[{"i":[[0,0],[-14.152,0],[0,0]],"o":[[0,0],[14.152,0],[0,0]],"v":[[-23.961,1.219],[0.001,-1.219],[23.961,1.219]],"c":false}]},{"t":48,"s":[{"i":[[0,0],[-14.152,0],[0,0]],"o":[[0,0],[14.152,0],[0,0]],"v":[[-23.961,-0.216],[0.001,-0.262],[23.961,-0.216]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":4.8,"s":[1.5]},{"t":81.6,"s":[2]}],"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[27.711,4.968],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":1,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"t":96,"s":[0]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":91.2,"st":-57.6,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"outline","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-0.001,0],"ix":2,"l":2},"a":{"a":0,"k":[26.505,26.505,0],"ix":1,"l":2},"s":{"a":0,"k":[300,300,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[6.471,0],[2.723,-2.392],[1.566,0],[0,0],[0,0.012],[1.177,1.034],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[-1.177,1.034],[0,0],[-0.001,-0.013],[-1.566,0],[-2.445,-2.147],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[24,-12.282],[12.329,-24],[4.1,-20.479],[0.001,-18.638],[0.001,-18.599],[-0.001,-18.638],[-4.1,-20.479],[-12.28,-23.996],[-24,-12.42],[-23.998,12.282],[-12.28,24],[12.282,24],[24,12.282]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":9.6,"s":[{"i":[[0,0],[6.471,0],[2.451,-2.153],[1.566,0],[0,0],[0,0.012],[1.059,0.931],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[-1.059,0.931],[0,0],[-0.001,-0.013],[-1.566,0],[-2.201,-1.932],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[23.433,-11.699],[11.762,-23.417],[3.933,-20.246],[0.001,-18.59],[0.001,-18.551],[-0.001,-18.59],[-3.933,-20.247],[-11.713,-23.413],[-23.433,-11.837],[-23.431,11.707],[-11.713,23.425],[11.715,23.425],[23.433,11.707]],"c":true}]},{"t":52.8,"s":[{"i":[[0,0],[6.471,0],[0,0],[1.566,0],[0,0],[0,0.012],[0,0],[3.577,0],[0,-6.34],[0,0],[-6.472,0],[0,0],[0,6.472]],"o":[[0,-6.471],[-3.328,0],[0,0],[0,0],[-0.001,-0.013],[-1.566,0],[0,0],[-6.327,0],[0,0],[0,6.472],[0,0],[6.472,0],[0,0]],"v":[[18.333,-6.449],[6.662,-18.167],[2.433,-18.151],[0.001,-18.153],[0.001,-18.114],[-0.001,-18.153],[-2.433,-18.156],[-6.613,-18.163],[-18.333,-6.587],[-18.331,6.532],[-6.613,18.25],[6.615,18.25],[18.333,6.532]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960784314,0.301960784314,0.301960784314,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[26.505,26.505],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":52.8,"st":-67.2,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"rotate","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.627],"y":[0.78]},"o":{"x":[0.167],"y":[0.167]},"t":50,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.747],"y":[0.745]},"t":135,"s":[405]},{"t":7197,"s":[21270.775]}],"ix":10},"p":{"a":0,"k":[90,90,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.15,0.15,0.667],"y":[1,1,1]},"o":{"x":[0.246,0.246,0.333],"y":[0,0,0]},"t":50,"s":[100,100,100]},{"i":{"x":[0.517,0.517,0.667],"y":[1,1,1]},"o":{"x":[0.459,0.459,0.333],"y":[0,0,0]},"t":62,"s":[120,120,100]},{"t":135,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"ip":50,"op":7198,"st":-40,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"FrogAnim master","parent":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[150,150,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.799],"y":[0.602]},"o":{"x":[0.651],"y":[0.159]},"t":0,"s":[0]},{"i":{"x":[0.495],"y":[1]},"o":{"x":[0.217],"y":[0.591]},"t":26.469,"s":[0.608]},{"t":50,"s":[1]}],"ix":2},"w":300,"h":300,"ip":0,"op":7198,"st":0,"bm":0}],"markers":[{"tm":0,"cm":"1","dr":0},{"tm":50,"cm":"refresh","dr":0}]} \ No newline at end of file diff --git a/App/Resources/Lotties2/niggly120.json b/App/Resources/Lotties2/niggly120.json new file mode 100755 index 000000000..5dd3f834a --- /dev/null +++ b/App/Resources/Lotties2/niggly120.json @@ -0,0 +1 @@ +{"v":"5.7.13","fr":120,"ip":0,"op":141,"w":108,"h":108,"nm":"_ niggly 3x 120","ddd":0,"assets":[{"id":"comp_0","nm":"_ throbber :0","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Main Niggly","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":40,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.772],"y":[0]},"t":43.2,"s":[40]},{"i":{"x":[0.194],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":67.2,"s":[40.594]},{"t":91.2,"s":[40]}],"ix":4}},"a":{"a":0,"k":[40,40,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":80,"h":80,"ip":0,"op":148.8,"st":0,"bm":0}]},{"id":"comp_1","nm":"Main Niggly","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"MOUTH ROT","parent":5,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-177,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":67.2,"s":[0.941]},{"t":86.4,"s":[-0.345]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":67.2,"s":[9.692]},{"t":86.4,"s":[9.893]}],"ix":4}},"a":{"a":0,"k":[3.5,3.5,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"w":7,"h":7,"ip":67.2,"op":168,"st":-9.6,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"mouth","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-133,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":86.4,"s":[-0.133,0.788,0],"to":[0.022,-0.131,0],"ti":[-0.022,0.131,0]},{"t":100.8,"s":[0,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[23,23],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.826],"y":[0.677]},"o":{"x":[0.333],"y":[0]},"t":86.4,"s":[50]},{"i":{"x":[0.757],"y":[1]},"o":{"x":[0.375],"y":[0.283]},"t":100.8,"s":[53.922]},{"i":{"x":[0.435],"y":[1]},"o":{"x":[0.314],"y":[0]},"t":124.8,"s":[70]},{"t":139.2,"s":[68]}],"ix":1},"e":{"a":0,"k":32,"ix":2,"x":"var $bm_rt;\n$bm_rt = $bm_sub(100, content('Trim Paths 1').start);"},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":86.4,"s":[7]},{"i":{"x":[0.508],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":100.8,"s":[4]},{"t":120,"s":[2.5]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":86.4,"op":168,"st":-24,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"mouth","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":43.2,"s":[0,0,0],"to":[0.033,-0.267,0],"ti":[-0.033,0.267,0]},{"t":67.2,"s":[0.2,-1.6,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[23,23],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.717],"y":[0.452]},"o":{"x":[0.418],"y":[0]},"t":19.2,"s":[68]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.138],"y":[0.12]},"t":38.4,"s":[62.291]},{"i":{"x":[0.883],"y":[0.88]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[55.948]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.2],"y":[0.624]},"t":52.8,"s":[52.948]},{"t":67.2,"s":[50]}],"ix":1},"e":{"a":0,"k":32,"ix":2,"x":"var $bm_rt;\n$bm_rt = $bm_sub(100, content('Trim Paths 1').start);"},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.492],"y":[0]},"t":28.8,"s":[2.5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[4]},{"t":67.2,"s":[7]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":67.2,"st":-100.8,"bm":0},{"ddd":0,"ind":4,"ty":3,"nm":"eye rotate","hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.745],"y":[0.523]},"o":{"x":[0.559],"y":[0]},"t":43.2,"s":[0]},{"i":{"x":[0.391],"y":[1]},"o":{"x":[0.171],"y":[0.522]},"t":67.2,"s":[48]},{"t":105.6,"s":[95]}],"ix":10},"p":{"a":0,"k":[40,40,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":168,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":3,"nm":"mouth rotate","hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.816],"y":[0.511]},"o":{"x":[0.681],"y":[0]},"t":43.2,"s":[0]},{"i":{"x":[0.385],"y":[1]},"o":{"x":[0.159],"y":[0.672]},"t":67.2,"s":[66.35]},{"t":105.6,"s":[133]}],"ix":10},"p":{"a":0,"k":[40,40,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":168,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"EYE ROT","parent":4,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-44,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":43.2,"s":[-7]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":67.2,"s":[-7.97]},{"t":86.4,"s":[-7.709]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.837],"y":[0.546]},"o":{"x":[0.333],"y":[0]},"t":43.2,"s":[-7]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.228],"y":[0.132]},"t":67.2,"s":[-6.84]},{"t":86.4,"s":[-6.224]}],"ix":4}},"a":{"a":0,"k":[3.5,3.5,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"w":7,"h":7,"ip":0,"op":168,"st":-9.6,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"MOTH ROT","parent":5,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":51,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.909],"y":[0.89]},"o":{"x":[0.333],"y":[0]},"t":43.2,"s":[6.872]},{"i":{"x":[0.438],"y":[1]},"o":{"x":[0.131],"y":[0.74]},"t":67.2,"s":[8.062]},{"t":86.4,"s":[8.267]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":43.2,"s":[-7.137]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":67.2,"s":[-6.568]},{"t":86.4,"s":[-7.187]}],"ix":4}},"a":{"a":0,"k":[3.5,3.5,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"w":7,"h":7,"ip":0,"op":86.4,"st":-9.6,"bm":0}]},{"id":"comp_2","nm":"Eye Eye","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[3.5,3.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[7,7],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":177.6,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"outline","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[54,54,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[80,80],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":141,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"_ throbber :0","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[54,54,0],"ix":2,"l":2},"a":{"a":0,"k":[40,40,0],"ix":1,"l":2},"s":{"a":0,"k":[190,190,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":141,"s":[1.24]}],"ix":2},"w":80,"h":80,"ip":0,"op":141,"st":0,"bm":0}],"markers":[{"tm":64,"cm":"1","dr":0}]} \ No newline at end of file diff --git a/App/Resources/Lotties2/niggly3x120.json b/App/Resources/Lotties2/niggly3x120.json new file mode 100755 index 000000000..0e593beb7 --- /dev/null +++ b/App/Resources/Lotties2/niggly3x120.json @@ -0,0 +1 @@ +{"v":"5.7.13","fr":120,"ip":0,"op":141,"w":108,"h":108,"nm":"_ niggly 3x 120","ddd":0,"assets":[{"id":"comp_0","nm":"_ throbber :0","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Main Niggly","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":40,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.772],"y":[0]},"t":43.2,"s":[40]},{"i":{"x":[0.194],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":67.2,"s":[40.594]},{"t":91.2,"s":[40]}],"ix":4}},"a":{"a":0,"k":[40,40,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":80,"h":80,"ip":0,"op":148.8,"st":0,"bm":0}]},{"id":"comp_1","nm":"Main Niggly","layers":[{"ddd":0,"ind":1,"ty":0,"nm":"MOUTH ROT","parent":5,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-177,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":67.2,"s":[0.941]},{"t":86.4,"s":[-0.345]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":67.2,"s":[9.692]},{"t":86.4,"s":[9.893]}],"ix":4}},"a":{"a":0,"k":[3.5,3.5,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"w":7,"h":7,"ip":67.2,"op":168,"st":-9.6,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"mouth","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-133,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":86.4,"s":[-0.133,0.788,0],"to":[0.022,-0.131,0],"ti":[-0.022,0.131,0]},{"t":100.8,"s":[0,0,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[23,23],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.681]},"o":{"x":[0.505],"y":[0]},"t":86.4,"s":[50]},{"i":{"x":[0.729],"y":[1]},"o":{"x":[0.167],"y":[0.13]},"t":100.8,"s":[53.922]},{"i":{"x":[0.526],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":124.8,"s":[70]},{"t":139.2,"s":[68]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.681]},"o":{"x":[0.505],"y":[0]},"t":86.4,"s":[50]},{"i":{"x":[0.729],"y":[1]},"o":{"x":[0.167],"y":[0.13]},"t":100.8,"s":[46.078]},{"i":{"x":[0.526],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":124.8,"s":[30]},{"t":139.2,"s":[32]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.857],"y":[0.857]},"o":{"x":[0.167],"y":[0.167]},"t":86.4,"s":[7]},{"i":{"x":[0.508],"y":[1]},"o":{"x":[0.172],"y":[0.457]},"t":100.8,"s":[4]},{"t":120,"s":[2.5]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":86.4,"op":168,"st":-24,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"mouth","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":43.2,"s":[0,0,0],"to":[0.033,-0.267,0],"ti":[-0.033,0.267,0]},{"t":67.2,"s":[0.2,-1.6,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[23,23],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.749]},"o":{"x":[0.416],"y":[0]},"t":19.2,"s":[68]},{"i":{"x":[0.872],"y":[0.874]},"o":{"x":[0.167],"y":[0.115]},"t":38.4,"s":[62.291]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.18],"y":[0.562]},"t":52.8,"s":[52.948]},{"t":67.2,"s":[50]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.749]},"o":{"x":[0.416],"y":[0]},"t":19.2,"s":[32]},{"i":{"x":[0.874],"y":[0.874]},"o":{"x":[0.167],"y":[0.115]},"t":38.4,"s":[37.709]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.174],"y":[0.551]},"t":52.8,"s":[47.052]},{"t":67.2,"s":[50]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.815],"y":[0.648]},"o":{"x":[0.492],"y":[0]},"t":28.8,"s":[2.5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.16],"y":[0.153]},"t":48,"s":[4]},{"t":67.2,"s":[7]}],"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":67.2,"st":-100.8,"bm":0},{"ddd":0,"ind":4,"ty":3,"nm":"rot","hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.745],"y":[0.523]},"o":{"x":[0.559],"y":[0]},"t":43.2,"s":[0]},{"i":{"x":[0.391],"y":[1]},"o":{"x":[0.171],"y":[0.522]},"t":67.2,"s":[48]},{"t":105.6,"s":[95]}],"ix":10},"p":{"a":0,"k":[40,40,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":168,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":3,"nm":"mouth rot","hd":true,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.816],"y":[0.511]},"o":{"x":[0.681],"y":[0]},"t":43.2,"s":[0]},{"i":{"x":[0.385],"y":[1]},"o":{"x":[0.159],"y":[0.672]},"t":67.2,"s":[66.35]},{"t":105.6,"s":[133]}],"ix":10},"p":{"a":0,"k":[40,40,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":168,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"EYE ROT","parent":4,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-44,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":43.2,"s":[-7]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":67.2,"s":[-7.97]},{"t":86.4,"s":[-7.709]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.837],"y":[0.546]},"o":{"x":[0.333],"y":[0]},"t":43.2,"s":[-7]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.228],"y":[0.132]},"t":67.2,"s":[-6.84]},{"t":86.4,"s":[-6.224]}],"ix":4}},"a":{"a":0,"k":[3.5,3.5,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"w":7,"h":7,"ip":0,"op":168,"st":-9.6,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"MOTH ROT","parent":5,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":51,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.909],"y":[0.89]},"o":{"x":[0.333],"y":[0]},"t":43.2,"s":[6.872]},{"i":{"x":[0.438],"y":[1]},"o":{"x":[0.131],"y":[0.74]},"t":67.2,"s":[8.062]},{"t":86.4,"s":[8.267]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":43.2,"s":[-7.137]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":67.2,"s":[-6.568]},{"t":86.4,"s":[-7.187]}],"ix":4}},"a":{"a":0,"k":[3.5,3.5,0],"ix":1,"l":2},"s":{"a":0,"k":[-100,100,100],"ix":6,"l":2}},"ao":0,"w":7,"h":7,"ip":0,"op":86.4,"st":-9.6,"bm":0}]},{"id":"comp_2","nm":"Eye Eye","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[3.5,3.5,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[7,7],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":720,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"outline","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[54,54,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"d":1,"ty":"el","s":{"a":0,"k":[80,80],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false}],"ip":0,"op":141,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"_ throbber :0","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[54,54,0],"ix":2,"l":2},"a":{"a":0,"k":[40,40,0],"ix":1,"l":2},"s":{"a":0,"k":[190,190,100],"ix":6,"l":2}},"ao":0,"tm":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":141,"s":[1.24]}],"ix":2},"w":80,"h":80,"ip":0,"op":141,"st":0,"bm":0}],"markers":[{"tm":64,"cm":"1","dr":0}]} \ No newline at end of file diff --git a/App/Resources/RenderView.js b/App/Resources/RenderView.js index 47749752b..510154118 100644 --- a/App/Resources/RenderView.js +++ b/App/Resources/RenderView.js @@ -59,11 +59,34 @@ Awful.embedTweets = function() { didCompleteFetch(); }; - script.onerror = function() { - cleanUp(this); - console.error(`The embed markup for tweet ${tweetID} failed to load`); - didCompleteFetch(); - }; + script.onerror = function() { + cleanUp(this); + + console.error(`The embed markup for tweet ${tweetID} failed to load`); + + tweetIDsToLinks[tweetID].forEach(function(a) { + if (a.parentNode) { + var div = document.createElement('div'); + div.classList.add('dead-tweet-container'); + div.innerHTML = Awful.deadTweetBadgeHTML(a.href.toString(), `${tweetID}`); + a.parentNode.replaceChild(div, a); + + } + }); + + const ghostContainers = document.querySelectorAll(`.left-ghost-${tweetID}`); + Array.prototype.forEach.call(ghostContainers, function(ghostContainer) { + lottie.loadAnimation({ + container: ghostContainer, + renderer: "svg", + loop: true, + autoplay: true, + path: 'https://assets2.lottiefiles.com/packages/lf20_zsa5zkbq.json' + }); + }) + + didCompleteFetch(); + }; function cleanUp(script) { delete window[callback]; @@ -130,6 +153,20 @@ Awful.loadTwitterWidgets = function() { }; }; +/** + Loads the Lottie player library into the document + */ +Awful.loadLotties = function() { + if (document.getElementById('lottie-web')) { + return; + } + + var script = document.createElement('script'); + script.id = 'lottie-web'; + script.src = "https://cdnjs.cloudflare.com/ajax/libs/lottie-web/5.7.11/lottie.min.js"; + document.body.appendChild(script); +}; + /** Scrolls the document past a fraction of the document. @@ -509,6 +546,11 @@ Awful.markReadUpToPostWithID = function(postID) { var currentPost = lastReadPost; while (currentPost) { currentPost.classList.add('seen'); + + Array.from(currentPost.querySelectorAll('.divider')).forEach(function(el) { + el.classList.add('divider-seen'); + }); + currentPost = currentPost.previousElementSibling; } @@ -516,6 +558,11 @@ Awful.markReadUpToPostWithID = function(postID) { var currentPost = lastReadPost.nextElementSibling; while (currentPost) { currentPost.classList.remove('seen'); + + Array.from(currentPost.querySelectorAll('.divider-seen')).forEach(function(el) { + el.classList.remove('divider-seen'); + }); + currentPost = currentPost.nextElementSibling; } }; @@ -580,6 +627,23 @@ Awful.setAnnouncementHTML = function(html) { }; +Awful.deadTweetBadgeHTML = function(url, tweetID){ + // get twitter username from url + var tweeter = url.match(/(?:https?:\/\/)?(?:www\.)?twitter\.com\/(?:#!\/)?@?([^\/\?\s]*)/)[1]; + + var html = + `
+
+
+
+ DEAD TWEET + @${tweeter} + `; + + return html; +}; + + /** Sets the "dark" class on the `` element. diff --git a/App/Resources/Theming/ghost.json b/App/Resources/Theming/ghost.json new file mode 100644 index 000000000..341e9059d --- /dev/null +++ b/App/Resources/Theming/ghost.json @@ -0,0 +1 @@ +{"v":"5.7.4","fr":120,"ip":0,"op":7201,"w":300,"h":300,"nm":"_GhostAnim 120","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"outline","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":500,"ix":3},"y":{"a":0,"k":500,"ix":4}},"a":{"a":0,"k":[500,500,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.67,-0.02],[0,-35.64],[0,0],[-0.698,0.774],[0,0],[-1.447,-1.604],[0,0],[-1.447,1.604],[0,0],[-1.447,-1.604],[0,0],[-1.447,1.604],[0,0],[-1.447,-1.604],[0,0],[0.005,1.045],[0,0],[1.636,0.388],[0,0],[-1.502,0.776],[0,0],[1.169,2.261],[25.815,0]],"o":[[-35.625,1.044],[0,0],[0,1.043],[0,0],[1.447,-1.604],[0,0],[1.447,1.604],[0,0],[1.447,-1.604],[0,0],[1.447,1.604],[0,0],[1.447,-1.604],[0,0],[0.7,0.777],[0,0],[-0.008,-1.681],[0,0],[-1.645,-0.391],[0,0],[2.261,-1.168],[-11.09,-21.453],[-0.666,0]],"v":[[1.12,-83.333],[-63.586,-15.021],[-63.585,81.796],[-61.602,82.559],[-46.88,66.238],[-41.469,66.238],[-27.469,81.758],[-22.058,81.758],[-8.057,66.238],[-2.646,66.238],[11.354,81.758],[16.765,81.758],[30.765,66.238],[36.176,66.238],[50.883,82.541],[52.866,81.774],[52.605,30.958],[49.803,27.439],[-28.921,8.747],[-29.336,5.355],[60.48,-41.031],[62.417,-47.244],[3.124,-83.363]],"c":true},"ix":2},"nm":"path","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4.5,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":".ghost-stroke","mn":"ADBE Vector Graphic - Stroke","hd":false,"cl":"ghost-stroke"},{"ty":"tr","p":{"a":0,"k":[501.556,501.183],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"ghost-outline","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":8727,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"eyes","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":500,"ix":3},"y":{"a":0,"k":500,"ix":4}},"a":{"a":0,"k":[500,500,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,5.559],[-5.559,0],[0,-5.559],[5.559,0]],"o":[[0,-5.559],[5.559,0],[0,5.559],[-5.559,0]],"v":[[-31.057,-29.424],[-20.992,-39.489],[-10.928,-29.424],[-20.992,-19.359]],"c":true},"ix":2},"nm":"eye-pathA","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,5.559],[-5.559,0],[0,-5.559],[5.558,0]],"o":[[0,-5.559],[5.559,0],[0,5.559],[-5.558,0]],"v":[[8.759,-49.973],[18.823,-60.038],[28.888,-49.973],[18.823,-39.908]],"c":true},"ix":2},"nm":"eye-pathB","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":".ghost-eyes","mn":"ADBE Vector Graphic - Fill","hd":false,"cl":"ghost-eyes"},{"ty":"tr","p":{"a":0,"k":[501.556,501.183],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"ghost-eyes","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":8727,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"glow","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":200,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":400,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":600,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":800,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":1000,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":1200,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":1400,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":1600,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":1800,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":2000,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":2200,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":2400,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":2600,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":2800,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":3000,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":3200,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":3400,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":3600,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":3800,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":4000,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":4200,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":4400,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":4600,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":4800,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":5000,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":5200,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":5400,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":5600,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":5800,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":6000,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":6200,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":6400,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":6600,"s":[25]},{"i":{"x":[0.383],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":6800,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.611],"y":[0]},"t":7000,"s":[25]},{"t":7200,"s":[0]}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.604],"y":[1]},"o":{"x":[0.311],"y":[0.452]},"t":0,"s":[-0.519]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":116,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":316,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":516,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":716,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":916,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":1116,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":1316,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":1516,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":1716,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":1916,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":2116,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":2316,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":2516,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":2716,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":2916,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":3116,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":3316,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":3516,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":3716,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":3916,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":4116,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":4316,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":4516,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":4716,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":4916,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":5116,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":5316,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":5516,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":5716,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":5916,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":6116,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":6316,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":6516,"s":[2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":6716,"s":[-2]},{"i":{"x":[0.609],"y":[1]},"o":{"x":[0.391],"y":[0]},"t":6916,"s":[2]},{"i":{"x":[0.698],"y":[0.46]},"o":{"x":[0.384],"y":[0]},"t":7116,"s":[-2]},{"t":7200,"s":[-0.519]}],"ix":10},"p":{"s":true,"x":{"a":0,"k":150,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":0,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":195,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":205,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":400,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":595,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":605,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":800,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":995,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":1005,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":1200,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":1395,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":1405,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":1600,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":1795,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":1805,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":2000,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":2195,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":2205,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":2400,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":2595,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":2605,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":2800,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":2995,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":3005,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":3200,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":3395,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":3405,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":3600,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":3795,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":3805,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":4000,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":4195,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":4205,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":4400,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":4595,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":4605,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":4800,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":4995,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":5005,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":5200,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":5395,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":5405,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":5600,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":5795,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":5805,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":6000,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":6195,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":6205,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":6400,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":6595,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":6605,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":6800,"s":[150.18]},{"i":{"x":[0],"y":[1]},"o":{"x":[1],"y":[0]},"t":6995,"s":[135]},{"i":{"x":[0.47],"y":[1]},"o":{"x":[0.461],"y":[0]},"t":7005,"s":[135]},{"t":7200,"s":[150.18]}],"ix":4}},"a":{"a":0,"k":[500,500,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.67,-0.02],[0,-35.64],[0,0],[-0.698,0.774],[0,0],[-1.447,-1.604],[0,0],[-1.447,1.604],[0,0],[-1.447,-1.604],[0,0],[-1.447,1.604],[0,0],[-1.447,-1.604],[0,0],[0.005,1.045],[0,0],[1.636,0.388],[0,0],[-1.502,0.776],[0,0],[1.169,2.261],[25.815,0]],"o":[[-35.625,1.044],[0,0],[0,1.043],[0,0],[1.447,-1.604],[0,0],[1.447,1.604],[0,0],[1.447,-1.604],[0,0],[1.447,1.604],[0,0],[1.447,-1.604],[0,0],[0.7,0.777],[0,0],[-0.008,-1.681],[0,0],[-1.645,-0.391],[0,0],[2.261,-1.168],[-11.09,-21.453],[-0.666,0]],"v":[[1.12,-83.333],[-63.586,-15.021],[-63.585,81.796],[-61.602,82.559],[-46.88,66.238],[-41.469,66.238],[-27.469,81.758],[-22.058,81.758],[-8.057,66.238],[-2.646,66.238],[11.354,81.758],[16.765,81.758],[30.765,66.238],[36.176,66.238],[50.883,82.541],[52.866,81.774],[52.605,30.958],[49.803,27.439],[-28.921,8.747],[-29.336,5.355],[60.48,-41.031],[62.417,-47.244],[3.124,-83.363]],"c":true},"ix":2},"nm":"Path","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"tr","p":{"a":0,"k":[501.556,501.183],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"ghost-outline","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.301960796118,0.301960796118,0.301960796118,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":".ghost-fill","mn":"ADBE Vector Graphic - Fill","hd":false,"cl":"ghost-fill"}],"ip":0,"op":8727,"st":0,"bm":0}],"markers":[]} diff --git a/App/Resources/Theming/platinum-member-white@2x.png b/App/Resources/Theming/platinum-member-white@2x.png deleted file mode 100644 index 39782ebad..000000000 Binary files a/App/Resources/Theming/platinum-member-white@2x.png and /dev/null differ diff --git a/App/Resources/Theming/platinum-member-white@3x.png b/App/Resources/Theming/platinum-member-white@3x.png deleted file mode 100644 index c0d9321da..000000000 Binary files a/App/Resources/Theming/platinum-member-white@3x.png and /dev/null differ diff --git a/App/Resources/Theming/platinum-member.png b/App/Resources/Theming/platinum-member.png new file mode 100644 index 000000000..580386458 Binary files /dev/null and b/App/Resources/Theming/platinum-member.png differ diff --git a/App/Resources/Theming/platinum-member@2x.png b/App/Resources/Theming/platinum-member@2x.png deleted file mode 100644 index 282d68a48..000000000 Binary files a/App/Resources/Theming/platinum-member@2x.png and /dev/null differ diff --git a/App/Resources/Theming/platinum-member@3x.png b/App/Resources/Theming/platinum-member@3x.png deleted file mode 100644 index c0b9e471c..000000000 Binary files a/App/Resources/Theming/platinum-member@3x.png and /dev/null differ diff --git a/App/Resources/Theming/post-dots.png b/App/Resources/Theming/post-dots.png index 7d1bc0201..ad7a4d8be 100644 Binary files a/App/Resources/Theming/post-dots.png and b/App/Resources/Theming/post-dots.png differ diff --git a/App/Resources/Theming/post-dots@2x.png b/App/Resources/Theming/post-dots@2x.png deleted file mode 100644 index 90ab2871c..000000000 Binary files a/App/Resources/Theming/post-dots@2x.png and /dev/null differ diff --git a/App/Resources/Theming/post-dots@3x.png b/App/Resources/Theming/post-dots@3x.png deleted file mode 100644 index 5ceb65d7e..000000000 Binary files a/App/Resources/Theming/post-dots@3x.png and /dev/null differ diff --git a/App/Resources/Theming/quote-post.png b/App/Resources/Theming/quote-post.png index 6c8d4312d..443da8c00 100644 Binary files a/App/Resources/Theming/quote-post.png and b/App/Resources/Theming/quote-post.png differ diff --git a/App/Templates/Announcement.html.stencil b/App/Templates/Announcement.html.stencil index 26eaf6462..7989e499b 100644 --- a/App/Templates/Announcement.html.stencil +++ b/App/Templates/Announcement.html.stencil @@ -38,7 +38,7 @@ {{ authorRolesDescription|htmlEscape }} {% endif %} - + @@ -48,7 +48,7 @@ diff --git a/App/Templates/Post.html.stencil b/App/Templates/Post.html.stencil index ae17dc001..b9052cfe2 100644 --- a/App/Templates/Post.html.stencil +++ b/App/Templates/Post.html.stencil @@ -26,11 +26,11 @@ {% if showRegdate %} {% endif %} - + {% if visibleAvatarURL and customTitleHTML %}
{{ customTitleHTML }} @@ -44,7 +44,7 @@
{% if endMessage %} -
- End of the thread +
+
{% endif %} diff --git a/App/Templates/PrivateMessage.html.stencil b/App/Templates/PrivateMessage.html.stencil index edb856711..251a93c4f 100644 --- a/App/Templates/PrivateMessage.html.stencil +++ b/App/Templates/PrivateMessage.html.stencil @@ -30,13 +30,18 @@ {% if hiddenAvatarURL %}data-awful-avatar="{{ hiddenAvatarURL|htmlEscape }}"{% endif %}> {% if visibleAvatarURL %} - + + {% endif %} + {% if ipadPostsViewTemplate %} +
+ {{ customTitleHTML }} +
{% endif %}

{{ fromUsername|htmlEscape }}

- +
@@ -45,7 +50,7 @@ diff --git a/App/Templates/Profile.html.stencil b/App/Templates/Profile.html.stencil index 9517b1f75..18acf64b3 100644 --- a/App/Templates/Profile.html.stencil +++ b/App/Templates/Profile.html.stencil @@ -26,7 +26,7 @@ There have been {{ postCount }} posts made by {{ username }}, an average of {{ postRate }} posts per day, - since registering on {{ regdate|formatRegdate }}. + since registering on {{ regdateRaw }}. {{ username }} claims to be a {{ gender }}.

@@ -67,8 +67,8 @@ - {% if regdate %} - + {% if regdateRaw %} + {% endif %} {% if postCount %} diff --git a/App/Theming/Themes.plist b/App/Theming/Themes.plist old mode 100644 new mode 100755 index de8d72644..516e352a5 --- a/App/Theming/Themes.plist +++ b/App/Theming/Themes.plist @@ -4,6 +4,8 @@ BYOB + keyboardAppearance + Light relevantForumID 268 description @@ -55,6 +57,12 @@ default + favoriteStarTintColor + #1e84af + settingsSwitchColor + #1e84af + roundedFonts + description Light descriptiveColor @@ -73,6 +81,10 @@ #999999 Lists + expansionTintColor + #808080 + ratingIconEmptyColor + #cccccc listHeaderTextColor #838383 listHeaderBackgroundColor @@ -90,8 +102,23 @@ threadListPageIconColor #808080e5 + Lotties + + getOutFrogColor + #1e84af + nigglyColor + #000000 + Navbar, tab bar, toolbar + showRootTabBarLabel + + tabBarTintColor + #1e84af + tabBarIconNormalColor + #cccccc + tabBarIconSelectedColor + #1e84af tabBarBackgroundColor #f7f7f7 navigationBarTextColor @@ -653,6 +680,8 @@ FYAD + keyboardAppearance + Light relevantForumID 666 description @@ -773,6 +802,356 @@ postsViewCSS posts-view-macinyos.css + spankykongDark + + roundedFonts + + Lotties + + getOutFrogColor + #4d4d4d + nigglyColor + #4d4d4d + + Action icons + + addBookmarkIconColor + #FFFFFF + copyURLIconColor + #FFFFFF + editPostIconColor + #FFFFFF + ignoreUserIconColor + #FFFFFF + jumpToFirstPageIconColor + #FFFFFF + jumpToLastPageIconColor + #FFFFFF + markUnreadIconColor + #FFFFFF + markReadUpToHereIconColor + #FFFFFF + profileIconColor + #FFFFFF + quoteIconColor + #FFFFFF + rapSheetIconColor + #FFFFFF + removeBookmarkIconColor + #FFFFFF + sendPMIconColor + #FFFFFF + singleUserIconColor + #FFFFFF + unignoreUserIconColor + #FFFFFF + voteIconColor + #FFFFFF + + description + SpankyKong Dark Theme + descriptiveColor + #000000 + descriptiveName + SpankyKong OLED Dark + favoriteStarTintColor + #4d4d4d + tintColor + #0066ff + backgroundColor + #000000 + scrollIndicatorStyle + Light + keyboardAppearance + Dark + actionIconTintColor + #0066ff + placeholderTextColor + #666666 + settingsSwitchColor + #0066ff + Lists + + ratingIconEmptyColor + #4d4d4d + expansionTintColor + #4d4d4d + listHeaderTextColor + #4d4d4d + listHeaderBackgroundColor + #000000 + listTextColor + #dddddd + listSecondaryTextColor + #4d4d4d + listBackgroundColor + #000000 + listSelectedBackgroundColor + #333333 + listSeparatorColor + #000000 + threadListPageIconColor + #4d4d4d + + Navbar, tab bar, toolbar + + showRootTabBarLabel + + tabBarIconSelectedColor + #0066ff + tabBarIconNormalColor + #4d4d4d + tabBarTintColor + #ff0000 + bottomBarTopBorderColor + #000000 + navigationBarShadowOpacity + 0 + navigationBarTextColor + #ffffff + navigationBarTintColor + #000000 + tabBarBackgroundColor + #000000 + tabBarIsTranslucent + + toolbarTextColor + #ffffff + toolbarTintColor + #000000 + topBarBottomBorderColor + #000000 + + Posts + + postsLoadingViewTintColor + #000000 + postsPullForNextColor + #4d4d4d + postsTopBarTextColor + #eeeeee + postsTopBarBackgroundColor + #000000 + postsTweetTheme + dark + postsViewCSS + posts-view-spankykong-oled-dark.css + + Sheets + + sheetBackgroundColor + #000000 + sheetTitleColor + #ffffff + sheetTitleBackgroundColor + #0c0c0c + sheetTextColor + #ffffff + sheetDimColor + #202020f2 + + Tag picker + + tagPickerBackgroundColor + #151515 + tagPickerTextColor + #dddddd + + Unread badges + + unreadBadgeBlueColor + #4d4d4d + unreadBadgeGrayColor + #4d4d4d + unreadBadgeOrangeColor + #DB5800 + unreadBadgeRedColor + #DD1000 + unreadBadgeYellowColor + #FFCD00 + unreadBadgeGreenColor + #5AA000 + unreadBadgePurpleColor + #9337FD + unreadBadgeTealColor + #0066FF + + + spankykongLight + + roundedFonts + + Lotties + + getOutFrogColor + #999999 + nigglyColor + #999999 + + Action icons + + addBookmarkIconColor + #000000 + copyURLIconColor + #000000 + editPostIconColor + #000000 + ignoreUserIconColor + #000000 + jumpToFirstPageIconColor + #000000 + jumpToLastPageIconColor + #000000 + markUnreadIconColor + #000000 + markReadUpToHereIconColor + #000000 + profileIconColor + #000000 + quoteIconColor + #000000 + rapSheetIconColor + #000000 + removeBookmarkIconColor + #000000 + sendPMIconColor + #000000 + singleUserIconColor + #000000 + unignoreUserIconColor + #000000 + voteIconColor + #000000 + + description + SpankyKong Light Theme + descriptiveColor + #000000 + descriptiveName + SpankyKong Light Theme + favoriteStarTintColor + #999999 + tintColor + #0066ff + backgroundColor + #e6e6e6 + scrollIndicatorStyle + Dark + keyboardAppearance + Light + actionIconTintColor + #0066ff + placeholderTextColor + #999999 + settingsSwitchColor + #0066ff + Lists + + ratingIconEmptyColor + #cccccc + expansionTintColor + #999999 + listHeaderTextColor + #999999 + listHeaderBackgroundColor + #e6e6e6 + listTextColor + #000000 + listSecondaryTextColor + #999999 + listBackgroundColor + #e6e6e6 + listSelectedBackgroundColor + #999999 + listSeparatorColor + #e6e6e6 + threadListPageIconColor + #999999 + + Navbar, tab bar, toolbar + + showRootTabBarLabel + + tabBarIconNormalColor + #000000 + tabBarIconSelectedColor + #0066ff + tabBarTintColor + #999999 + bottomBarTopBorderColor + #e6e6e6 + navigationBarShadowOpacity + 0 + navigationBarTextColor + #000000 + navigationBarTintColor + #e6e6e6 + tabBarBackgroundColor + #e6e6e6 + tabBarIsTranslucent + + toolbarTextColor + #000000 + toolbarTintColor + #e6e6e6 + topBarBottomBorderColor + #e6e6e6 + + Posts + + postsLoadingViewTintColor + #e6e6e6 + postsPullForNextColor + #999999 + postsTopBarTextColor + #000000 + postsTopBarBackgroundColor + #e6e6e6 + postsTweetTheme + light + postsViewCSS + posts-view-spankykong-light.css + + Sheets + + sheetBackgroundColor + #e6e6e6 + sheetTitleColor + #000000 + sheetTitleBackgroundColor + #e6e6e6 + sheetTextColor + #000000 + sheetDimColor + #999999 + + Tag picker + + tagPickerBackgroundColor + #151515 + tagPickerTextColor + #dddddd + + Unread badges + + unreadBadgeBlueColor + #999999 + unreadBadgeGrayColor + #999999 + unreadBadgeOrangeColor + #DB5800 + unreadBadgeRedColor + #DD1000 + unreadBadgeYellowColor + #FFCD00 + unreadBadgeGreenColor + #5AA000 + unreadBadgePurpleColor + #9337FD + unreadBadgeTealColor + #0066FF + + Winpos 95 relevantForumID @@ -815,6 +1194,15 @@ YOSPOS + keyboardAppearance + Dark + Lotties + + nigglyColor + #57ff57 + getOutFrogColor + #57ff57 + relevantForumID 219 parent @@ -907,6 +1295,15 @@ YOSPOS (amber) + keyboardAppearance + Dark + Lotties + + nigglyColor + #ebd04b + getOutFrogColor + #ebd04b + relevantForumID 219 parent diff --git a/App/Theming/Themes.swift b/App/Theming/Themes.swift index 07c094885..cd5a1ff2e 100644 --- a/App/Theming/Themes.swift +++ b/App/Theming/Themes.swift @@ -69,6 +69,14 @@ extension Theme { return dictionary["relevantForumID"] as! String? } + var roundedFonts: Bool { + return dictionary["roundedFonts"] as? Bool ?? false + } + + var showRootTabBarLabel: Bool { + return dictionary["showRootTabBarLabel"] as? Bool ?? true + } + /// The desired appearance for the keyboard. If unspecified by the theme and its ancestors, returns .Default. var keyboardAppearance: UIKeyboardAppearance { let appearance = dictionary["keyboardAppearance"] as? String diff --git a/App/Theming/ViewController.swift b/App/Theming/ViewController.swift index 8ab8b0b4f..525bc2bc1 100644 --- a/App/Theming/ViewController.swift +++ b/App/Theming/ViewController.swift @@ -139,14 +139,16 @@ class TableViewController: UITableViewController, Themeable { private func createRefreshControl() { guard tableView.topPullToRefresh == nil else { return } - let niggly = NigglyRefreshView() + + let niggly = NigglyRefreshLottieView() let targetSize = CGSize(width: tableView.bounds.width, height: 0) + niggly.bounds.size = niggly.systemLayoutSizeFitting(targetSize, withHorizontalFittingPriority: .required, verticalFittingPriority: .fittingSizeLevel) niggly.autoresizingMask = .flexibleWidth niggly.backgroundColor = view.backgroundColor pullToRefreshView = niggly - let animator = NigglyRefreshView.RefreshAnimator(view: niggly) + let animator = NigglyRefreshLottieView.RefreshAnimator(view: niggly) let pullToRefresh = PullToRefresh(refreshView: niggly, animator: animator, height: niggly.bounds.height, position: .top) pullToRefresh.animationDuration = 0.3 pullToRefresh.initialSpringVelocity = 0 diff --git a/App/Theming/posts-view-alternate-dark.css b/App/Theming/posts-view-alternate-dark.css index da6feab37..905ad0d2f 100644 --- a/App/Theming/posts-view-alternate-dark.css +++ b/App/Theming/posts-view-alternate-dark.css @@ -658,3 +658,186 @@ footer { .ghost-stroke { stroke: rgba(255, 255, 255, 0.3); } +.dead-tweet-container { + display: grid; + grid-column: 2; + place-items: start; + max-width: -webkit-fit-content; + border-radius: 1em !important; + background: #000 !important; +} +.ghost-lottie { + grid-column: 1; + grid-row: 1 / span 6; + width: 6em; +} +.dead-tweet-title { + grid-column: 2; + grid-row: 3; + place-items: start; + color: var(--regdate-color); + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 600 !important; + font-size: var(--regdate-font-size); +} +.dead-tweet-link { + grid-column: 2; + grid-row: 4; + place-items: start; + padding-right: 23px; + color: var(--link-color); + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 450 !important; + font-size: var(--regdate-font-size); +} +.ghost-fill { + fill: #57ff57 !important; +} +.ghost-eyes { + fill: #57ff57 !important; +} +.ghost-stroke { + stroke: #57ff57 !important; +} + +/* iPad should switch to iPhone view when split screen reduces width*/ +@media screen and (max-width: 399px) { + .customTitle { + display: none; + } + .ipad post header { + display: grid; + grid-column: 1 / span 2; + grid-row: 1 / 2; + align-items: center; + justify-content: start; + margin-bottom: 8px; + } + .ipad post header, + .ipad post .postbody { + padding-left: 0.6em; + padding-right: 0.6em; + } + .ipad post footer { + padding-left: 0.6em; + } + .ipad post .action-button { + padding-right: 0.6em; + } + .ipad .avatar { + max-width: 4em; + max-height: 4em; + margin-bottom: 6px; + margin-right: 12px; + vertical-align: middle; + grid-column: 1 / 2; + } + .ipad .nameanddate { + vertical-align: middle; + grid-column: 2 / 4; + align-items: start; + } + .ipad .postbody ol, + .ipad .postbody ul { + margin: 0; + padding-left: 1.5em; + } + .ipad .postbody { + grid-column: 1 / span 2; + grid-row: 2 / 4; + } +} + +@media screen and (min-width: 400px) { + .ipad post header { + grid-column: 1 / 2; + grid-row: 1 / 2; + min-width: 260px; + max-height: 500px; + display: grid; + } + .ipad post header, + .ipad post .postbody { + padding-left: 1.07em; + padding-right: 1.07em; + } + .ipad post { + display: grid; + grid-template-columns: 230px 1fr; + grid-template-rows: auto auto; + } + + .ipad post footer { + padding-left: 1.07em; + } + .ipad post .action-button { + padding-right: 1.07em; + } + .ipad .avatar { + max-width: 8em; + max-height: 8em; + vertical-align: top; + grid-row: 3; + margin-top: 8px; + margin-left: 4px; + } + .ipad .customTitle { + grid-row: 4 / 5; + grid-column: 1 / 5; + max-width: 210px; + max-height: 160px; + overflow: auto; + font: -apple-system-headline; + transform-origin: top left; + -webkit-transform: scale(0.9); + margin-left: 8px; + margin-top: 4px; + } + + .ipad .bbc-center { + grid-row: 4 / 5; + grid-column: 1 / 5; + max-width: 210px; + max-height: 150px; + overflow: auto; + } + + .ipad .customTitle img { + border-radius: 3px; + } + .ipad .bbc-center img { + border-radius: 3px; + } + .ipad .customTitle a { + text-decoration: none; + color: var(--link-color); + } + .ipad .nameanddate { + vertical-align: middle; + grid-row: 1; + } + .ipad .username, + .ipad .regdate { + margin-left: 6px; + } + .ipad .postbody { + grid-row: 1 / 4; + grid-column: 2 / 4; + margin-top: 10px; + } + .ipad #ad { + padding: 1.07em; + padding-bottom: 0; + } + .ipad .bbc-block { + margin: 0; + } + .ipad footer { + grid-row: 5; + grid-column: 1 / span 4; + align-items: center; + justify-content: start; + } +} diff --git a/App/Theming/posts-view-alternate.css b/App/Theming/posts-view-alternate.css index b3b47883e..bdf08d9da 100644 --- a/App/Theming/posts-view-alternate.css +++ b/App/Theming/posts-view-alternate.css @@ -588,3 +588,186 @@ footer { .ghost-stroke { stroke: rgba(0, 0, 0, 0.3); } +.dead-tweet-container { + display: grid; + grid-column: 2; + place-items: start; + max-width: -webkit-fit-content; + border-radius: 1em !important; + background: #000 !important; +} +.ghost-lottie { + grid-column: 1; + grid-row: 1 / span 6; + width: 6em; +} +.dead-tweet-title { + grid-column: 2; + grid-row: 3; + place-items: start; + color: var(--regdate-color); + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 600 !important; + font-size: var(--regdate-font-size); +} +.dead-tweet-link { + grid-column: 2; + grid-row: 4; + place-items: start; + padding-right: 23px; + color: var(--link-color); + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 450 !important; + font-size: var(--regdate-font-size); +} +.ghost-fill { + fill: #57ff57 !important; +} +.ghost-eyes { + fill: #57ff57 !important; +} +.ghost-stroke { + stroke: #57ff57 !important; +} + +/* iPad should switch to iPhone view when split screen reduces width*/ +@media screen and (max-width: 399px) { + .customTitle { + display: none; + } + .ipad post header { + display: grid; + grid-column: 1 / span 2; + grid-row: 1 / 2; + align-items: center; + justify-content: start; + margin-bottom: 8px; + } + .ipad post header, + .ipad post .postbody { + padding-left: 0.6em; + padding-right: 0.6em; + } + .ipad post footer { + padding-left: 0.6em; + } + .ipad post .action-button { + padding-right: 0.6em; + } + .ipad .avatar { + max-width: 4em; + max-height: 4em; + margin-bottom: 6px; + margin-right: 12px; + vertical-align: middle; + grid-column: 1 / 2; + } + .ipad .nameanddate { + vertical-align: middle; + grid-column: 2 / 4; + align-items: start; + } + .ipad .postbody ol, + .ipad .postbody ul { + margin: 0; + padding-left: 1.5em; + } + .ipad .postbody { + grid-column: 1 / span 2; + grid-row: 2 / 4; + } +} + +@media screen and (min-width: 400px) { + .ipad post header { + grid-column: 1 / 2; + grid-row: 1 / 2; + min-width: 260px; + max-height: 500px; + display: grid; + } + .ipad post header, + .ipad post .postbody { + padding-left: 1.07em; + padding-right: 1.07em; + } + .ipad post { + display: grid; + grid-template-columns: 230px 1fr; + grid-template-rows: auto auto; + } + + .ipad post footer { + padding-left: 1.07em; + } + .ipad post .action-button { + padding-right: 1.07em; + } + .ipad .avatar { + max-width: 8em; + max-height: 8em; + vertical-align: top; + grid-row: 3; + margin-top: 8px; + margin-left: 4px; + } + .ipad .customTitle { + grid-row: 4 / 5; + grid-column: 1 / 5; + max-width: 210px; + max-height: 160px; + overflow: auto; + font: -apple-system-headline; + transform-origin: top left; + -webkit-transform: scale(0.9); + margin-left: 8px; + margin-top: 4px; + } + + .ipad .bbc-center { + grid-row: 4 / 5; + grid-column: 1 / 5; + max-width: 210px; + max-height: 150px; + overflow: auto; + } + + .ipad .customTitle img { + border-radius: 3px; + } + .ipad .bbc-center img { + border-radius: 3px; + } + .ipad .customTitle a { + text-decoration: none; + color: var(--link-color); + } + .ipad .nameanddate { + vertical-align: middle; + grid-row: 1; + } + .ipad .username, + .ipad .regdate { + margin-left: 6px; + } + .ipad .postbody { + grid-row: 1 / 4; + grid-column: 2 / 4; + margin-top: 10px; + } + .ipad #ad { + padding: 1.07em; + padding-bottom: 0; + } + .ipad .bbc-block { + margin: 0; + } + .ipad footer { + grid-row: 5; + grid-column: 1 / span 4; + align-items: center; + justify-content: start; + } +} diff --git a/App/Theming/posts-view-bright-light.css b/App/Theming/posts-view-bright-light.css index 7d6fa65a0..fbe186d99 100644 --- a/App/Theming/posts-view-bright-light.css +++ b/App/Theming/posts-view-bright-light.css @@ -625,3 +625,186 @@ footer { .ghost-stroke { stroke: rgba(0, 0, 0, 0.3); } +.dead-tweet-container { + display: grid; + grid-column: 2; + place-items: start; + max-width: -webkit-fit-content; + border-radius: 1em !important; + background: #000 !important; +} +.ghost-lottie { + grid-column: 1; + grid-row: 1 / span 6; + width: 6em; +} +.dead-tweet-title { + grid-column: 2; + grid-row: 3; + place-items: start; + color: var(--regdate-color); + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 600 !important; + font-size: var(--regdate-font-size); +} +.dead-tweet-link { + grid-column: 2; + grid-row: 4; + place-items: start; + padding-right: 23px; + color: var(--link-color); + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 450 !important; + font-size: var(--regdate-font-size); +} +.ghost-fill { + fill: #57ff57 !important; +} +.ghost-eyes { + fill: #57ff57 !important; +} +.ghost-stroke { + stroke: #57ff57 !important; +} + +/* iPad should switch to iPhone view when split screen reduces width*/ +@media screen and (max-width: 399px) { + .customTitle { + display: none; + } + .ipad post header { + display: grid; + grid-column: 1 / span 2; + grid-row: 1 / 2; + align-items: center; + justify-content: start; + margin-bottom: 8px; + } + .ipad post header, + .ipad post .postbody { + padding-left: 0.6em; + padding-right: 0.6em; + } + .ipad post footer { + padding-left: 0.6em; + } + .ipad post .action-button { + padding-right: 0.6em; + } + .ipad .avatar { + max-width: 4em; + max-height: 4em; + margin-bottom: 6px; + margin-right: 12px; + vertical-align: middle; + grid-column: 1 / 2; + } + .ipad .nameanddate { + vertical-align: middle; + grid-column: 2 / 4; + align-items: start; + } + .ipad .postbody ol, + .ipad .postbody ul { + margin: 0; + padding-left: 1.5em; + } + .ipad .postbody { + grid-column: 1 / span 2; + grid-row: 2 / 4; + } +} + +@media screen and (min-width: 400px) { + .ipad post header { + grid-column: 1 / 2; + grid-row: 1 / 2; + min-width: 260px; + max-height: 500px; + display: grid; + } + .ipad post header, + .ipad post .postbody { + padding-left: 1.07em; + padding-right: 1.07em; + } + .ipad post { + display: grid; + grid-template-columns: 230px 1fr; + grid-template-rows: auto auto; + } + + .ipad post footer { + padding-left: 1.07em; + } + .ipad post .action-button { + padding-right: 1.07em; + } + .ipad .avatar { + max-width: 8em; + max-height: 8em; + vertical-align: top; + grid-row: 3; + margin-top: 8px; + margin-left: 4px; + } + .ipad .customTitle { + grid-row: 4 / 5; + grid-column: 1 / 5; + max-width: 210px; + max-height: 160px; + overflow: auto; + font: -apple-system-headline; + transform-origin: top left; + -webkit-transform: scale(0.9); + margin-left: 8px; + margin-top: 4px; + } + + .ipad .bbc-center { + grid-row: 4 / 5; + grid-column: 1 / 5; + max-width: 210px; + max-height: 150px; + overflow: auto; + } + + .ipad .customTitle img { + border-radius: 3px; + } + .ipad .bbc-center img { + border-radius: 3px; + } + .ipad .customTitle a { + text-decoration: none; + color: var(--link-color); + } + .ipad .nameanddate { + vertical-align: middle; + grid-row: 1; + } + .ipad .username, + .ipad .regdate { + margin-left: 6px; + } + .ipad .postbody { + grid-row: 1 / 4; + grid-column: 2 / 4; + margin-top: 10px; + } + .ipad #ad { + padding: 1.07em; + padding-bottom: 0; + } + .ipad .bbc-block { + margin: 0; + } + .ipad footer { + grid-row: 5; + grid-column: 1 / span 4; + align-items: center; + justify-content: start; + } +} diff --git a/App/Theming/posts-view-byob.css b/App/Theming/posts-view-byob.css index 056bdb681..7647b3cdd 100644 --- a/App/Theming/posts-view-byob.css +++ b/App/Theming/posts-view-byob.css @@ -571,3 +571,186 @@ time.regdate { .ghost-stroke { stroke: #b9e7e7; } +.dead-tweet-container { + display: grid; + grid-column: 2; + place-items: start; + max-width: -webkit-fit-content; + border-radius: 1em !important; + background: #000 !important; +} +.ghost-lottie { + grid-column: 1; + grid-row: 1 / span 6; + width: 6em; +} +.dead-tweet-title { + grid-column: 2; + grid-row: 3; + place-items: start; + color: var(--regdate-color); + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 600 !important; + font-size: var(--regdate-font-size); +} +.dead-tweet-link { + grid-column: 2; + grid-row: 4; + place-items: start; + padding-right: 23px; + color: var(--link-color); + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 450 !important; + font-size: var(--regdate-font-size); +} +.ghost-fill { + fill: #57ff57 !important; +} +.ghost-eyes { + fill: #57ff57 !important; +} +.ghost-stroke { + stroke: #57ff57 !important; +} + +/* iPad should switch to iPhone view when split screen reduces width*/ +@media screen and (max-width: 399px) { + .customTitle { + display: none; + } + .ipad post header { + display: grid; + grid-column: 1 / span 2; + grid-row: 1 / 2; + align-items: center; + justify-content: start; + margin-bottom: 8px; + } + .ipad post header, + .ipad post .postbody { + padding-left: 0.6em; + padding-right: 0.6em; + } + .ipad post footer { + padding-left: 0.6em; + } + .ipad post .action-button { + padding-right: 0.6em; + } + .ipad .avatar { + max-width: 4em; + max-height: 4em; + margin-bottom: 6px; + margin-right: 12px; + vertical-align: middle; + grid-column: 1 / 2; + } + .ipad .nameanddate { + vertical-align: middle; + grid-column: 2 / 4; + align-items: start; + } + .ipad .postbody ol, + .ipad .postbody ul { + margin: 0; + padding-left: 1.5em; + } + .ipad .postbody { + grid-column: 1 / span 2; + grid-row: 2 / 4; + } +} + +@media screen and (min-width: 400px) { + .ipad post header { + grid-column: 1 / 2; + grid-row: 1 / 2; + min-width: 260px; + max-height: 500px; + display: grid; + } + .ipad post header, + .ipad post .postbody { + padding-left: 1.07em; + padding-right: 1.07em; + } + .ipad post { + display: grid; + grid-template-columns: 230px 1fr; + grid-template-rows: auto auto; + } + + .ipad post footer { + padding-left: 1.07em; + } + .ipad post .action-button { + padding-right: 1.07em; + } + .ipad .avatar { + max-width: 8em; + max-height: 8em; + vertical-align: top; + grid-row: 3; + margin-top: 8px; + margin-left: 4px; + } + .ipad .customTitle { + grid-row: 4 / 5; + grid-column: 1 / 5; + max-width: 210px; + max-height: 160px; + overflow: auto; + font: -apple-system-headline; + transform-origin: top left; + -webkit-transform: scale(0.9); + margin-left: 8px; + margin-top: 4px; + } + + .ipad .bbc-center { + grid-row: 4 / 5; + grid-column: 1 / 5; + max-width: 210px; + max-height: 150px; + overflow: auto; + } + + .ipad .customTitle img { + border-radius: 3px; + } + .ipad .bbc-center img { + border-radius: 3px; + } + .ipad .customTitle a { + text-decoration: none; + color: var(--link-color); + } + .ipad .nameanddate { + vertical-align: middle; + grid-row: 1; + } + .ipad .username, + .ipad .regdate { + margin-left: 6px; + } + .ipad .postbody { + grid-row: 1 / 4; + grid-column: 2 / 4; + margin-top: 10px; + } + .ipad #ad { + padding: 1.07em; + padding-bottom: 0; + } + .ipad .bbc-block { + margin: 0; + } + .ipad footer { + grid-row: 5; + grid-column: 1 / span 4; + align-items: center; + justify-content: start; + } +} diff --git a/App/Theming/posts-view-dark.css b/App/Theming/posts-view-dark.css index 79c2f1f65..62544452f 100644 --- a/App/Theming/posts-view-dark.css +++ b/App/Theming/posts-view-dark.css @@ -655,3 +655,186 @@ footer { .ghost-stroke { stroke: rgba(255, 255, 255, 0.3); } +.dead-tweet-container { + display: grid; + grid-column: 2; + place-items: start; + max-width: -webkit-fit-content; + border-radius: 1em !important; + background: #000 !important; +} +.ghost-lottie { + grid-column: 1; + grid-row: 1 / span 6; + width: 6em; +} +.dead-tweet-title { + grid-column: 2; + grid-row: 3; + place-items: start; + color: var(--regdate-color); + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 600 !important; + font-size: var(--regdate-font-size); +} +.dead-tweet-link { + grid-column: 2; + grid-row: 4; + place-items: start; + padding-right: 23px; + color: var(--link-color); + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 450 !important; + font-size: var(--regdate-font-size); +} +.ghost-fill { + fill: #57ff57 !important; +} +.ghost-eyes { + fill: #57ff57 !important; +} +.ghost-stroke { + stroke: #57ff57 !important; +} + +/* iPad should switch to iPhone view when split screen reduces width*/ +@media screen and (max-width: 399px) { + .customTitle { + display: none; + } + .ipad post header { + display: grid; + grid-column: 1 / span 2; + grid-row: 1 / 2; + align-items: center; + justify-content: start; + margin-bottom: 8px; + } + .ipad post header, + .ipad post .postbody { + padding-left: 0.6em; + padding-right: 0.6em; + } + .ipad post footer { + padding-left: 0.6em; + } + .ipad post .action-button { + padding-right: 0.6em; + } + .ipad .avatar { + max-width: 4em; + max-height: 4em; + margin-bottom: 6px; + margin-right: 12px; + vertical-align: middle; + grid-column: 1 / 2; + } + .ipad .nameanddate { + vertical-align: middle; + grid-column: 2 / 4; + align-items: start; + } + .ipad .postbody ol, + .ipad .postbody ul { + margin: 0; + padding-left: 1.5em; + } + .ipad .postbody { + grid-column: 1 / span 2; + grid-row: 2 / 4; + } +} + +@media screen and (min-width: 400px) { + .ipad post header { + grid-column: 1 / 2; + grid-row: 1 / 2; + min-width: 260px; + max-height: 500px; + display: grid; + } + .ipad post header, + .ipad post .postbody { + padding-left: 1.07em; + padding-right: 1.07em; + } + .ipad post { + display: grid; + grid-template-columns: 230px 1fr; + grid-template-rows: auto auto; + } + + .ipad post footer { + padding-left: 1.07em; + } + .ipad post .action-button { + padding-right: 1.07em; + } + .ipad .avatar { + max-width: 8em; + max-height: 8em; + vertical-align: top; + grid-row: 3; + margin-top: 8px; + margin-left: 4px; + } + .ipad .customTitle { + grid-row: 4 / 5; + grid-column: 1 / 5; + max-width: 210px; + max-height: 160px; + overflow: auto; + font: -apple-system-headline; + transform-origin: top left; + -webkit-transform: scale(0.9); + margin-left: 8px; + margin-top: 4px; + } + + .ipad .bbc-center { + grid-row: 4 / 5; + grid-column: 1 / 5; + max-width: 210px; + max-height: 150px; + overflow: auto; + } + + .ipad .customTitle img { + border-radius: 3px; + } + .ipad .bbc-center img { + border-radius: 3px; + } + .ipad .customTitle a { + text-decoration: none; + color: var(--link-color); + } + .ipad .nameanddate { + vertical-align: middle; + grid-row: 1; + } + .ipad .username, + .ipad .regdate { + margin-left: 6px; + } + .ipad .postbody { + grid-row: 1 / 4; + grid-column: 2 / 4; + margin-top: 10px; + } + .ipad #ad { + padding: 1.07em; + padding-bottom: 0; + } + .ipad .bbc-block { + margin: 0; + } + .ipad footer { + grid-row: 5; + grid-column: 1 / span 4; + align-items: center; + justify-content: start; + } +} diff --git a/App/Theming/posts-view-fyad.css b/App/Theming/posts-view-fyad.css index 0cce3b99a..5b5b96bed 100644 --- a/App/Theming/posts-view-fyad.css +++ b/App/Theming/posts-view-fyad.css @@ -615,3 +615,186 @@ header { .ghost-stroke { stroke: #f39; } +.dead-tweet-container { + display: grid; + grid-column: 2; + place-items: start; + max-width: -webkit-fit-content; + border-radius: 1em !important; + background: #000 !important; +} +.ghost-lottie { + grid-column: 1; + grid-row: 1 / span 6; + width: 6em; +} +.dead-tweet-title { + grid-column: 2; + grid-row: 3; + place-items: start; + color: var(--regdate-color); + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 600 !important; + font-size: var(--regdate-font-size); +} +.dead-tweet-link { + grid-column: 2; + grid-row: 4; + place-items: start; + padding-right: 23px; + color: var(--link-color); + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 450 !important; + font-size: var(--regdate-font-size); +} +.ghost-fill { + fill: #57ff57 !important; +} +.ghost-eyes { + fill: #57ff57 !important; +} +.ghost-stroke { + stroke: #57ff57 !important; +} + +/* iPad should switch to iPhone view when split screen reduces width*/ +@media screen and (max-width: 399px) { + .customTitle { + display: none; + } + .ipad post header { + display: grid; + grid-column: 1 / span 2; + grid-row: 1 / 2; + align-items: center; + justify-content: start; + margin-bottom: 8px; + } + .ipad post header, + .ipad post .postbody { + padding-left: 0.6em; + padding-right: 0.6em; + } + .ipad post footer { + padding-left: 0.6em; + } + .ipad post .action-button { + padding-right: 0.6em; + } + .ipad .avatar { + max-width: 4em; + max-height: 4em; + margin-bottom: 6px; + margin-right: 12px; + vertical-align: middle; + grid-column: 1 / 2; + } + .ipad .nameanddate { + vertical-align: middle; + grid-column: 2 / 4; + align-items: start; + } + .ipad .postbody ol, + .ipad .postbody ul { + margin: 0; + padding-left: 1.5em; + } + .ipad .postbody { + grid-column: 1 / span 2; + grid-row: 2 / 4; + } +} + +@media screen and (min-width: 400px) { + .ipad post header { + grid-column: 1 / 2; + grid-row: 1 / 2; + min-width: 260px; + max-height: 500px; + display: grid; + } + .ipad post header, + .ipad post .postbody { + padding-left: 1.07em; + padding-right: 1.07em; + } + .ipad post { + display: grid; + grid-template-columns: 230px 1fr; + grid-template-rows: auto auto; + } + + .ipad post footer { + padding-left: 1.07em; + } + .ipad post .action-button { + padding-right: 1.07em; + } + .ipad .avatar { + max-width: 8em; + max-height: 8em; + vertical-align: top; + grid-row: 3; + margin-top: 8px; + margin-left: 4px; + } + .ipad .customTitle { + grid-row: 4 / 5; + grid-column: 1 / 5; + max-width: 210px; + max-height: 160px; + overflow: auto; + font: -apple-system-headline; + transform-origin: top left; + -webkit-transform: scale(0.9); + margin-left: 8px; + margin-top: 4px; + } + + .ipad .bbc-center { + grid-row: 4 / 5; + grid-column: 1 / 5; + max-width: 210px; + max-height: 150px; + overflow: auto; + } + + .ipad .customTitle img { + border-radius: 3px; + } + .ipad .bbc-center img { + border-radius: 3px; + } + .ipad .customTitle a { + text-decoration: none; + color: var(--link-color); + } + .ipad .nameanddate { + vertical-align: middle; + grid-row: 1; + } + .ipad .username, + .ipad .regdate { + margin-left: 6px; + } + .ipad .postbody { + grid-row: 1 / 4; + grid-column: 2 / 4; + margin-top: 10px; + } + .ipad #ad { + padding: 1.07em; + padding-bottom: 0; + } + .ipad .bbc-block { + margin: 0; + } + .ipad footer { + grid-row: 5; + grid-column: 1 / span 4; + align-items: center; + justify-content: start; + } +} diff --git a/App/Theming/posts-view-gas-chamber.css b/App/Theming/posts-view-gas-chamber.css index de028b8ea..50fbaf69a 100644 --- a/App/Theming/posts-view-gas-chamber.css +++ b/App/Theming/posts-view-gas-chamber.css @@ -572,3 +572,186 @@ header { .ghost-stroke { stroke: #3e7d00; } +.dead-tweet-container { + display: grid; + grid-column: 2; + place-items: start; + max-width: -webkit-fit-content; + border-radius: 1em !important; + background: #000 !important; +} +.ghost-lottie { + grid-column: 1; + grid-row: 1 / span 6; + width: 6em; +} +.dead-tweet-title { + grid-column: 2; + grid-row: 3; + place-items: start; + color: var(--regdate-color); + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 600 !important; + font-size: var(--regdate-font-size); +} +.dead-tweet-link { + grid-column: 2; + grid-row: 4; + place-items: start; + padding-right: 23px; + color: var(--link-color); + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 450 !important; + font-size: var(--regdate-font-size); +} +.ghost-fill { + fill: #57ff57 !important; +} +.ghost-eyes { + fill: #57ff57 !important; +} +.ghost-stroke { + stroke: #57ff57 !important; +} + +/* iPad should switch to iPhone view when split screen reduces width*/ +@media screen and (max-width: 399px) { + .customTitle { + display: none; + } + .ipad post header { + display: grid; + grid-column: 1 / span 2; + grid-row: 1 / 2; + align-items: center; + justify-content: start; + margin-bottom: 8px; + } + .ipad post header, + .ipad post .postbody { + padding-left: 0.6em; + padding-right: 0.6em; + } + .ipad post footer { + padding-left: 0.6em; + } + .ipad post .action-button { + padding-right: 0.6em; + } + .ipad .avatar { + max-width: 4em; + max-height: 4em; + margin-bottom: 6px; + margin-right: 12px; + vertical-align: middle; + grid-column: 1 / 2; + } + .ipad .nameanddate { + vertical-align: middle; + grid-column: 2 / 4; + align-items: start; + } + .ipad .postbody ol, + .ipad .postbody ul { + margin: 0; + padding-left: 1.5em; + } + .ipad .postbody { + grid-column: 1 / span 2; + grid-row: 2 / 4; + } +} + +@media screen and (min-width: 400px) { + .ipad post header { + grid-column: 1 / 2; + grid-row: 1 / 2; + min-width: 260px; + max-height: 500px; + display: grid; + } + .ipad post header, + .ipad post .postbody { + padding-left: 1.07em; + padding-right: 1.07em; + } + .ipad post { + display: grid; + grid-template-columns: 230px 1fr; + grid-template-rows: auto auto; + } + + .ipad post footer { + padding-left: 1.07em; + } + .ipad post .action-button { + padding-right: 1.07em; + } + .ipad .avatar { + max-width: 8em; + max-height: 8em; + vertical-align: top; + grid-row: 3; + margin-top: 8px; + margin-left: 4px; + } + .ipad .customTitle { + grid-row: 4 / 5; + grid-column: 1 / 5; + max-width: 210px; + max-height: 160px; + overflow: auto; + font: -apple-system-headline; + transform-origin: top left; + -webkit-transform: scale(0.9); + margin-left: 8px; + margin-top: 4px; + } + + .ipad .bbc-center { + grid-row: 4 / 5; + grid-column: 1 / 5; + max-width: 210px; + max-height: 150px; + overflow: auto; + } + + .ipad .customTitle img { + border-radius: 3px; + } + .ipad .bbc-center img { + border-radius: 3px; + } + .ipad .customTitle a { + text-decoration: none; + color: var(--link-color); + } + .ipad .nameanddate { + vertical-align: middle; + grid-row: 1; + } + .ipad .username, + .ipad .regdate { + margin-left: 6px; + } + .ipad .postbody { + grid-row: 1 / 4; + grid-column: 2 / 4; + margin-top: 10px; + } + .ipad #ad { + padding: 1.07em; + padding-bottom: 0; + } + .ipad .bbc-block { + margin: 0; + } + .ipad footer { + grid-row: 5; + grid-column: 1 / span 4; + align-items: center; + justify-content: start; + } +} diff --git a/App/Theming/posts-view-macinyos.css b/App/Theming/posts-view-macinyos.css index 1894c9ed6..5d85e9660 100644 --- a/App/Theming/posts-view-macinyos.css +++ b/App/Theming/posts-view-macinyos.css @@ -636,3 +636,186 @@ blockquote { .ghost-stroke { stroke: #000; } +.dead-tweet-container { + display: grid; + grid-column: 2; + place-items: start; + max-width: -webkit-fit-content; + border-radius: 1em !important; + background: #000 !important; +} +.ghost-lottie { + grid-column: 1; + grid-row: 1 / span 6; + width: 6em; +} +.dead-tweet-title { + grid-column: 2; + grid-row: 3; + place-items: start; + color: var(--regdate-color); + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 600 !important; + font-size: var(--regdate-font-size); +} +.dead-tweet-link { + grid-column: 2; + grid-row: 4; + place-items: start; + padding-right: 23px; + color: var(--link-color); + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 450 !important; + font-size: var(--regdate-font-size); +} +.ghost-fill { + fill: #57ff57 !important; +} +.ghost-eyes { + fill: #57ff57 !important; +} +.ghost-stroke { + stroke: #57ff57 !important; +} + +/* iPad should switch to iPhone view when split screen reduces width*/ +@media screen and (max-width: 399px) { + .customTitle { + display: none; + } + .ipad post header { + display: grid; + grid-column: 1 / span 2; + grid-row: 1 / 2; + align-items: center; + justify-content: start; + margin-bottom: 8px; + } + .ipad post header, + .ipad post .postbody { + padding-left: 0.6em; + padding-right: 0.6em; + } + .ipad post footer { + padding-left: 0.6em; + } + .ipad post .action-button { + padding-right: 0.6em; + } + .ipad .avatar { + max-width: 4em; + max-height: 4em; + margin-bottom: 6px; + margin-right: 12px; + vertical-align: middle; + grid-column: 1 / 2; + } + .ipad .nameanddate { + vertical-align: middle; + grid-column: 2 / 4; + align-items: start; + } + .ipad .postbody ol, + .ipad .postbody ul { + margin: 0; + padding-left: 1.5em; + } + .ipad .postbody { + grid-column: 1 / span 2; + grid-row: 2 / 4; + } +} + +@media screen and (min-width: 400px) { + .ipad post header { + grid-column: 1 / 2; + grid-row: 1 / 2; + min-width: 260px; + max-height: 500px; + display: grid; + } + .ipad post header, + .ipad post .postbody { + padding-left: 1.07em; + padding-right: 1.07em; + } + .ipad post { + display: grid; + grid-template-columns: 230px 1fr; + grid-template-rows: auto auto; + } + + .ipad post footer { + padding-left: 1.07em; + } + .ipad post .action-button { + padding-right: 1.07em; + } + .ipad .avatar { + max-width: 8em; + max-height: 8em; + vertical-align: top; + grid-row: 3; + margin-top: 8px; + margin-left: 4px; + } + .ipad .customTitle { + grid-row: 4 / 5; + grid-column: 1 / 5; + max-width: 210px; + max-height: 160px; + overflow: auto; + font: -apple-system-headline; + transform-origin: top left; + -webkit-transform: scale(0.9); + margin-left: 8px; + margin-top: 4px; + } + + .ipad .bbc-center { + grid-row: 4 / 5; + grid-column: 1 / 5; + max-width: 210px; + max-height: 150px; + overflow: auto; + } + + .ipad .customTitle img { + border-radius: 3px; + } + .ipad .bbc-center img { + border-radius: 3px; + } + .ipad .customTitle a { + text-decoration: none; + color: var(--link-color); + } + .ipad .nameanddate { + vertical-align: middle; + grid-row: 1; + } + .ipad .username, + .ipad .regdate { + margin-left: 6px; + } + .ipad .postbody { + grid-row: 1 / 4; + grid-column: 2 / 4; + margin-top: 10px; + } + .ipad #ad { + padding: 1.07em; + padding-bottom: 0; + } + .ipad .bbc-block { + margin: 0; + } + .ipad footer { + grid-row: 5; + grid-column: 1 / span 4; + align-items: center; + justify-content: start; + } +} diff --git a/App/Theming/posts-view-oled-dark.css b/App/Theming/posts-view-oled-dark.css index da4c8ab8c..1de5964d4 100644 --- a/App/Theming/posts-view-oled-dark.css +++ b/App/Theming/posts-view-oled-dark.css @@ -54,6 +54,29 @@ post { post:first-child { margin-top: 0; } +* { + box-sizing: border-box; +} +header:after { + content: ""; + display: block; + clear: both; +} +.avatar { + border-radius: 3px; + margin-top: 6px; + margin-bottom: 6px; +} +.iphone .avatar { + max-width: 4em; + max-height: 4em; + vertical-align: middle; +} +.ipad .avatar { + max-width: 8em; + max-height: 8em; + vertical-align: top; +} header { padding-top: 0.75em; padding-bottom: 0.7em; @@ -680,3 +703,68 @@ footer { .ghost-stroke { stroke: #fff; } + + +.ipad post { + display: grid; + grid-template-columns: 210px 1fr 1fr; + grid-template-rows: 200px 1fr 1fr 40px; +} + +.ipad .postbody { + grid-row: 1 / 4; + grid-column: 2 / 4; + min-height: 200px; + margin-top: 10px; +} + +.ipad footer { + grid-row: 5 / 6; + grid-column: 1 / 4; +} + +.ipad header { + grid-row: 1 / 2; + grid-column: 1 / 5; + min-width: 200px; +} + +.ipad .avatar { + grid-row: 4 / 5; + grid-column: 1 / 5; + height: 100%; + overflow: auto; + display: grid; + margin-top: 4px; + margin-left: 4px; +} + +.ipad .customTitle > img { + display: none; +} + +.ipad .bbc-center > img { + display: none; +} + +.ipad .customTitle { + grid-row: 4 / 5; + grid-column: 1 / 5; + width: 210px; + height: 130px; + overflow: auto; +} + +.ipad .bbc-center { + grid-row: 4 / 5; + grid-column: 1 / 5; + width: 100%; + height: 130px; + overflow: auto; +} + +.ipad .customTitle { + transform-origin: top left; + -webkit-transform: scale(0.7); + margin-left: 8px; +} diff --git a/App/Theming/posts-view-spankykong-light.css b/App/Theming/posts-view-spankykong-light.css new file mode 100644 index 000000000..bdc01fd62 --- /dev/null +++ b/App/Theming/posts-view-spankykong-light.css @@ -0,0 +1,937 @@ +/* + posts-view-spankykong-light.css + Awful + + Copyright 2022 Awful Contributors. CC BY-NC-SA 3.0 US https://github.com/Awful/Awful.app + */ +body { + min-height: 100vh; + font: -apple-system-body; + margin: 0; + -webkit-text-size-adjust: 100%; + -webkit-touch-callout: none; + touch-action: manipulation; +} +body { + word-wrap: break-word; +} +.postbody img, +.postbody iframe, +.postbody embed { + max-width: 100%; +} +.postbody div.code pre { + white-space: break-spaces; +} +post { + display: block; + border-top: 1px solid; + border-bottom: 1px solid; + margin-top: 0.5em; +} +.iphone post header, +.iphone post .postbody { + padding-left: 0.6em; + padding-right: 0.6em; +} +.iphone post footer { + padding-left: 0.6em; +} +.iphone post .action-button { + padding-right: 0.6em; +} +.ipad post header, +.ipad post .postbody { + padding-left: 1.07em; + padding-right: 1.07em; +} +.ipad post footer { + padding-left: 1.07em; +} +.ipad post .action-button { + padding-right: 1.07em; +} +post:first-child { + margin-top: 0; +} +header { + padding-top: 0.75em; + padding-bottom: 0.7em; +} +.ipad header { + padding-top: 1.22em; +} +header:after { + content: ""; + display: block; + clear: both; +} +.avatar { + display: inline-block; + vertical-align: middle; +} +.iphone .avatar { + max-width: 2.5em; + max-height: 2.5em; +} +.ipad .avatar { + max-width: 4em; + max-height: 4em; +} +.nameanddate { + display: inline-block; + vertical-align: middle; +} +.username { + margin: 0 0 2px; + word-break: break-all; +} +.postdate { + font-size: 0.8em; + font-weight: lighter; + -webkit-flex-grow: 1; + -webkit-flex-wrap: wrap-reverse; +} +.regdate { + display: block; + font-size: 0.8em; + font-weight: medium; + margin: -0.4em 0 0; +} +.username { + display: inline-block; + font-size: 1.1em; + font-weight: 500; + /* Platinum users */ +} +.role-admin .username:before { + color: #990011; +} +.role-mod .username:before { + color: #006699; +} +.role-supermod .username:before { + color: #f3a5aa; +} +.role-ik .username:before { + color: #787373; +} +.role-coder .username:before { + color: #eacf4c; +} +.role-admin .username:before, +.role-mod .username:before, +.role-supermod .username:before, +.role-ik .username:before, +.role-coder .username:before { + content: '★'; +} +.op .username { + color: #199ed7; +} +.platinum .username:after { + background-image: url('awful-resource://platinum-member.png'); + content: ""; + background-size: 14px; + width: 14px; + height: 14px; + display: inline-block; +} +.coder .username:before { + content: url('awful-resource://image-coder.png'); +} +.idiotking .username:before { + content: url('awful-resource://ik.png'); +} +.diamond .username:before { + content: url('awful-resource://diamond-icon.png'); +} +.redpill .username:before { + content: url('awful-resource://redpill.png'); +} +.award .username:before { + content: url('awful-resource://award.png'); +} +.action-button { + margin: 0; + padding: 0.6em; + border: none; + font-family: inherit; + -webkit-tap-highlight-color: transparent; + background-color: transparent; +} +.action-button img { + width: 24px; + height: 8px; +} +.postbody img, +#fyad-flag { + -webkit-user-select: none; +} +.bbc-block { + border-left: 2px solid #999; + font-size: 82%; + margin: 5px 0; + padding: 0 10px 5px; +} +.ipad .bbc-block { + margin: 0 10px 1em 10px; +} +.bbc-block h4 { + margin: 0; + padding: 1px 0px 2px; + font-weight: bold; +} +.bbc-block h4 span.mention.highlight { + color: #7409a0; + border-color: #7409a0; +} +.bbc-block h5 { + margin: 0; +} +.bbc-block.mention.highlight, +.bbc-block.mention.highlight h4 a { + color: #7409a0; + border-color: #7409a0; +} +code, +pre, +tt { + font-family: menlo; + font-size: 0.9em; +} +span.mention.highlight { + color: #7409a0; +} +.quote_link { + text-decoration: none; +} +[data-awful-linkified-image] { + cursor: pointer; + text-decoration: underline; +} +.gif-wrap { + cursor: pointer; + position: relative; + display: inline-block; +} +.gif-wrap:before { + content: "GIF"; + display: block; + background-color: rgba(255, 255, 255, 0.5); + background-image: url('awful-resource://play-button.png'); + background-size: 0.85em; + background-repeat: no-repeat; + background-position: right 5px center; + color: #000; + height: 1.35em; + margin: auto; + position: absolute; + width: 1.75em; + top: 0; + left: 0; + bottom: 0; + right: 0; + padding: 0.25em; + padding-right: 1.25em; + border-radius: 0.125em; + box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.25); +} +.gif-wrap.loading:before { + background-image: url('awful-resource://spinner-button.png'); +} +.gif-wrap.playing:before { + display: none; +} +.bbc-spoiler:not(.spoiled) .gif-wrap { + visibility: hidden; +} +.gif-wrap + br, +.gif-wrap + br + br { + display: none; +} +blockquote { + margin: 0; +} +blockquote img { + max-width: 160px; + max-height: 100px; +} +.postbody a { + -webkit-tap-highlight-color: transparent; +} +.postbody b::before, +.postbody i::before, +.postbody s::before, +.postbody span.bbc-spoiler::before, +.postbody sub::before, +.postbody sup::before, +.postbody tt::before, +.postbody u::before { + content: "\200C"; +} +.iphone .postbody ol, +.iphone .postbody ul { + margin: 0; + padding-left: 1.5em; +} +.bbc-block.code pre { + margin: 0; +} +.editedby { + margin-bottom: 0; + font-size: 90%; + font-style: italic; +} +.attachment { + margin: 0; +} +footer { + display: -webkit-flex; + -webkit-align-items: center; +} +footer:after { + content: ""; + display: block; + clear: both; +} +#fyad-flag { + width: 100%; + height: 102px; +} +#fyad-flag img { + border: 1px solid black; +} +.ipad #fyad-flag img { + display: block; + margin: 0 auto; +} +#ad { + text-align: center; +} +#ad img { + max-width: 100%; +} +.iphone #ad { + padding: 0.6em; + padding-bottom: 0; +} +.ipad #ad { + padding: 1.07em; + padding-bottom: 0; +} +#end { + font-weight: normal; + text-align: center; + line-height: 1; + margin-bottom: 10px; + -webkit-user-select: none; +} +.voiceover-only { + position: absolute; + top: -9999px; + left: -9999px; +} +header, +footer { + -webkit-user-select: none; +} +header img.avatar, +header section.nameanddate { + cursor: pointer; +} +.bbc-spoiler { + cursor: pointer; +} +footer button.action-button { + cursor: pointer; +} +post, +#ad, +#end { + padding-left: env(safe-area-inset-left); + padding-right: env(safe-area-inset-right); + padding-left: constant(safe-area-inset-left); + padding-right: constant(safe-area-inset-right); +} +:root { + font-family: ui-rounded; + --username-font-size: 1.1em; + --username-color: #000000; + --regdate-font-size: 0.75em; + --regdate-color: #999999; + --postbody-font-size: 1.05em; + --postbody-color: #000000; + --link-font-size: 1.05em; + --link-color: #0066ff; + --editedby-font-size: 0.75em; + --editedby-color: #999999; + --postdate-font-size: 0.75em; + --postdate-color: #999999; + --quoteheader-font-size: 0.98em; + --quoteheader-color: #000000; + --quotebody-font-size: 0.85em; + --quotebody-color: #000000; + --quotelink-font-size: 0.85em; + --quotelink-color: #0066ff; +} +* { + box-sizing: border-box; + font-family: ui-rounded !important; +} +body { + min-height: 100vh; + font: -apple-system-caption1; + font-size: var(--postbody-font-size); + font-family: ui-rounded; + margin: 0; + -webkit-text-size-adjust: 100%; + -webkit-touch-callout: none; + touch-action: manipulation; + word-wrap: break-word; +} +post:first-child { + margin-top: 3px; +} +post { + background-color: #e6e6e6; + border-bottom: none; + border-top: none; + padding-bottom: 0.25em; +} +header { + border-bottom: none; +} +.iphone post header { + display: grid; + grid-column: 1 / span 2; + grid-row: 1 / 2; + align-items: center; + justify-content: start; + padding-bottom: 7px; +} +.iphone post header, +.iphone post .postbody { + padding-left: 0.6em; + padding-right: 0.6em; +} +.iphone post footer { + padding-left: 0.6em; +} +.iphone post .action-button { + padding-right: 0.6em; +} +.avatar { + border-radius: 3px; + margin-top: 6px; + margin-right: 12px; +} +.iphone .avatar { + max-width: 4em; + max-height: 4em; + margin-bottom: 6px; + vertical-align: middle; + grid-column: 1 / 2; +} +.iphone .nameanddate { + vertical-align: middle; + grid-column: 2 / 4; + align-items: start; +} +.username { + word-break: break-word; +} +.postdate { + font-size: var(--postdate-font-size); + font: -apple-system-footnote; + font-weight: 600; + font-family: ui-rounded; + color: var(--postdate-color); + -webkit-flex-grow: 1; + -webkit-flex-wrap: wrap-reverse; + text-align: right; + position: relative; +} +.regdate { + display: block; + color: var(--regdate-color); + font: -apple-system-caption1; + font-weight: 600; + font-family: ui-rounded; + font-size: var(--regdate-font-size); + margin: 0 0 2px 0px; +} +.username { + display: inline-block; + font: -apple-system-caption1; + font-weight: 600; + font-family: ui-rounded; + font-size: var(--username-font-size); + color: var(--username-color); +} +.role-admin .username:before { + color: #DD1000; + /* red */ +} +.role-mod .username:before { + color: #0066FF; + /* blue */ +} +.role-supermod .username:before { + color: #f3a5aa; + /* pink? never seen a supermod */ +} +.role-ik .username:before { + color: #999999; + /* grey */ +} +.role-coder .username:before { + color: #FFCD00; + /* yellow */ +} +.role-admin .username:before, +.role-mod .username:before, +.role-supermod .username:before, +.role-ik .username:before, +.role-coder .username:before { + content: '★'; +} +.op .username { + color: var(--link-color); +} +.platinum .username:after { + background-image: url('awful-resource://platinum-member.png'); + background-position: -100% 0; + -webkit-filter: invert(66%) sepia(11%) saturate(0%) hue-rotate(239deg) brightness(90%) contrast(92%); + content: ""; + background-size: 14px; + width: 14px; + height: 14px; + display: inline-block; +} +.coder .username:before { + content: url('awful-resource://image-coder.png'); +} +.idiotking .username:before { + content: url('awful-resource://ik.png'); +} +.diamond .username:before { + content: url('awful-resource://diamond-icon.png'); +} +.redpill .username:before { + content: url('awful-resource://redpill.png'); +} +.award .username:before { + content: url('awful-resource://award.png'); +} +.platinum .username:after { + background-image: url('awful-resource://platinum-member.png'); +} +.op .username { + color: var(--link-color); +} +.postbody img, +.postbody iframe, +.postbody embed { + max-width: 100%; +} +.postbody img, +#fyad-flag { + -webkit-user-select: none; +} +.postbody div.code pre { + white-space: break-spaces; +} +.postbody a { + -webkit-tap-highlight-color: transparent; + text-decoration: none; + font-weight: 450; +} +.postbody b::before, +.postbody i::before, +.postbody s::before, +.postbody span.bbc-spoiler::before, +.postbody sub::before, +.postbody sup::before, +.postbody tt::before, +.postbody u::before { + content: "\200C"; +} +.iphone .postbody ol, +.iphone .postbody ul { + margin: 0; + padding-left: 1.5em; +} +.postbody > img { + border-radius: 3px !important; +} +.postbody > iframe { + border-radius: 3px !important; +} +.postbody a, +[data-awful-linkified-image] { + color: var(--link-color); +} +.iphone .postbody { + grid-column: 1 / span 2; + grid-row: 2 / 4; +} +.bbc-block { + border-left: 2px solid #999; + font-size: var(--quotebody-font-size); + padding: 0 6px 5px 3px; + margin: 7px 0px; +} +.bbc-block h4 { + margin: 0; + font: -apple-system-headline; + font-weight: 700 !important; + font-size: var(--quoteheader-font-size); + font-family: ui-rounded; + text-align: top; +} +.bbc-block h4 span.mention.highlight { + color: #9337fd; + border-color: #7409a0; +} +blockquote { + margin: 0; +} +blockquote img { + max-width: 160px; + max-height: 100px; + border-radius: 3px !important; +} +.bbc-block.code pre { + margin: 0; +} +.bbc-block h5 { + margin: 0; +} +.bbc-block.mention.highlight, +.bbc-block.mention.highlight h4 a { + color: #9337fd; + border-color: #7409a0; +} +.ipad .bbc-block { + margin: 0 6px 1em 6px; +} +code, +pre, +tt { + font-family: menlo; + font-size: 0.9em; +} +span.mention.highlight { + color: #9337fd; +} +.quote_link { + text-decoration: none; + font-family: ui-rounded; + color: var(--quotelink-color); +} +[data-awful-linkified-image] { + cursor: pointer; + font-family: ui-rounded; + text-decoration: underline; +} +.gif-wrap { + cursor: pointer; + position: relative; + display: inline-block; +} +.gif-wrap:before { + content: "GIF"; + display: block; + background-color: rgba(255, 255, 255, 0.5); + background-image: url('awful-resource://play-button.png'); + background-size: 0.85em; + background-repeat: no-repeat; + background-position: right 5px center; + color: #000; + height: 1.35em; + margin: auto; + position: absolute; + width: 1.75em; + top: 0; + left: 0; + bottom: 0; + right: 0; + padding: 0.25em; + padding-right: 1.25em; + border-radius: 0.125em; + box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.25); +} +.gif-wrap.loading:before { + background-image: url('awful-resource://spinner-button.png'); +} +.gif-wrap.playing:before { + display: none; +} +.bbc-spoiler:not(.spoiled) .gif-wrap { + visibility: hidden; +} +.gif-wrap + br, +.gif-wrap + br + br { + display: none; +} +#fyad-flag { + width: 100%; + height: 102px; +} +#fyad-flag img { + border: 1px solid black; +} +#ad { + text-align: center; +} +#ad img { + max-width: 100%; +} +.iphone #ad { + padding: 0.6em; + padding-bottom: 0; +} +#end { + font-weight: normal; + text-align: center; + line-height: 1; + margin-bottom: 10px; + -webkit-user-select: none; +} +.voiceover-only { + position: absolute; + top: -9999px; + left: -9999px; +} +header, +footer { + -webkit-user-select: none; +} +header img.avatar, +header section.nameanddate { + cursor: pointer; +} +.bbc-spoiler { + cursor: pointer; +} +footer button.action-button { + cursor: pointer; +} +post, +#ad, +#end { + padding-left: env(safe-area-inset-left); + padding-right: env(safe-area-inset-right); + padding-left: constant(safe-area-inset-left); + padding-right: constant(safe-area-inset-right); +} +.bbc-spoiler:not(.spoiled) { + color: transparent; + background: #333; + border-radius: 6px; +} +.bbc-spoiler:not(.spoiled) .bbc-block, +.bbc-spoiler:not(.spoiled) .bbc-block h4, +.bbc-spoiler:not(.spoiled) .bbc-block h5, +.bbc-spoiler:not(.spoiled) li, +.bbc-spoiler:not(.spoiled) a:link, +.bbc-spoiler:not(.spoiled) a:visited, +.bbc-spoiler:not(.spoiled) a:active, +.bbc-spoiler:not(.spoiled) [data-awful-linkified-image] { + color: transparent; + background: #333; + border-radius: 6px; +} +.bbc-spoiler:not(.spoiled) li { + list-style: none; +} +.bbc-spoiler:not(.spoiled) img { + opacity: 0; + height: 0; + width: 100%; +} +.bbc-block h4, +.bbc-block h5 { + font-size: var(--quoteheader-font-size); + margin-bottom: 6px; +} +.bbc-block h4 a, +.bbc-block h5 a { + color: var(--quoteheader-color); +} +.bbc-block.mention.highlight, +.bbc-block.mention.highlight h4, +.bbc-block.mention.highlight h4 a { + color: #9337fd; + border-color: #b837ed; +} +.bbc-block.mention.highlight h4 span.mention.highlight { + color: #9337fd; +} +.bbc-block.mention > .quoteheader > a { + color: #9337fd; +} +.bbc-block { + border: none; + background-color: #cccccc; + font-size: var(quote-font-size); + font-family: ui-rounded; + padding: 10px; + padding-left: 40px; + padding-bottom: 20px; + border-radius: 1em; + position: relative; +} +.quotepost-span { + height: 25px; + width: 25px; + display: block; + position: absolute; + top: 8px; + left: 8px; + background-color: var(--quotelink-color); + -webkit-mask-box-image: url("awful-resource://quote-post.png"); +} +.bbc-block a { + -webkit-tap-highlight-color: transparent; + text-decoration: none; +} +footer { + white-space: nowrap; +} +.divider { + background-color: #cccccc; + content: ""; + border-radius: 0.3em; + display: inline-block; + height: 0.2em; + position: relative; + vertical-align: middle; + overflow: auto; + width: 100%; +} +.divider { + margin-right: 0.8em; + left: 1px; + overflow: auto; +} +.divider-seen { + background-color: #0066FF; + height: 0.15em; +} +.quoteheader > a { + margin-bottom: 8px; + color: var(--quoteheader-color); + font-family: ui-rounded; + font: -apple-system-headline; + font-weight: 600 !important; + font-size: var(--quoteheader-font-size); + text-align: top; +} +.quote_link { + color: var(--username-color); + margin-bottom: 8px; + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 450 !important; + font-size: var(--quotelink-font-size); + display: inline-block; +} +img.awful-smile { + border-radius: 0px; +} +.editedby { + margin-top: 2em; + margin-bottom: 0; + font: -apple-system-caption1; + font-style: italic; + font-weight: 600; + font-size: var(--editedby-font-size); + color: var(--editedby-color); +} +.attachment { + margin: 0; +} +footer { + display: -webkit-flex; + -webkit-align-items: center; +} +footer:after { + content: ""; + display: block; + clear: both; +} +.iphone footer { + grid-column: 1 / span 2; + grid-row: 5 / 6; + align-items: center; + justify-content: start; +} +footer { + margin-top: 1em; + margin-bottom: 0.5em; +} +.action-button { + margin: 0; + border: none; + font-family: inherit; + -webkit-tap-highlight-color: transparent; + background-color: transparent; +} +.action-button img { + width: 24px; + height: 8px; + /* determine (close enough to) #999999 from black using https://codepen.io/sosuke/pen/Pjoqqp */ + -webkit-filter: invert(66%) sepia(11%) saturate(0%) hue-rotate(239deg) brightness(90%) contrast(92%); +} +.editedby span.mention.highlight { + color: #9337fd; +} +#end { + color: rgba(255, 255, 255, 0.3); + line-height: 3em; +} +body { + color: #000000; + background-color: #e6e6e6; +} +.dead-tweet-container { + display: grid; + grid-column: 2; + place-items: start; + max-width: -webkit-fit-content; + border-radius: 1em; + background: #e6e6e6; +} +.ghost-lottie { + grid-column: 1; + grid-row: 1 / span 6; + width: 6em; +} +.dead-tweet-title { + grid-column: 2; + grid-row: 3; + place-items: start; + color: #999999; + font: -apple-system-headline; + font-weight: 600; +} +.dead-tweet-link { + grid-column: 2; + grid-row: 4; + place-items: start; + padding-right: 23px; + color: #0066FF; + font: -apple-system-headline; + font-weight: 450; +} +.ghost-fill { + fill: #999999; +} +.ghost-eyes { + fill: #999999; +} +.ghost-stroke { + stroke: #999999; +} diff --git a/App/Theming/posts-view-spankykong-light.less b/App/Theming/posts-view-spankykong-light.less new file mode 100644 index 000000000..841137585 --- /dev/null +++ b/App/Theming/posts-view-spankykong-light.less @@ -0,0 +1,564 @@ +/* + posts-view-spankykong-light.css + Awful + + Copyright 2022 Awful Contributors. CC BY-NC-SA 3.0 US https://github.com/Awful/Awful.app + */ + + @import "base.less"; + + :root { + font-family: ui-rounded; + --username-font-size: 1.1em; + --username-color: #000000; + + --regdate-font-size: 0.75em; + --regdate-color: #999999; + + --postbody-font-size: 1.05em; + --postbody-color: #000000; + + --link-font-size: 1.05em; + --link-color: #0066ff; + + --editedby-font-size: 0.75em; + --editedby-color: #999999; + + --postdate-font-size: 0.75em; + --postdate-color: #999999; + + --quoteheader-font-size: .98em; + --quoteheader-color: #000000; + + --quotebody-font-size: 0.85em; + --quotebody-color: #000000; + + --quotelink-font-size: 0.85em; + --quotelink-color: #0066ff; +} +* { + box-sizing: border-box; + font-family: ui-rounded !important; +} + +body { + min-height: 100vh; + font: -apple-system-caption1; + font-size: var(--postbody-font-size); + font-family: ui-rounded; + margin: 0; + -webkit-text-size-adjust: 100%; + -webkit-touch-callout: none; + touch-action: manipulation; + word-wrap: break-word; +} + +post:first-child { + margin-top: 3px; +} +post { + background-color: #e6e6e6; + border-bottom: none; + border-top: none; + padding-bottom: 0.25em; +} +header { + border-bottom: none; +} +.iphone post header { + display: grid; + grid-column: 1 / span 2; + grid-row: 1 / 2; + align-items: center; + justify-content: start; + padding-bottom: 7px; +} + +.iphone post header, +.iphone post .postbody { + padding-left: 0.6em; + padding-right: 0.6em; +} +.iphone post footer { + padding-left: 0.6em; +} +.iphone post .action-button { + padding-right: 0.6em; +} +.avatar { + border-radius: 3px; + margin-top: 6px; + margin-right: 12px; +} +.iphone .avatar { + max-width: 4em; + max-height: 4em; + margin-bottom: 6px; + vertical-align: middle; + grid-column: 1 / 2; +} +.iphone .nameanddate { + vertical-align: middle; + grid-column: 2 / 4; + align-items: start; +} +.username { + word-break: break-word; +} +.postdate { + font-size: var(--postdate-font-size); + font: -apple-system-footnote; + font-weight: 600; + font-family: ui-rounded; + color: var(--postdate-color); + -webkit-flex-grow: 1; + -webkit-flex-wrap: wrap-reverse; + text-align: right; + position: relative; +} +.regdate { + display: block; + color: var(--regdate-color); + font: -apple-system-caption1; + font-weight: 600; + font-family: ui-rounded; + font-size: var(--regdate-font-size); + margin: 0 0 2px 0px; +} +.username { + display: inline-block; + font: -apple-system-caption1; + font-weight: 600; + font-family: ui-rounded; + font-size: var(--username-font-size); + color: var(--username-color); +} +.role-admin .username:before { + color: #DD1000; /* red */ +} +.role-mod .username:before { + color: #0066FF; /* blue */ +} +.role-supermod .username:before { + color: #f3a5aa; /* pink? never seen a supermod */ +} +.role-ik .username:before { + color: #999999; /* grey */ +} +.role-coder .username:before { + color: #FFCD00; /* yellow */ +} +.role-admin .username:before, +.role-mod .username:before, +.role-supermod .username:before, +.role-ik .username:before, +.role-coder .username:before { + content: '★'; +} +.op .username { + color: var(--link-color); +} +.platinum .username:after { + background-image: url('awful-resource://platinum-member.png'); + background-position: -100% 0; + -webkit-filter: invert(66%) sepia(11%) saturate(0%) hue-rotate(239deg) brightness(90%) contrast(92%); + content: ""; + background-size: 14px; + width: 14px; + height: 14px; + display: inline-block; +} +.coder .username:before { + content: url('awful-resource://image-coder.png'); +} +.idiotking .username:before { + content: url('awful-resource://ik.png'); +} +.diamond .username:before { + content: url('awful-resource://diamond-icon.png'); +} +.redpill .username:before { + content: url('awful-resource://redpill.png'); +} +.award .username:before { + content: url('awful-resource://award.png'); +} +.platinum .username:after { + background-image: url('awful-resource://platinum-member.png'); +} +.op .username { + color: var(--link-color); +} + +.postbody img, +.postbody iframe, +.postbody embed { + max-width: 100%; +} +.postbody img, +#fyad-flag { + -webkit-user-select: none; +} +.postbody div.code pre { + white-space: break-spaces; +} +.postbody a { + -webkit-tap-highlight-color: transparent; + text-decoration: none; + font-weight: 450; +} +.postbody b::before, +.postbody i::before, +.postbody s::before, +.postbody span.bbc-spoiler::before, +.postbody sub::before, +.postbody sup::before, +.postbody tt::before, +.postbody u::before { + content: "\200C"; +} +.iphone .postbody ol, +.iphone .postbody ul { + margin: 0; + padding-left: 1.5em; +} +.postbody > img { + border-radius: 3px !important; +} + +.postbody > iframe { + border-radius: 3px !important; +} +.postbody a, +[data-awful-linkified-image] { + color: var(--link-color); +} +.iphone .postbody { + grid-column: 1 / span 2; + grid-row: 2 / 4; +} +.bbc-block { + border-left: 2px solid #999; + font-size: var(--quotebody-font-size); + padding: 0 6px 5px 3px; + margin: 7px 0px; +} + +.bbc-block h4 { + margin: 0; + font: -apple-system-headline; + font-weight: 700 !important; + font-size: var(--quoteheader-font-size); + font-family: ui-rounded; + text-align: top; +} +.bbc-block h4 span.mention.highlight { + color: #9337fd; + border-color: #7409a0; +} +blockquote { + margin: 0; +} +blockquote img { + max-width: 160px; + max-height: 100px; + border-radius: 3px !important; +} +.bbc-block.code pre { + margin: 0; +} +.bbc-block h5 { + margin: 0; +} +.bbc-block.mention.highlight, +.bbc-block.mention.highlight h4 a { + color: #9337fd; + border-color: #7409a0; +} +.ipad .bbc-block { + margin: 0 6px 1em 6px; +} +code, +pre, +tt { + font-family: menlo; + font-size: 0.9em; +} +span.mention.highlight { + color: #9337fd; +} +.quote_link { + text-decoration: none; + font-family: ui-rounded; + color: var(--quotelink-color); +} +[data-awful-linkified-image] { + cursor: pointer; + font-family: ui-rounded; + text-decoration: underline; +} +.gif-wrap { + cursor: pointer; + position: relative; + display: inline-block; +} +.gif-wrap:before { + content: "GIF"; + display: block; + background-color: rgba(255, 255, 255, 0.5); + background-image: url('awful-resource://play-button.png'); + background-size: 0.85em; + background-repeat: no-repeat; + background-position: right 5px center; + color: #000; + height: 1.35em; + margin: auto; + position: absolute; + width: 1.75em; + top: 0; + left: 0; + bottom: 0; + right: 0; + padding: 0.25em; + padding-right: 1.25em; + border-radius: 0.125em; + box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.25); +} +.gif-wrap.loading:before { + background-image: url('awful-resource://spinner-button.png'); +} +.gif-wrap.playing:before { + display: none; +} +.bbc-spoiler:not(.spoiled) .gif-wrap { + visibility: hidden; +} +.gif-wrap + br, +.gif-wrap + br + br { + display: none; +} +#fyad-flag { + width: 100%; + height: 102px; +} +#fyad-flag img { + border: 1px solid black; +} + +#ad { + text-align: center; +} +#ad img { + max-width: 100%; +} +.iphone #ad { + padding: 0.6em; + padding-bottom: 0; +} +#end { + font-weight: normal; + text-align: center; + line-height: 1; + margin-bottom: 10px; + -webkit-user-select: none; +} +.voiceover-only { + position: absolute; + top: -9999px; + left: -9999px; +} +header, +footer { + -webkit-user-select: none; +} +header img.avatar, +header section.nameanddate { + cursor: pointer; +} +.bbc-spoiler { + cursor: pointer; +} +footer button.action-button { + cursor: pointer; +} +post, +#ad, +#end { + padding-left: env(safe-area-inset-left); + padding-right: env(safe-area-inset-right); + padding-left: constant(safe-area-inset-left); + padding-right: constant(safe-area-inset-right); +} +.bbc-spoiler:not(.spoiled) { + color: transparent; + background: #333; + border-radius: 6px; +} +.bbc-spoiler:not(.spoiled) .bbc-block, +.bbc-spoiler:not(.spoiled) .bbc-block h4, +.bbc-spoiler:not(.spoiled) .bbc-block h5, +.bbc-spoiler:not(.spoiled) li, +.bbc-spoiler:not(.spoiled) a:link, +.bbc-spoiler:not(.spoiled) a:visited, +.bbc-spoiler:not(.spoiled) a:active, +.bbc-spoiler:not(.spoiled) [data-awful-linkified-image] { + color: transparent; + background: #333; + border-radius: 6px; +} +.bbc-spoiler:not(.spoiled) li { + list-style: none; +} +.bbc-spoiler:not(.spoiled) img { + opacity: 0; + height: 0; + width: 100%; +} +.bbc-block h4, +.bbc-block h5 { + font-size: var(--quoteheader-font-size); + margin-bottom: 6px; +} +.bbc-block h4 a, +.bbc-block h5 a { + color: var(--quoteheader-color); +} +.bbc-block.mention.highlight, +.bbc-block.mention.highlight h4, +.bbc-block.mention.highlight h4 a { + color: #9337fd; + border-color: #b837ed; +} +.bbc-block.mention.highlight h4 span.mention.highlight { + color: #9337fd; +} +.bbc-block.mention > .quoteheader > a { + color: #9337fd; +} +.bbc-block { + border: none; + background-color: #cccccc; + font-size: var(quote-font-size); + font-family: ui-rounded; + padding: 10px; + padding-left: 40px; + padding-bottom: 20px; + border-radius: 1em; + position: relative; +} +.quotepost-span { + height: 25px; + width: 25px; + display: block; + position: absolute; + top: 8px; + left: 8px; + background-color: var(--quotelink-color); + -webkit-mask-box-image: url("awful-resource://quote-post.png"); +} +.bbc-block a { + -webkit-tap-highlight-color: transparent; + text-decoration: none; +} +footer { + white-space: nowrap; +} +.divider { + background-color: #cccccc; + content: ""; + border-radius: 0.3em; + display: inline-block; + height: 0.2em; + position: relative; + vertical-align: middle; + overflow: auto; + width: 100%; +} +.divider { + margin-right: 0.8em; + left: 1px; + overflow: auto; +} +.divider-seen { + background-color: #0066FF; + height: 0.15em; +} +.quoteheader > a { + margin-bottom: 8px; + color: var(--quoteheader-color); + font-family: ui-rounded; + font: -apple-system-headline; + font-weight: 600 !important; + font-size: var(--quoteheader-font-size); + text-align: top; +} +.quote_link { + color: var(--username-color); + margin-bottom: 8px; + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 450 !important; + font-size: var(--quotelink-font-size); + display: inline-block; +} +img.awful-smile { + border-radius: 0px; +} +.editedby { + margin-top: 2em; + margin-bottom: 0; + font: -apple-system-caption1; + font-style: italic; + font-weight: 600; + font-size: var(--editedby-font-size); + color: var(--editedby-color); +} +.attachment { + margin: 0; +} +footer { + display: -webkit-flex; + -webkit-align-items: center; +} +footer:after { + content: ""; + display: block; + clear: both; +} +.iphone footer { + grid-column: 1 / span 2; + grid-row: 5 / 6; + align-items: center; + justify-content: start; +} +footer { + margin-top: 1em; + margin-bottom: 0.5em; +} +.action-button { + margin: 0; + border: none; + font-family: inherit; + -webkit-tap-highlight-color: transparent; + background-color: transparent; +} +.action-button img { + width: 24px; + height: 8px; + /* determine (close enough to) #999999 from black using https://codepen.io/sosuke/pen/Pjoqqp */ + -webkit-filter: invert(66%) sepia(11%) saturate(0%) hue-rotate(239deg) brightness(90%) contrast(92%); +} +.editedby span.mention.highlight { + color: #9337fd; +} +#end { + color: rgba(255, 255, 255, 0.3); + line-height: 3em; +} +body { + color: #000000; + background-color: #e6e6e6; +} + +@import "dead-tweet-ghost.less"; +.dead-tweet(#0066FF, #e6e6e6, #999999); //@tweetLinkColor, @backgroundColor, @ghostColor \ No newline at end of file diff --git a/App/Theming/posts-view-spankykong-oled-dark.css b/App/Theming/posts-view-spankykong-oled-dark.css new file mode 100644 index 000000000..1cc28f8ac --- /dev/null +++ b/App/Theming/posts-view-spankykong-oled-dark.css @@ -0,0 +1,991 @@ +/* + posts-view-spankykong-oled-dark.css + Awful + + Copyright 2022 Awful Contributors. CC BY-NC-SA 3.0 US https://github.com/Awful/Awful.app +*/ +body { + min-height: 100vh; + font: -apple-system-body; + margin: 0; + -webkit-text-size-adjust: 100%; + -webkit-touch-callout: none; + touch-action: manipulation; +} +body { + word-wrap: break-word; +} +.postbody img, +.postbody iframe, +.postbody embed { + max-width: 100%; +} +.postbody div.code pre { + white-space: break-spaces; +} +post { + display: block; + border-top: 1px solid; + border-bottom: 1px solid; + margin-top: 0.5em; +} +.iphone post header, +.iphone post .postbody { + padding-left: 0.6em; + padding-right: 0.6em; +} +.iphone post footer { + padding-left: 0.6em; +} +.iphone post .action-button { + padding-right: 0.6em; +} +.ipad post header, +.ipad post .postbody { + padding-left: 1.07em; + padding-right: 1.07em; +} +.ipad post footer { + padding-left: 1.07em; +} +.ipad post .action-button { + padding-right: 1.07em; +} +post:first-child { + margin-top: 0; +} +header { + padding-top: 0.75em; + padding-bottom: 0.7em; +} +.ipad header { + padding-top: 1.22em; +} +header:after { + content: ""; + display: block; + clear: both; +} +.avatar { + display: inline-block; + vertical-align: middle; +} +.iphone .avatar { + max-width: 2.5em; + max-height: 2.5em; +} +.ipad .avatar { + max-width: 4em; + max-height: 4em; +} +.nameanddate { + display: inline-block; + vertical-align: middle; +} +.username { + margin: 0 0 2px; + word-break: break-all; +} +.postdate { + font-size: 0.8em; + font-weight: lighter; + -webkit-flex-grow: 1; + -webkit-flex-wrap: wrap-reverse; +} +.regdate { + display: block; + font-size: 0.8em; + font-weight: medium; + margin: -0.4em 0 0; +} +.username { + display: inline-block; + font-size: 1.1em; + font-weight: 500; + /* Platinum users */ +} +.role-admin .username:before { + color: #990011; +} +.role-mod .username:before { + color: #006699; +} +.role-supermod .username:before { + color: #f3a5aa; +} +.role-ik .username:before { + color: #787373; +} +.role-coder .username:before { + color: #eacf4c; +} +.role-admin .username:before, +.role-mod .username:before, +.role-supermod .username:before, +.role-ik .username:before, +.role-coder .username:before { + content: '★'; +} +.op .username { + color: #199ed7; +} +.platinum .username:after { + background-image: url('awful-resource://platinum-member.png'); + content: ""; + background-size: 14px; + width: 14px; + height: 14px; + display: inline-block; +} +.coder .username:before { + content: url('awful-resource://image-coder.png'); +} +.idiotking .username:before { + content: url('awful-resource://ik.png'); +} +.diamond .username:before { + content: url('awful-resource://diamond-icon.png'); +} +.redpill .username:before { + content: url('awful-resource://redpill.png'); +} +.award .username:before { + content: url('awful-resource://award.png'); +} +.action-button { + margin: 0; + padding: 0.6em; + border: none; + font-family: inherit; + -webkit-tap-highlight-color: transparent; + background-color: transparent; +} +.action-button img { + width: 24px; + height: 8px; +} +.postbody img, +#fyad-flag { + -webkit-user-select: none; +} +.bbc-block { + border-left: 2px solid #999; + font-size: 82%; + margin: 5px 0; + padding: 0 10px 5px; +} +.ipad .bbc-block { + margin: 0 10px 1em 10px; +} +.bbc-block h4 { + margin: 0; + padding: 1px 0px 2px; + font-weight: bold; +} +.bbc-block h4 span.mention.highlight { + color: #7409a0; + border-color: #7409a0; +} +.bbc-block h5 { + margin: 0; +} +.bbc-block.mention.highlight, +.bbc-block.mention.highlight h4 a { + color: #7409a0; + border-color: #7409a0; +} +code, +pre, +tt { + font-family: menlo; + font-size: 0.9em; +} +span.mention.highlight { + color: #7409a0; +} +.quote_link { + text-decoration: none; +} +[data-awful-linkified-image] { + cursor: pointer; + text-decoration: underline; +} +.gif-wrap { + cursor: pointer; + position: relative; + display: inline-block; +} +.gif-wrap:before { + content: "GIF"; + display: block; + background-color: rgba(255, 255, 255, 0.5); + background-image: url('awful-resource://play-button.png'); + background-size: 0.85em; + background-repeat: no-repeat; + background-position: right 5px center; + color: #000; + height: 1.35em; + margin: auto; + position: absolute; + width: 1.75em; + top: 0; + left: 0; + bottom: 0; + right: 0; + padding: 0.25em; + padding-right: 1.25em; + border-radius: 0.125em; + box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.25); +} +.gif-wrap.loading:before { + background-image: url('awful-resource://spinner-button.png'); +} +.gif-wrap.playing:before { + display: none; +} +.bbc-spoiler:not(.spoiled) .gif-wrap { + visibility: hidden; +} +.gif-wrap + br, +.gif-wrap + br + br { + display: none; +} +blockquote { + margin: 0; +} +blockquote img { + max-width: 160px; + max-height: 100px; +} +.postbody a { + -webkit-tap-highlight-color: transparent; +} +.postbody b::before, +.postbody i::before, +.postbody s::before, +.postbody span.bbc-spoiler::before, +.postbody sub::before, +.postbody sup::before, +.postbody tt::before, +.postbody u::before { + content: "\200C"; +} +.iphone .postbody ol, +.iphone .postbody ul { + margin: 0; + padding-left: 1.5em; +} +.bbc-block.code pre { + margin: 0; +} +.editedby { + margin-bottom: 0; + font-size: 90%; + font-style: italic; +} +.attachment { + margin: 0; +} +footer { + display: -webkit-flex; + -webkit-align-items: center; +} +footer:after { + content: ""; + display: block; + clear: both; +} +#fyad-flag { + width: 100%; + height: 102px; +} +#fyad-flag img { + border: 1px solid black; +} +.ipad #fyad-flag img { + display: block; + margin: 0 auto; +} +#ad { + text-align: center; +} +#ad img { + max-width: 100%; +} +.iphone #ad { + padding: 0.6em; + padding-bottom: 0; +} +.ipad #ad { + padding: 1.07em; + padding-bottom: 0; +} +#end { + font-weight: normal; + text-align: center; + line-height: 1; + margin-bottom: 10px; + -webkit-user-select: none; +} +.voiceover-only { + position: absolute; + top: -9999px; + left: -9999px; +} +header, +footer { + -webkit-user-select: none; +} +header img.avatar, +header section.nameanddate { + cursor: pointer; +} +.bbc-spoiler { + cursor: pointer; +} +footer button.action-button { + cursor: pointer; +} +post, +#ad, +#end { + padding-left: env(safe-area-inset-left); + padding-right: env(safe-area-inset-right); + padding-left: constant(safe-area-inset-left); + padding-right: constant(safe-area-inset-right); +} +:root { + font-family: ui-rounded; + --username-font-size: 1.1em; + --username-color: #fffefe; + --regdate-font-size: 0.75em; + --regdate-color: #4d4d4d; + --postbody-font-size: 1.05em; + --postbody-color: #fffefe; + --link-font-size: 1.05em; + --link-color: #0066ff; + --editedby-font-size: 0.75em; + --editedby-color: #4d4d4d; + --postdate-font-size: 0.75em; + --postdate-color: #4d4d4d; + --quoteheader-font-size: 0.98em; + --quoteheader-color: #fffefe; + --quotebody-font-size: 0.85em; + --quotebody-color: #fffefe; + --quotelink-font-size: 0.85em; + --quotelink-color: #0066ff; +} +* { + box-sizing: border-box; + font-family: ui-rounded !important; +} +body { + min-height: 100vh; + font: -apple-system-caption1; + font-size: var(--postbody-font-size); + font-family: ui-rounded; + margin: 0; + -webkit-text-size-adjust: 100%; + -webkit-touch-callout: none; + touch-action: manipulation; + word-wrap: break-word; +} +post:first-child { + margin-top: 3px; +} +post { + background-color: #000000; + border-bottom: none; + border-top: none; + padding-bottom: 0.25em; +} +header { + border-bottom: none; +} +.iphone post header { + display: grid; + grid-column: 1 / span 2; + grid-row: 1 / 2; + align-items: center; + justify-content: start; + padding-bottom: 7px; +} +.iphone post header, +.iphone post .postbody { + padding-left: 0.6em; + padding-right: 0.6em; +} +.iphone post footer { + padding-left: 0.6em; +} +.iphone post .action-button { + padding-right: 0.6em; +} +.avatar { + border-radius: 3px; + margin-top: 6px; + margin-right: 12px; +} +.iphone .avatar { + max-width: 4em; + max-height: 4em; + margin-bottom: 6px; + vertical-align: middle; + grid-column: 1 / 2; +} +.iphone .nameanddate { + vertical-align: middle; + grid-column: 2 / 4; + align-items: start; +} +.username { + word-break: break-word; +} +.postdate { + font-size: var(--postdate-font-size); + font: -apple-system-footnote; + font-weight: 600 !important; + font-family: ui-rounded; + color: var(--postdate-color); + -webkit-flex-grow: 1; + -webkit-flex-wrap: wrap-reverse; + text-align: right; + position: relative; +} +.regdate { + display: block; + color: var(--regdate-color); + font: -apple-system-caption1; + font-weight: 600 !important; + font-family: ui-rounded; + font-size: var(--regdate-font-size); + margin: 0 0 2px 0px; +} +.username { + display: inline-block; + font: -apple-system-caption1; + font-weight: 600 !important; + font-family: ui-rounded; + font-size: var(--username-font-size); + color: var(--username-color); +} +.role-admin .username:before { + color: #DD1000; + /* red */ +} +.role-mod .username:before { + color: #0066FF; + /* blue */ +} +.role-supermod .username:before { + color: #f3a5aa; + /* pink? never seen a supermod */ +} +.role-ik .username:before { + color: #4d4d4d; + /* grey */ +} +.role-coder .username:before { + color: #FFCD00; + /* yellow */ +} +.role-admin .username:before, +.role-mod .username:before, +.role-supermod .username:before, +.role-ik .username:before, +.role-coder .username:before { + content: '★'; +} +.op .username { + color: var(--link-color); +} +.platinum .username:after { + background-image: url('awful-resource://platinum-member.png'); + background-position: -100% 0; + /* determine (close enough to) #4d4d4d from black using https://codepen.io/sosuke/pen/Pjoqqp */ + -webkit-filter: invert(27%) sepia(44%) saturate(0%) hue-rotate(257deg) brightness(90%) contrast(86%); + content: ""; + background-size: 14px; + width: 14px; + height: 14px; + display: inline-block; +} +.coder .username:before { + content: url('awful-resource://image-coder.png'); +} +.idiotking .username:before { + content: url('awful-resource://ik.png'); +} +.diamond .username:before { + content: url('awful-resource://diamond-icon.png'); +} +.redpill .username:before { + content: url('awful-resource://redpill.png'); +} +.award .username:before { + content: url('awful-resource://award.png'); +} +.platinum .username:after { + background-image: url('awful-resource://platinum-member.png'); +} +.op .username { + color: var(--link-color); +} +.postbody img, +.postbody iframe, +.postbody embed { + max-width: 100%; +} +.postbody img, +#fyad-flag { + -webkit-user-select: none; +} +.postbody div.code pre { + white-space: break-spaces; +} +.postbody a { + -webkit-tap-highlight-color: transparent; + text-decoration: none; + font-weight: 450; +} +.postbody b::before, +.postbody i::before, +.postbody s::before, +.postbody span.bbc-spoiler::before, +.postbody sub::before, +.postbody sup::before, +.postbody tt::before, +.postbody u::before { + content: "\200C"; +} +.iphone .postbody ol, +.iphone .postbody ul { + margin: 0; + padding-left: 1.5em; +} +.postbody > img { + border-radius: 3px !important; +} +.postbody > iframe { + border-radius: 3px !important; +} +.postbody a, +[data-awful-linkified-image] { + color: var(--link-color); +} +.iphone .postbody { + grid-column: 1 / span 2; + grid-row: 2 / 4; +} +.bbc-block { + border-left: 2px solid #999; + font-size: var(--quotebody-font-size); + padding: 0 6px 5px 3px; + margin: 7px 0px; +} +.bbc-block h4 { + margin: 0; + font: -apple-system-headline; + font-weight: 700 !important; + font-size: var(--quoteheader-font-size); + font-family: ui-rounded; + text-align: top; +} +.bbc-block h4 span.mention.highlight { + color: #9337fd; + border-color: #7409a0; +} +blockquote { + margin: 0; +} +blockquote img { + max-width: 160px; + max-height: 100px; + border-radius: 3px !important; +} +.bbc-block.code pre { + margin: 0; +} +.bbc-block h5 { + margin: 0; +} +.bbc-block.mention.highlight, +.bbc-block.mention.highlight h4 a { + color: #9337fd; + border-color: #7409a0; +} +.ipad .bbc-block { + margin: 0 6px 1em 6px; +} +code, +pre, +tt { + font-family: menlo; + font-size: 0.9em; +} +span.mention.highlight { + color: #9337fd; +} +.quote_link { + text-decoration: none; + font-family: ui-rounded; + color: var(--quotelink-color); +} +[data-awful-linkified-image] { + cursor: pointer; + font-family: ui-rounded; + text-decoration: underline; +} +.gif-wrap { + cursor: pointer; + position: relative; + display: inline-block; +} +.gif-wrap:before { + content: "GIF"; + display: block; + background-color: rgba(255, 255, 255, 0.5); + background-image: url('awful-resource://play-button.png'); + background-size: 0.85em; + background-repeat: no-repeat; + background-position: right 5px center; + color: #000; + height: 1.35em; + margin: auto; + position: absolute; + width: 1.75em; + top: 0; + left: 0; + bottom: 0; + right: 0; + padding: 0.25em; + padding-right: 1.25em; + border-radius: 0.125em; + box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.25); +} +.gif-wrap.loading:before { + background-image: url('awful-resource://spinner-button.png'); +} +.gif-wrap.playing:before { + display: none; +} +.bbc-spoiler:not(.spoiled) .gif-wrap { + visibility: hidden; +} +.gif-wrap + br, +.gif-wrap + br + br { + display: none; +} +#fyad-flag { + width: 100%; + height: 102px; +} +#fyad-flag img { + border: 1px solid black; +} +#ad { + text-align: center; +} +#ad img { + max-width: 100%; +} +.iphone #ad { + padding: 0.6em; + padding-bottom: 0; +} +#end { + font-weight: normal; + text-align: center; + line-height: 1; + margin-bottom: 10px; + -webkit-user-select: none; +} +.voiceover-only { + position: absolute; + top: -9999px; + left: -9999px; +} +header, +footer { + -webkit-user-select: none; +} +header img.avatar, +header section.nameanddate { + cursor: pointer; +} +.bbc-spoiler { + cursor: pointer; +} +footer button.action-button { + cursor: pointer; +} +post, +#ad, +#end { + padding-left: env(safe-area-inset-left); + padding-right: env(safe-area-inset-right); + padding-left: constant(safe-area-inset-left); + padding-right: constant(safe-area-inset-right); +} +.bbc-spoiler:not(.spoiled) { + color: transparent; + background: #333; + border-radius: 6px; +} +.bbc-spoiler:not(.spoiled) .bbc-block, +.bbc-spoiler:not(.spoiled) .bbc-block h4, +.bbc-spoiler:not(.spoiled) .bbc-block h5, +.bbc-spoiler:not(.spoiled) li, +.bbc-spoiler:not(.spoiled) a:link, +.bbc-spoiler:not(.spoiled) a:visited, +.bbc-spoiler:not(.spoiled) a:active, +.bbc-spoiler:not(.spoiled) [data-awful-linkified-image] { + color: transparent; + background: #333; + border-radius: 6px; +} +.bbc-spoiler:not(.spoiled) li { + list-style: none; +} +.bbc-spoiler:not(.spoiled) img { + opacity: 0; + height: 0; + width: 100%; +} +.bbc-block h4, +.bbc-block h5 { + font-size: var(--quoteheader-font-size); + margin-bottom: 6px; +} +.bbc-block h4 a, +.bbc-block h5 a { + color: var(--quoteheader-color); +} +.bbc-block.mention.highlight, +.bbc-block.mention.highlight h4, +.bbc-block.mention.highlight h4 a { + color: #9337fd; + border-color: #b837ed; +} +.bbc-block.mention.highlight h4 span.mention.highlight { + color: #9337fd; +} +.bbc-block.mention > .quoteheader > a { + color: #9337fd; +} +.bbc-block { + border: none; + background-color: #1a1a1a; + font-size: var(quote-font-size); + font-family: ui-rounded; + padding: 10px; + padding-left: 40px; + padding-bottom: 20px; + border-radius: 1em; + position: relative; +} +.quotepost-span { + height: 25px; + width: 25px; + display: block; + position: absolute; + top: 8px; + left: 8px; + background-color: var(--quotelink-color); + -webkit-mask-box-image: url("awful-resource://quote-post.png"); +} +.bbc-block a { + -webkit-tap-highlight-color: transparent; + text-decoration: none; +} +/* + posts-view-dark-emoticons.css + Awful + + Copyright 2013 Awful Contributors. CC BY-NC-SA 3.0 US https://github.com/Awful/Awful.app +*/ +[title~=":bustem:"], +[title~=":effort:"], +[title~=":dealwithit:"], +[title~=":filez:"], +[title~=":fireman:"], +[title~=":firstpost:"], +[title~=":frogon:"], +[title~=":FYH:"], +[title~=":gb2gbs:"], +[title~=":goof:"], +[title~=":qq:"], +[title~=":regd04:"], +[title~=":regd05:"], +[title~=":regd06:"], +[title~=":regd07:"], +[title~=":rice:"], +[title~=":sicknasty:"], +[title~=":vick:"], +[title~=":woop:"], +[title~=":words:"], +[title~=":wtc:"], +[title~=":zerg:"] { + background: #fff; +} +[title~=":byobear:"], +[title~=":chiyo:"], +[title~=":coal:"], +[title~=":derp:"], +[title~=":dice:"], +[title~=":edi:"], +[title~=":fedora:"], +[title~=":hf:"], +[title~=":iia:"], +[title~=":iiam:"], +[title~=":iiapa:"], +[title~=":laffo:"], +[title~=":lol:"], +[title~=":ms:"], +[title~=":nms:"], +[title~=":nws:"], +[title~=":tbear:"], +[title~=":their:"], +[title~=":whoptc:"], +[title~=":wom:"], +[title~=":wtf:"], +[title~=":yohoho:"] { + -webkit-filter: invert(100%); +} +footer { + white-space: nowrap; +} +.divider { + background-color: #1a1a1a; + content: ""; + border-radius: 0.3em; + display: inline-block; + height: 0.2em; + position: relative; + vertical-align: middle; + overflow: auto; + width: 100%; +} +.divider { + margin-right: 0.8em; + left: 1px; + overflow: auto; +} +.divider-seen { + background-color: #0066FF; + height: 0.15em; +} +.quoteheader > a { + margin-bottom: 8px; + color: var(--quoteheader-color); + font-family: ui-rounded; + font: -apple-system-headline; + font-weight: 600 !important; + font-size: var(--quoteheader-font-size); + text-align: top; +} +.quote_link { + color: var(--username-color); + margin-bottom: 8px; + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 450 !important; + font-size: var(--quotelink-font-size); + display: inline-block; +} +img.awful-smile { + border-radius: 0px; +} +.editedby { + margin-top: 2em; + margin-bottom: 0; + font: -apple-system-caption1; + font-style: italic; + font-weight: 600; + font-size: var(--editedby-font-size); + color: var(--editedby-color); +} +.attachment { + margin: 0; +} +footer { + display: -webkit-flex; + -webkit-align-items: center; +} +footer:after { + content: ""; + display: block; + clear: both; +} +.iphone footer { + grid-column: 1 / span 2; + grid-row: 5 / 6; + align-items: center; + justify-content: start; +} +footer { + margin-top: 1em; + margin-bottom: 0.5em; +} +.action-button { + margin: 0; + border: none; + font-family: inherit; + -webkit-tap-highlight-color: transparent; + background-color: transparent; +} +.action-button img { + width: 24px; + height: 8px; + -webkit-filter: invert(27%) sepia(44%) saturate(0%) hue-rotate(257deg) brightness(90%) contrast(86%); +} +.editedby span.mention.highlight { + color: #9337fd; +} +#end { + color: rgba(255, 255, 255, 0.3); + line-height: 3em; +} +body { + color: #fffefe; + background-color: #000000; +} +.dead-tweet-container { + display: grid; + grid-column: 2; + place-items: start; + max-width: -webkit-fit-content; + border-radius: 1em; + background: #000; +} +.ghost-lottie { + grid-column: 1; + grid-row: 1 / span 6; + width: 6em; +} +.dead-tweet-title { + grid-column: 2; + grid-row: 3; + place-items: start; + color: #fffefe; + font: -apple-system-headline; + font-weight: 600; +} +.dead-tweet-link { + grid-column: 2; + grid-row: 4; + place-items: start; + padding-right: 23px; + color: #0066FF; + font: -apple-system-headline; + font-weight: 450; +} +.ghost-fill { + fill: #fffefe; +} +.ghost-eyes { + fill: #fffefe; +} +.ghost-stroke { + stroke: #fffefe; +} diff --git a/App/Theming/posts-view-spankykong-oled-dark.less b/App/Theming/posts-view-spankykong-oled-dark.less new file mode 100644 index 000000000..6d4985acf --- /dev/null +++ b/App/Theming/posts-view-spankykong-oled-dark.less @@ -0,0 +1,566 @@ +/* + posts-view-spankykong-oled-dark.css + Awful + + Copyright 2022 Awful Contributors. CC BY-NC-SA 3.0 US https://github.com/Awful/Awful.app +*/ + +@import "base.less"; + + :root { + font-family: ui-rounded; + --username-font-size: 1.1em; + --username-color: #fffefe; + + --regdate-font-size: 0.75em; + --regdate-color: #4d4d4d; + + --postbody-font-size: 1.05em; + --postbody-color: #fffefe; + + --link-font-size: 1.05em; + --link-color: #0066ff; + + --editedby-font-size: 0.75em; + --editedby-color: #4d4d4d; + + --postdate-font-size: 0.75em; + --postdate-color: #4d4d4d; + + --quoteheader-font-size: .98em; + --quoteheader-color: #fffefe; + + --quotebody-font-size: 0.85em; + --quotebody-color: #fffefe; + + --quotelink-font-size: 0.85em; + --quotelink-color: #0066ff; +} +* { + box-sizing: border-box; + font-family: ui-rounded !important; +} + +body { + min-height: 100vh; + font: -apple-system-caption1; + font-size: var(--postbody-font-size); + font-family: ui-rounded; + margin: 0; + -webkit-text-size-adjust: 100%; + -webkit-touch-callout: none; + touch-action: manipulation; + word-wrap: break-word; +} + +post:first-child { + margin-top: 3px; +} +post { + background-color: #000000; + border-bottom: none; + border-top: none; + padding-bottom: 0.25em; +} +header { + border-bottom: none; +} +.iphone post header { + display: grid; + grid-column: 1 / span 2; + grid-row: 1 / 2; + align-items: center; + justify-content: start; + padding-bottom: 7px; +} +.iphone post header, +.iphone post .postbody { + padding-left: 0.6em; + padding-right: 0.6em; +} +.iphone post footer { + padding-left: 0.6em; +} +.iphone post .action-button { + padding-right: 0.6em; +} +.avatar { + border-radius: 3px; + margin-top: 6px; + margin-right: 12px; +} +.iphone .avatar { + max-width: 4em; + max-height: 4em; + margin-bottom: 6px; + vertical-align: middle; + grid-column: 1 / 2; +} +.iphone .nameanddate { + vertical-align: middle; + grid-column: 2 / 4; + align-items: start; +} +.username { + word-break: break-word; +} +.postdate { + font-size: var(--postdate-font-size); + font: -apple-system-footnote; + font-weight: 600 !important; + font-family: ui-rounded; + color: var(--postdate-color); + -webkit-flex-grow: 1; + -webkit-flex-wrap: wrap-reverse; + text-align: right; + position: relative; +} +.regdate { + display: block; + color: var(--regdate-color); + font: -apple-system-caption1; + font-weight: 600 !important; + font-family: ui-rounded; + font-size: var(--regdate-font-size); + margin: 0 0 2px 0px; +} +.username { + display: inline-block; + font: -apple-system-caption1; + font-weight: 600 !important; + font-family: ui-rounded; + font-size: var(--username-font-size); + color: var(--username-color); +} +.role-admin .username:before { + color: #DD1000; /* red */ +} +.role-mod .username:before { + color: #0066FF; /* blue */ +} +.role-supermod .username:before { + color: #f3a5aa; /* pink? never seen a supermod */ +} +.role-ik .username:before { + color: #4d4d4d; /* grey */ +} +.role-coder .username:before { + color: #FFCD00; /* yellow */ +} +.role-admin .username:before, +.role-mod .username:before, +.role-supermod .username:before, +.role-ik .username:before, +.role-coder .username:before { + content: '★'; +} +.op .username { + color: var(--link-color); +} +.platinum .username:after { + background-image: url('awful-resource://platinum-member.png'); + background-position: -100% 0; + /* determine (close enough to) #4d4d4d from black using https://codepen.io/sosuke/pen/Pjoqqp */ + -webkit-filter: invert(27%) sepia(44%) saturate(0%) hue-rotate(257deg) brightness(90%) contrast(86%); + content: ""; + background-size: 14px; + width: 14px; + height: 14px; + display: inline-block; +} +.coder .username:before { + content: url('awful-resource://image-coder.png'); +} +.idiotking .username:before { + content: url('awful-resource://ik.png'); +} +.diamond .username:before { + content: url('awful-resource://diamond-icon.png'); +} +.redpill .username:before { + content: url('awful-resource://redpill.png'); +} +.award .username:before { + content: url('awful-resource://award.png'); +} +.platinum .username:after { + background-image: url('awful-resource://platinum-member.png'); +} +.op .username { + color: var(--link-color); +} +.postbody img, +.postbody iframe, +.postbody embed { + max-width: 100%; +} +.postbody img, +#fyad-flag { + -webkit-user-select: none; +} +.postbody div.code pre { + white-space: break-spaces; +} +.postbody a { + -webkit-tap-highlight-color: transparent; + text-decoration: none; + font-weight: 450; +} +.postbody b::before, +.postbody i::before, +.postbody s::before, +.postbody span.bbc-spoiler::before, +.postbody sub::before, +.postbody sup::before, +.postbody tt::before, +.postbody u::before { + content: "\200C"; +} +.iphone .postbody ol, +.iphone .postbody ul { + margin: 0; + padding-left: 1.5em; +} +.postbody > img { + border-radius: 3px !important; +} + +.postbody > iframe { + border-radius: 3px !important; +} +.postbody a, +[data-awful-linkified-image] { + color: var(--link-color); +} +.iphone .postbody { + grid-column: 1 / span 2; + grid-row: 2 / 4; +} +.bbc-block { + border-left: 2px solid #999; + font-size: var(--quotebody-font-size); + padding: 0 6px 5px 3px; + margin: 7px 0px; +} + +.bbc-block h4 { + margin: 0; + font: -apple-system-headline; + font-weight: 700 !important; + font-size: var(--quoteheader-font-size); + font-family: ui-rounded; + text-align: top; +} +.bbc-block h4 span.mention.highlight { + color: #9337fd; + border-color: #7409a0; +} +blockquote { + margin: 0; +} +blockquote img { + max-width: 160px; + max-height: 100px; + border-radius: 3px !important; +} +.bbc-block.code pre { + margin: 0; +} +.bbc-block h5 { + margin: 0; +} +.bbc-block.mention.highlight, +.bbc-block.mention.highlight h4 a { + color: #9337fd; + border-color: #7409a0; +} +.ipad .bbc-block { + margin: 0 6px 1em 6px; +} +code, +pre, +tt { + font-family: menlo; + font-size: 0.9em; +} +span.mention.highlight { + color: #9337fd; +} +.quote_link { + text-decoration: none; + font-family: ui-rounded; + color: var(--quotelink-color); +} +[data-awful-linkified-image] { + cursor: pointer; + font-family: ui-rounded; + text-decoration: underline; +} +.gif-wrap { + cursor: pointer; + position: relative; + display: inline-block; +} +.gif-wrap:before { + content: "GIF"; + display: block; + background-color: rgba(255, 255, 255, 0.5); + background-image: url('awful-resource://play-button.png'); + background-size: 0.85em; + background-repeat: no-repeat; + background-position: right 5px center; + color: #000; + height: 1.35em; + margin: auto; + position: absolute; + width: 1.75em; + top: 0; + left: 0; + bottom: 0; + right: 0; + padding: 0.25em; + padding-right: 1.25em; + border-radius: 0.125em; + box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.25); +} +.gif-wrap.loading:before { + background-image: url('awful-resource://spinner-button.png'); +} +.gif-wrap.playing:before { + display: none; +} +.bbc-spoiler:not(.spoiled) .gif-wrap { + visibility: hidden; +} +.gif-wrap + br, +.gif-wrap + br + br { + display: none; +} +#fyad-flag { + width: 100%; + height: 102px; +} +#fyad-flag img { + border: 1px solid black; +} + +#ad { + text-align: center; +} +#ad img { + max-width: 100%; +} +.iphone #ad { + padding: 0.6em; + padding-bottom: 0; +} + +#end { + font-weight: normal; + text-align: center; + line-height: 1; + margin-bottom: 10px; + -webkit-user-select: none; +} +.voiceover-only { + position: absolute; + top: -9999px; + left: -9999px; +} +header, +footer { + -webkit-user-select: none; +} +header img.avatar, +header section.nameanddate { + cursor: pointer; +} +.bbc-spoiler { + cursor: pointer; +} +footer button.action-button { + cursor: pointer; +} +post, +#ad, +#end { + padding-left: env(safe-area-inset-left); + padding-right: env(safe-area-inset-right); + padding-left: constant(safe-area-inset-left); + padding-right: constant(safe-area-inset-right); +} +.bbc-spoiler:not(.spoiled) { + color: transparent; + background: #333; + border-radius: 6px; +} +.bbc-spoiler:not(.spoiled) .bbc-block, +.bbc-spoiler:not(.spoiled) .bbc-block h4, +.bbc-spoiler:not(.spoiled) .bbc-block h5, +.bbc-spoiler:not(.spoiled) li, +.bbc-spoiler:not(.spoiled) a:link, +.bbc-spoiler:not(.spoiled) a:visited, +.bbc-spoiler:not(.spoiled) a:active, +.bbc-spoiler:not(.spoiled) [data-awful-linkified-image] { + color: transparent; + background: #333; + border-radius: 6px; +} +.bbc-spoiler:not(.spoiled) li { + list-style: none; +} +.bbc-spoiler:not(.spoiled) img { + opacity: 0; + height: 0; + width: 100%; +} +.bbc-block h4, +.bbc-block h5 { + font-size: var(--quoteheader-font-size); + margin-bottom: 6px; +} +.bbc-block h4 a, +.bbc-block h5 a { + color: var(--quoteheader-color); +} +.bbc-block.mention.highlight, +.bbc-block.mention.highlight h4, +.bbc-block.mention.highlight h4 a { + color: #9337fd; + border-color: #b837ed; +} +.bbc-block.mention.highlight h4 span.mention.highlight { + color: #9337fd; +} +.bbc-block.mention > .quoteheader > a { + color: #9337fd; +} +.bbc-block { + border: none; + background-color: #1a1a1a; + font-size: var(quote-font-size); + font-family: ui-rounded; + padding: 10px; + padding-left: 40px; + padding-bottom: 20px; + border-radius: 1em; + position: relative; +} +.quotepost-span { + height: 25px; + width: 25px; + display: block; + position: absolute; + top: 8px; + left: 8px; + background-color: var(--quotelink-color); + -webkit-mask-box-image: url("awful-resource://quote-post.png"); +} +.bbc-block a { + -webkit-tap-highlight-color: transparent; + text-decoration: none; +} + +@import "posts-view-dark-emoticons.less"; + +footer { + white-space: nowrap; +} +.divider { + background-color: #1a1a1a; + content: ""; + border-radius: 0.3em; + display: inline-block; + height: 0.2em; + position: relative; + vertical-align: middle; + overflow: auto; + width: 100%; +} +.divider { + margin-right: 0.8em; + left: 1px; + overflow: auto; +} +.divider-seen { + background-color: #0066FF; + height: 0.15em; +} +.quoteheader > a { + margin-bottom: 8px; + color: var(--quoteheader-color); + font-family: ui-rounded; + font: -apple-system-headline; + font-weight: 600 !important; + font-size: var(--quoteheader-font-size); + text-align: top; +} +.quote_link { + color: var(--username-color); + margin-bottom: 8px; + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 450 !important; + font-size: var(--quotelink-font-size); + display: inline-block; +} +img.awful-smile { + border-radius: 0px; +} +.editedby { + margin-top: 2em; + margin-bottom: 0; + font: -apple-system-caption1; + font-style: italic; + font-weight: 600; + font-size: var(--editedby-font-size); + color: var(--editedby-color); +} +.attachment { + margin: 0; +} +footer { + display: -webkit-flex; + -webkit-align-items: center; +} +footer:after { + content: ""; + display: block; + clear: both; +} +.iphone footer { + grid-column: 1 / span 2; + grid-row: 5 / 6; + align-items: center; + justify-content: start; +} +footer { + margin-top: 1em; + margin-bottom: 0.5em; +} +.action-button { + margin: 0; + border: none; + font-family: inherit; + -webkit-tap-highlight-color: transparent; + background-color: transparent; +} +.action-button img { + width: 24px; + height: 8px; + -webkit-filter: invert(27%) sepia(44%) saturate(0%) hue-rotate(257deg) brightness(90%) contrast(86%); +} +.editedby span.mention.highlight { + color: #9337fd; +} +#end { + color: rgba(255, 255, 255, 0.3); + line-height: 3em; +} +body { + color: #fffefe; + background-color: #000000; +} + +@import "dead-tweet-ghost.less"; +.dead-tweet(#0066FF, #000, #fffefe); //@tweetLinkColor, @backgroundColor, @ghostColor \ No newline at end of file diff --git a/App/Theming/posts-view-yospos.css b/App/Theming/posts-view-yospos.css index 470445b21..2dbaf9933 100644 --- a/App/Theming/posts-view-yospos.css +++ b/App/Theming/posts-view-yospos.css @@ -54,6 +54,29 @@ post { post:first-child { margin-top: 0; } +* { + box-sizing: border-box; +} +header:after { + content: ""; + display: block; + clear: both; +} +.avatar { + border-radius: 3px; + margin-top: 6px; + margin-bottom: 6px; +} +.iphone .avatar { + max-width: 4em; + max-height: 4em; + vertical-align: middle; +} +.ipad .avatar { + max-width: 8em; + max-height: 8em; + vertical-align: top; +} header { padding-top: 0.75em; padding-bottom: 0.7em; @@ -690,3 +713,186 @@ post.seen { .ghost-stroke { stroke: #57ff57; } +.dead-tweet-container { + display: grid; + grid-column: 2; + place-items: start; + max-width: -webkit-fit-content; + border-radius: 1em !important; + background: #000 !important; +} +.ghost-lottie { + grid-column: 1; + grid-row: 1 / span 6; + width: 6em; +} +.dead-tweet-title { + grid-column: 2; + grid-row: 3; + place-items: start; + color: var(--regdate-color); + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 600 !important; + font-size: var(--regdate-font-size); +} +.dead-tweet-link { + grid-column: 2; + grid-row: 4; + place-items: start; + padding-right: 23px; + color: var(--link-color); + font: -apple-system-headline; + font-family: ui-rounded; + font-weight: 450 !important; + font-size: var(--regdate-font-size); +} +.ghost-fill { + fill: #57ff57 !important; +} +.ghost-eyes { + fill: #57ff57 !important; +} +.ghost-stroke { + stroke: #57ff57 !important; +} + +/* iPad should switch to iPhone view when split screen reduces width*/ +@media screen and (max-width: 399px) { + .customTitle { + display: none; + } + .ipad post header { + display: grid; + grid-column: 1 / span 2; + grid-row: 1 / 2; + align-items: center; + justify-content: start; + margin-bottom: 8px; + } + .ipad post header, + .ipad post .postbody { + padding-left: 0.6em; + padding-right: 0.6em; + } + .ipad post footer { + padding-left: 0.6em; + } + .ipad post .action-button { + padding-right: 0.6em; + } + .ipad .avatar { + max-width: 4em; + max-height: 4em; + margin-bottom: 6px; + margin-right: 12px; + vertical-align: middle; + grid-column: 1 / 2; + } + .ipad .nameanddate { + vertical-align: middle; + grid-column: 2 / 4; + align-items: start; + } + .ipad .postbody ol, + .ipad .postbody ul { + margin: 0; + padding-left: 1.5em; + } + .ipad .postbody { + grid-column: 1 / span 2; + grid-row: 2 / 4; + } +} + +@media screen and (min-width: 400px) { + .ipad post header { + grid-column: 1 / 2; + grid-row: 1 / 2; + min-width: 260px; + max-height: 500px; + display: grid; + } + .ipad post header, + .ipad post .postbody { + padding-left: 1.07em; + padding-right: 1.07em; + } + .ipad post { + display: grid; + grid-template-columns: 230px 1fr; + grid-template-rows: auto auto; + } + + .ipad post footer { + padding-left: 1.07em; + } + .ipad post .action-button { + padding-right: 1.07em; + } + .ipad .avatar { + max-width: 8em; + max-height: 8em; + vertical-align: top; + grid-row: 3; + margin-top: 8px; + margin-left: 4px; + } + .ipad .customTitle { + grid-row: 4 / 5; + grid-column: 1 / 5; + max-width: 210px; + max-height: 160px; + overflow: auto; + font: -apple-system-headline; + transform-origin: top left; + -webkit-transform: scale(0.9); + margin-left: 8px; + margin-top: 4px; + } + + .ipad .bbc-center { + grid-row: 4 / 5; + grid-column: 1 / 5; + max-width: 210px; + max-height: 150px; + overflow: auto; + } + + .ipad .customTitle img { + border-radius: 3px; + } + .ipad .bbc-center img { + border-radius: 3px; + } + .ipad .customTitle a { + text-decoration: none; + color: var(--link-color); + } + .ipad .nameanddate { + vertical-align: middle; + grid-row: 1; + } + .ipad .username, + .ipad .regdate { + margin-left: 6px; + } + .ipad .postbody { + grid-row: 1 / 4; + grid-column: 2 / 4; + margin-top: 10px; + } + .ipad #ad { + padding: 1.07em; + padding-bottom: 0; + } + .ipad .bbc-block { + margin: 0; + } + .ipad footer { + grid-row: 5; + grid-column: 1 / span 4; + align-items: center; + justify-content: start; + } +} diff --git a/App/Thread Tags/ThreadTagLoader.swift b/App/Thread Tags/ThreadTagLoader.swift index 9f3909ed1..c9ddece3e 100644 --- a/App/Thread Tags/ThreadTagLoader.swift +++ b/App/Thread Tags/ThreadTagLoader.swift @@ -115,7 +115,7 @@ extension ThreadTagLoader { static let privateMessage = Placeholder(imageName: "empty-pm-tag", tintColor: nil) static func thread(tintColor: UIColor?) -> Placeholder { - return Placeholder(imageName: "empty-thread-tag", tintColor: tintColor) + return Placeholder(imageName: "empty-thread-tag", tintColor: nil) } static func thread(in forum: Forum) -> Placeholder { @@ -129,8 +129,46 @@ extension ThreadTagLoader { private let tintColor: UIColor? var image: UIImage? { - let image = UIImage(named: imageName) - return tintColor.flatMap { image?.withTint($0) } ?? image + if imageName == "empty-thread-tag" { + let image = UIImage(named: imageName)! + .withRenderingMode(.alwaysTemplate) + .withTintColor(Theme.defaultTheme()["tintColor"]!) + + let backgroundImage = UIImage(named: "thread-tag-background")! + .withRenderingMode(.alwaysTemplate) + .withTintColor(Theme.defaultTheme()["backgroundColor"]!) + + let borderImage = UIImage(named: "thread-tag-border")! + .withRenderingMode(.alwaysTemplate) + .withTintColor(Theme.defaultTheme()["listSecondaryTextColor"]!) + + let finalImage = backgroundImage + .mergeWith(topImage: image) + .mergeWith(topImage: borderImage) + + return finalImage //tintColor.flatMap { image?.withTint($0) } ?? image + } else if imageName == "empty-pm-tag" { + let image = UIImage(named: imageName)! + .withRenderingMode(.alwaysTemplate) + .withTintColor(Theme.defaultTheme()["listSecondaryTextColor"]!) + + let backgroundImage = UIImage(named: "thread-tag-background")! + .withRenderingMode(.alwaysTemplate) + .withTintColor(Theme.defaultTheme()["backgroundColor"]!) + + let borderImage = UIImage(named: "thread-tag-border")! + .withRenderingMode(.alwaysTemplate) + .withTintColor(Theme.defaultTheme()["listSecondaryTextColor"]!) + + let finalImage = backgroundImage + .mergeWith(topImage: image) + .mergeWith(topImage: borderImage) + + return finalImage //tintColor.flatMap { image?.withTint($0) } ?? image + } else { + let image = UIImage(named: imageName) + return image //tintColor.flatMap { image?.withTint($0) } ?? image + } } } } diff --git a/App/View Controllers/AnnouncementViewController.swift b/App/View Controllers/AnnouncementViewController.swift index 41ea4143a..8d7b5b2c3 100644 --- a/App/View Controllers/AnnouncementViewController.swift +++ b/App/View Controllers/AnnouncementViewController.swift @@ -360,6 +360,7 @@ extension AnnouncementViewController: UIViewControllerRestoration { private struct RenderModel: CustomDebugStringConvertible, Equatable, StencilContextConvertible { let authorRegdate: Date? + let authorRegdateRaw: String? let authorRolesDescription: String let authorUserID: String? let authorUsername: String @@ -368,6 +369,7 @@ private struct RenderModel: CustomDebugStringConvertible, Equatable, StencilCont let hasBeenSeen: Bool let innerHTML: String let postedDate: Date? + let postedDateRaw: String? let roles: [String] private let showsAvatar: Bool @@ -375,6 +377,8 @@ private struct RenderModel: CustomDebugStringConvertible, Equatable, StencilCont guard !announcement.bodyHTML.isEmpty else { return nil } authorRegdate = announcement.author?.regdate ?? announcement.authorRegdate + + authorRegdateRaw = announcement.author?.regdateRaw ?? announcement.authorRegdateRaw authorRolesDescription = (announcement.author?.accessibilityRoles(in: announcement) ?? []) .joined(separator: "; ") @@ -383,8 +387,7 @@ private struct RenderModel: CustomDebugStringConvertible, Equatable, StencilCont authorUsername = announcement.author?.username ?? announcement.authorUsername - avatarURL = announcement.author?.avatarURL - ?? extractAvatarURL(fromCustomTitleHTML: announcement.authorCustomTitleHTML) + avatarURL = URL(string: announcement.author?.avatarURLString ?? "") ?? nil css = theme[string: "postsViewCSS"] ?? "" @@ -407,7 +410,14 @@ private struct RenderModel: CustomDebugStringConvertible, Equatable, StencilCont }() postedDate = announcement.postedDate - + postedDateRaw = { + let document = HTMLDocument(string: announcement.bodyHTML) + return document + .firstNode(matchingSelector: "td.postdate") + .flatMap { $0.children.lastObject as? HTMLNode } + .map { $0.textContent.trimmingCharacters(in: .whitespacesAndNewlines) } + }() + roles = announcement.author?.roles(in: announcement) ?? [] showsAvatar = UserDefaults.standard.showAuthorAvatars @@ -451,6 +461,7 @@ private struct RenderModel: CustomDebugStringConvertible, Equatable, StencilCont var context: [String : Any] { return [ "authorRegdate": authorRegdate as Any, + "authorRegdateRaw": authorRegdateRaw as Any, "authorRolesDescription": authorRolesDescription, "authorUserID": authorUserID as Any, "authorUsername": authorUsername, @@ -458,6 +469,7 @@ private struct RenderModel: CustomDebugStringConvertible, Equatable, StencilCont "hiddenAvatarURL": hiddenAvatarURL as Any, "innerHTML": innerHTML, "postedDate": postedDate as Any, + "postedDateRaw": (postedDateRaw ?? "") as String, "roles": roles, "stylesheet": css, "userInterfaceIdiom": userInterfaceIdiom, diff --git a/App/View Controllers/Forums/ForumListCell.swift b/App/View Controllers/Forums/ForumListCell.swift index 4ecd107c5..0d8e719e8 100644 --- a/App/View Controllers/Forums/ForumListCell.swift +++ b/App/View Controllers/Forums/ForumListCell.swift @@ -90,7 +90,7 @@ final class ForumListCell: UITableViewCell { return ViewModel( backgroundColor: .white, expansion: .none, - expansionTintColor: .black, + expansionTintColor: .clear, favoriteStar: .hidden, favoriteStarTintColor: .black, forumName: .init(), @@ -180,8 +180,8 @@ final class ForumListCell: UITableViewCell { let contentRect = CGRect(x: 0, y: 0, width: width, height: height) var remainder: CGRect - (favoriteStarFrame, remainder) = contentRect.divided(atDistance: starWidth, from: .minXEdge) - (expandFrame, remainder) = remainder.divided(atDistance: expandWidth, from: .maxXEdge) + (favoriteStarFrame, remainder) = contentRect.divided(atDistance: starWidth, from: .maxXEdge) + (expandFrame, remainder) = remainder.divided(atDistance: expandWidth, from: .minXEdge) nameFrame = remainder .insetBy(dx: Layout.nameMargin, dy: Layout.nameMargin) .divided(atDistance: indentation, from: .minXEdge).remainder @@ -199,8 +199,19 @@ final class ExpandForumButton: UIButton { init() { super.init(frame: .zero) - setImage(UIImage(named: "forum-arrow-down"), for: .normal) - setImage(UIImage(named: "forum-arrow-minus"), for: .selected) + setImage( + UIImage(named: "forum-arrow-right")! + .withRenderingMode(.alwaysTemplate) + .withTintColor(Theme.defaultTheme()["listSecondaryTextColor"]!), + for: .normal + ) + + setImage( + UIImage(named: "forum-arrow-down")! + .withRenderingMode(.alwaysTemplate) + .withTintColor(Theme.defaultTheme()["listSecondaryTextColor"]!), + for: .selected + ) } required init?(coder: NSCoder) { @@ -212,7 +223,9 @@ final class FavoriteForumButton: UIButton { init() { super.init(frame: .zero) - setImage(UIImage(named: "star-off"), for: .normal) + setImage(UIImage(named: "star-off")! + .withTintColor(Theme.defaultTheme()["expansionTintColor"]!) + , for: .normal) setImage(UIImage(named: "star-on"), for: .selected) } diff --git a/App/View Controllers/Forums/ForumsTableViewController.swift b/App/View Controllers/Forums/ForumsTableViewController.swift index b493cbcaa..76f759594 100644 --- a/App/View Controllers/Forums/ForumsTableViewController.swift +++ b/App/View Controllers/Forums/ForumsTableViewController.swift @@ -18,9 +18,16 @@ final class ForumsTableViewController: TableViewController { self.managedObjectContext = managedObjectContext super.init(style: .grouped) - title = "Forums" - tabBarItem.image = UIImage(named: "forum-list") - tabBarItem.selectedImage = UIImage(named: "forum-list-filled") + title = LocalizedString("Forums") + tabBarItem.title = LocalizedString("Forums") + + tabBarItem.image = UIImage(named: "forum-list")!.withRenderingMode(.alwaysTemplate) + tabBarItem.selectedImage = UIImage(named: "forum-list-filled")!.withRenderingMode(.alwaysTemplate) + + if !Theme.defaultTheme().showRootTabBarLabel { + tabBarItem.imageInsets = UIEdgeInsets(top: 9, left: 0, bottom: -9, right: 0) + tabBarItem.title = nil + } favoriteForumCountObserver = ManagedObjectCountObserver( context: managedObjectContext, @@ -99,8 +106,16 @@ final class ForumsTableViewController: TableViewController { } private func updateEditingState(favoriteCount: Int) { - navigationItem.setRightBarButton(favoriteCount > 0 ? editButtonItem : nil, animated: true) - + var font: UIFont + if Theme.defaultTheme().roundedFonts { + font = roundedFont(ofSize: 17, weight: .medium) + } else { + font = UIFont.systemFont(ofSize: 17, weight: .medium) + } + editButtonItem.setTitleTextAttributes([NSAttributedString.Key.font: font,], for: .normal) + + navigationItem.setLeftBarButton(favoriteCount > 0 ? editButtonItem : nil, animated: true) + if isEditing, favoriteCount == 0 { setEditing(false, animated: true) } @@ -151,6 +166,18 @@ final class ForumsTableViewController: TableViewController { self?.refresh() } } + + override func setEditing(_ editing: Bool, animated: Bool) { + // Takes care of toggling the button's title. + super.setEditing(editing, animated: true) + + if UserDefaults.standard.enableHaptics { + UIImpactFeedbackGenerator(style: .medium).impactOccurred() + } + + // Toggle table view editing. + tableView.setEditing(editing, animated: true) + } override func themeDidChange() { super.themeDidChange() @@ -239,11 +266,18 @@ extension ForumsTableViewController { assertionFailure("where's the header") return nil } + + var font: UIFont + if Theme.defaultTheme().roundedFonts { + font = roundedFont(ofSize: 13, weight: .semibold) + } else { + font = UIFont.preferredFont(forTextStyle: .body) + } header.viewModel = .init( backgroundColor: theme["listHeaderBackgroundColor"], - font: UIFont.preferredFont(forTextStyle: .body), - sectionName: listDataSource.titleForSection(section), + font: font, + sectionName: listDataSource.titleForSection(section).uppercased(), textColor: theme["listHeaderTextColor"]) return header diff --git a/App/View Controllers/Messages/MessageListCell.swift b/App/View Controllers/Messages/MessageListCell.swift index c41896e8b..85116b4ba 100644 --- a/App/View Controllers/Messages/MessageListCell.swift +++ b/App/View Controllers/Messages/MessageListCell.swift @@ -60,7 +60,7 @@ final class MessageListCell: UITableViewCell { didSet { backgroundColor = viewModel.backgroundColor - dateLabel.attributedText = viewModel.formattedSentDate + dateLabel.attributedText = viewModel.sentDateRaw selectedBackgroundColor = viewModel.selectedBackgroundColor @@ -70,7 +70,11 @@ final class MessageListCell: UITableViewCell { ThreadTagLoader.shared.loadNamedImage(viewModel.tagImage, into: tagImageView) - tagOverlayView.image = viewModel.tagOverlayImage + tagImageView.layer.cornerRadius = 3 + tagImageView.layer.masksToBounds = true + + // badges + tagOverlayView.image = viewModel.tagOverlayImage?.image tagOverlayView.isHidden = viewModel.tagOverlayImage == nil setNeedsLayout() @@ -83,20 +87,18 @@ final class MessageListCell: UITableViewCell { let sender: NSAttributedString let sentDate: Date let sentDateAttributes: [NSAttributedString.Key: Any] + let sentDateRaw: NSAttributedString let subject: NSAttributedString let tagImage: NamedThreadTag - let tagOverlayImage: UIImage? + let tagOverlayImage: UIImageView? fileprivate var accessibilityLabel: String { return String( format: LocalizedString("private-messages-list.message.accessibility-label"), sender.string, subject.string, - stringForSentDate(sentDate)) - } - - fileprivate var formattedSentDate: NSAttributedString { - return NSAttributedString(string: stringForSentDate(sentDate), attributes: sentDateAttributes) + sentDateRaw + ) } static let empty: ViewModel = ViewModel( @@ -105,6 +107,7 @@ final class MessageListCell: UITableViewCell { sender: .init(), sentDate: .distantPast, sentDateAttributes: [:], + sentDateRaw: .init(), subject: .init(), tagImage: .none, tagOverlayImage: nil) @@ -149,7 +152,7 @@ final class MessageListCell: UITableViewCell { private static let minimumHeight: CGFloat = 65 private static let subjectTopMargin: CGFloat = 2 private static let tagRightMargin: CGFloat = 8 - private static let tagOverlayOffset = UIOffset(horizontal: 2, vertical: 3) + private static let tagOverlayOffset = UIOffset(horizontal: 4, vertical: 4) init(width: CGFloat, viewModel: ViewModel) { // 1. See how much width we have for the subject. @@ -163,7 +166,7 @@ final class MessageListCell: UITableViewCell { // 2. Figure out how tall things are. let senderHeight = viewModel.sender.boundingRect(with: CGSize(width: width, height: .infinity), options: [], context: nil).pixelRound.height - let dateSize = viewModel.formattedSentDate.boundingRect(with: CGSize(width: width, height: .infinity), options: [], context: nil).pixelRound + let dateSize = viewModel.sentDateRaw.boundingRect(with: CGSize(width: width, height: .infinity), options: [], context: nil).pixelRound let textHeight = max(senderHeight, dateSize.height) + Layout.subjectTopMargin + subjectHeight height = max(Layout.minimumHeight, @@ -184,30 +187,35 @@ final class MessageListCell: UITableViewCell { width: tagOverlaySize.width, height: tagOverlaySize.height) - // 4. Date - dateFrame = CGRect( - x: width - Layout.cellHorizontalMargin - dateSize.width, - y: (height - textHeight) / 2, - width: dateSize.width, - height: dateSize.height) - .pixelRound + // 5. Sender let senderX = tagSize.width > 0 ? tagFrame.maxX + Layout.tagRightMargin : Layout.cellHorizontalMargin - senderFrame = CGRect( + + subjectFrame = CGRect( x: senderX, y: (height - textHeight) / 2, - width: dateFrame.maxX - senderX - Layout.dateLeftMargin, - height: senderHeight) + width: subjectWidth, + height: subjectHeight) + + + // 4. Date + dateFrame = CGRect( + x: width - Layout.cellHorizontalMargin - dateSize.width, + y: (height - textHeight) / 2, + width: dateSize.width, + height: dateSize.height) + + // 6. Subject - subjectFrame = CGRect( - x: senderFrame.minX, - y: senderFrame.maxY + Layout.subjectTopMargin, - width: dateFrame.maxX - senderFrame.minX, - height: subjectHeight) + senderFrame = CGRect( + x: subjectFrame.minX, + y: subjectFrame.maxY, + width: dateFrame.maxX - senderX - Layout.dateLeftMargin, + height: senderHeight) } } @@ -224,6 +232,7 @@ final class MessageListCell: UITableViewCell { sender: .init(), sentDate: .distantPast, sentDateAttributes: [:], + sentDateRaw: .init(), subject: .init(), tagImage: showsTagAndRating ? .spacer : .none, tagOverlayImage: nil) diff --git a/App/View Controllers/Messages/MessageListViewController.swift b/App/View Controllers/Messages/MessageListViewController.swift index 382ca3d25..af290d05b 100644 --- a/App/View Controllers/Messages/MessageListViewController.swift +++ b/App/View Controllers/Messages/MessageListViewController.swift @@ -22,9 +22,21 @@ final class MessageListViewController: TableViewController { title = LocalizedString("private-message-list.title") tabBarItem.title = LocalizedString("private-message-tab.title") + + if !Theme.defaultTheme().showRootTabBarLabel { + tabBarItem.imageInsets = UIEdgeInsets(top: 9, left: 0, bottom: -9, right: 0) + tabBarItem.title = nil + } + tabBarItem.accessibilityLabel = LocalizedString("private-message-tab.accessibility-label") - tabBarItem.image = UIImage(named: "pm-icon") - tabBarItem.selectedImage = UIImage(named: "pm-icon-filled") + + tabBarItem.image = UIImage(named: "pm-icon")! + .withTintColor(Theme.defaultTheme()["tabBarTintColor"]!) + .withRenderingMode(.alwaysTemplate) + + tabBarItem.selectedImage = UIImage(named: "pm-icon-filled")! + .withTintColor(Theme.defaultTheme()["tintColor"]!) + .withRenderingMode(.alwaysTemplate) let updateBadgeValue = { [weak self] (unreadCount: Int) -> Void in self?.tabBarItem?.badgeValue = unreadCount > 0 @@ -38,6 +50,14 @@ final class MessageListViewController: TableViewController { didChange: updateBadgeValue) updateBadgeValue(unreadMessageCountObserver.count) + var font: UIFont + if Theme.defaultTheme().roundedFonts { + font = roundedFont(ofSize: 17, weight: .medium) + } else { + font = UIFont.systemFont(ofSize: 17, weight: .medium) + } + editButtonItem.setTitleTextAttributes([NSAttributedString.Key.font: font,], for: .normal) + navigationItem.leftBarButtonItem = editButtonItem let composeItem = UIBarButtonItem(image: UIImage(named: "compose"), style: .plain, target: self, action: #selector(MessageListViewController.didTapComposeButtonItem(_:))) composeItem.accessibilityLabel = LocalizedString("private-message-list.compose-button.accessibility-label") diff --git a/App/View Controllers/Messages/MessageViewController.swift b/App/View Controllers/Messages/MessageViewController.swift index b9b70b367..d7793bcb5 100644 --- a/App/View Controllers/Messages/MessageViewController.swift +++ b/App/View Controllers/Messages/MessageViewController.swift @@ -173,6 +173,7 @@ final class MessageViewController: ViewController { override func viewDidLoad() { super.viewDidLoad() + self.addBackButton() renderView.frame = CGRect(origin: .zero, size: view.bounds.size) renderView.autoresizingMask = [.flexibleWidth, .flexibleHeight] @@ -367,7 +368,7 @@ private struct RenderModel: StencilContextConvertible { init(message: PrivateMessage, stylesheet: String?) { let showAvatars = UserDefaults.standard.showAuthorAvatars - let hiddenAvataruRL = showAvatars ? nil : message.from?.avatarURL + let hiddenAvataruRL = showAvatars ? nil : message.from?.avatarURLString var htmlContents: String? { guard let originalHTML = message.innerHTML else { return nil } let document = HTMLDocument(string: originalHTML) @@ -385,7 +386,19 @@ private struct RenderModel: StencilContextConvertible { document.embedVideos() return document.bodyElement?.innerHTML } - let visibleAvatarURL = showAvatars ? message.from?.avatarURL : nil + let visibleAvatarURL = showAvatars ? message.from?.avatarURLString : nil + + var customTitleHTML: String { + let html = message.from?.customTitleHTML + return html ?? "" + } + + var ipadPostsViewTemplate: Bool { + if UIDevice.current.userInterfaceIdiom == .pad { + return true + } + return false + } context = [ "fromUsername": message.fromUsername ?? "", @@ -393,10 +406,14 @@ private struct RenderModel: StencilContextConvertible { "htmlContents": htmlContents as Any, "messageID": message.messageID, "regdate": message.from?.regdate as Any, + "regdateRaw": message.from?.regdateRaw as Any, + "customTitleHTML": message.from?.customTitleHTML as Any, "seen": message.seen, "sentDate": message.sentDate as Any, + "sentDateRaw": message.sentDateRaw as Any, "showAvatars": showAvatars, "stylesheet": stylesheet as Any, - "visibleAvatarURL": visibleAvatarURL as Any] + "visibleAvatarURL": visibleAvatarURL as Any, + "ipadPostsViewTemplate": ipadPostsViewTemplate as Any] } } diff --git a/App/View Controllers/Posts/PostViewModel.swift b/App/View Controllers/Posts/PostViewModel.swift index d113cc09a..97cc055e1 100644 --- a/App/View Controllers/Posts/PostViewModel.swift +++ b/App/View Controllers/Posts/PostViewModel.swift @@ -37,27 +37,41 @@ struct PostRenderModel: StencilContextConvertible { } return true } + var showQuoteIcon: Bool { + if let tweaks = ForumTweaks(forumID: forumID) { + _ = massageHTML(post.innerHTML ?? "", isIgnored: post.ignored, forumID: forumID) + + print(tweaks) + return true + } + return false + } var showAvatars: Bool { return UserDefaults.standard.showAuthorAvatars } var hiddenAvatarURL: URL? { - return showAvatars ? nil : post.author?.avatarURL + return showAvatars ? nil : URL(string: post.author?.avatarURLString ?? "") } var htmlContents: String { return massageHTML(post.innerHTML ?? "", isIgnored: post.ignored, forumID: forumID) } - var visibleAvatarURL: URL? { - return showAvatars ? post.author?.avatarURL : nil + var visibleAvatarURL: String? { + return showAvatars ? post.author?.avatarURLString : nil } var customTitleHTML: String { let html = post.author?.customTitleHTML return html ?? "" } + var postDateRaw: String { + return post.postDateRaw + } context = [ "accessibilityRoles": accessibilityRoles, "author": [ + "avatarURL": post.author?.avatarURLString as Any, "regdate": post.author?.regdate as Any, + "regdateRaw": post.author?.regdateRaw as Any, "userID": post.author?.userID as Any, "username": post.author?.username as Any], "beenSeen": post.beenSeen, @@ -65,28 +79,31 @@ struct PostRenderModel: StencilContextConvertible { "hiddenAvatarURL": hiddenAvatarURL as Any, "htmlContents": htmlContents, "postDate": post.postDate as Any, + "postDateRaw": postDateRaw as String, "postID": post.postID, "roles": roles, "showAvatars": showAvatars, "showRegdate": showRegdate, "visibleAvatarURL": visibleAvatarURL as Any] } - + init(author: User, isOP: Bool, postDate: Date, postHTML: String) { context = [ "author": [ + "avatarURL": author.avatarURLString as Any, "regdate": author.regdate as Any, "userID": author.userID, "username": author.username as Any], "beenSeen": false, - "hiddenAvatarURL": (showAvatars ? author.avatarURL : nil) as Any, + "hiddenAvatarURL": (showAvatars ? author.avatarURLString : nil) as Any, "customTitleHTML": (enableCustomTitlePostLayout ? author.customTitleHTML : nil) as Any, "htmlContents": massageHTML(postHTML, isIgnored: false, forumID: ""), "postDate": postDate, + "postDateRaw": "", "postID": "fake", "roles": (isOP ? "op " : "") + (author.authorClasses ?? ""), "showAvatars": showAvatars, - "visibleAvatarURL": (showAvatars ? author.avatarURL : nil) as Any] + "visibleAvatarURL": (showAvatars ? author.avatarURLString : nil) as Any] } } @@ -95,6 +112,7 @@ private func massageHTML(_ html: String, isIgnored: Bool, forumID: String) -> St document.removeSpoilerStylingAndEvents() document.removeEmptyEditedByParagraphs() document.addAttributeToTweetLinks() + document.addAttributeToTweetLinks() document.useHTML5VimeoPlayer() if let username = UserDefaults.standard.loggedInUsername { document.identifyQuotesCitingUser(named: username, shouldHighlight: true) @@ -107,6 +125,7 @@ private func massageHTML(_ html: String, isIgnored: Bool, forumID: String) -> St if isIgnored { document.markRevealIgnoredPostLink() } + document.addQuoteIcons() if (ForumTweaks(forumID: forumID)?.magicCake) == true { document.addMagicCakeCSS() } diff --git a/App/View Controllers/Posts/PostsPageRefreshArrowView.swift b/App/View Controllers/Posts/PostsPageRefreshArrowView.swift index 171c0cf64..fca370a74 100644 --- a/App/View Controllers/Posts/PostsPageRefreshArrowView.swift +++ b/App/View Controllers/Posts/PostsPageRefreshArrowView.swift @@ -15,6 +15,7 @@ final class PostsPageRefreshArrowView: UIView, PostsPageRefreshControlContent { init() { let image = UIImage(named: "arrowright")! + .withTintColor(Theme.defaultTheme()["expansionTintColor"]!) arrow = UIImageView(image: image) spinner = UIActivityIndicatorView(style: .large) diff --git a/App/View Controllers/Posts/PostsPageRefreshSpinnerView.swift b/App/View Controllers/Posts/PostsPageRefreshSpinnerView.swift index aab3bc0ff..05b03378d 100644 --- a/App/View Controllers/Posts/PostsPageRefreshSpinnerView.swift +++ b/App/View Controllers/Posts/PostsPageRefreshSpinnerView.swift @@ -3,20 +3,63 @@ // Copyright 2015 Awful Contributors. CC BY-NC-SA 3.0 US https://github.com/Awful/Awful.app import UIKit +import Lottie final class PostsPageRefreshSpinnerView: UIView, PostsPageRefreshControlContent { - fileprivate let arrows: UIImageView + private var animationView: AnimationView? - init() { - arrows = UIImageView(image: UIImage(named: "pull-to-refresh")!) - super.init(frame: CGRect.zero) + init(theme: Theme) { + animationView = .init(name: "getout_vP3_120") + super.init(frame: .zero) + animationView!.frame = CGRect(x: 0, y: 0, width: 60, height: 60) + animationView!.contentMode = .scaleAspectFit + animationView!.respectAnimationFrameRate = true + animationView!.loopMode = .loop + animationView!.animationSpeed = 1 - arrows.translatesAutoresizingMaskIntoConstraints = false - addSubview(arrows) - arrows.topAnchor.constraint(equalTo: topAnchor).isActive = true - arrows.bottomAnchor.constraint(equalTo: bottomAnchor).isActive = true - arrows.centerXAnchor.constraint(equalTo: centerXAnchor).isActive = true + let mainColor = ColorValueProvider(theme["getOutFrogColor"]!.lottieColorValue) + let clearColor = ColorValueProvider(UIColor.clear.lottieColorValue) + + let mainOutline = AnimationKeypath(keys: ["**", "Stroke 1", "**", "Color"]) + let nostrils = AnimationKeypath(keys: ["**", "Group 1", "**", "Color"]) + + let leftEye = AnimationKeypath(keys: ["**", "EyeA", "**", "Color"]) + let rightEye = AnimationKeypath(keys: ["**", "EyeB", "**", "Color"]) + + let pupilA = AnimationKeypath(keys: ["**", "PupilA", "**", "Color"]) + let pupilB = AnimationKeypath(keys: ["**", "PupilB", "**", "Color"]) + + if theme["keyboardAppearance"] == "Light" { + // outer eye stroke opaque in light mode + animationView!.setValueProvider(FloatValueProvider(100), keypath: AnimationKeypath(keys: ["**", "Outline", "**", "Opacity"])) + animationView!.setValueProvider(mainColor, keypath: pupilA) + animationView!.setValueProvider(mainColor, keypath: pupilB) + + // make eye whites invisible in light mode + animationView!.setValueProvider(clearColor, keypath: leftEye) + animationView!.setValueProvider(clearColor, keypath: rightEye) + } else { + // outer eye stroke invisible in dark mode + animationView!.setValueProvider(FloatValueProvider(0), keypath: AnimationKeypath(keys: ["**", "Outline", "**", "Opacity"])) + + // make eye whites opaque in dark mode theme + animationView!.setValueProvider(mainColor, keypath: leftEye) + animationView!.setValueProvider(mainColor, keypath: rightEye) + } + + animationView!.setValueProvider(mainColor, keypath: nostrils) + animationView!.setValueProvider(mainColor, keypath: mainOutline) + + animationView!.translatesAutoresizingMaskIntoConstraints = false + + addSubview(animationView!) + + animationView!.topAnchor.constraint(equalTo: topAnchor).isActive = true + animationView!.bottomAnchor.constraint(equalTo: bottomAnchor).isActive = true + animationView!.centerXAnchor.constraint(equalTo: centerXAnchor).isActive = true + animationView!.heightAnchor.constraint(equalToConstant: 60).isActive = true + animationView!.widthAnchor.constraint(equalToConstant: 60).isActive = true } required init?(coder: NSCoder) { @@ -24,65 +67,42 @@ final class PostsPageRefreshSpinnerView: UIView, PostsPageRefreshControlContent } private func transition(from oldState: PostsPageView.RefreshControlState, to newState: PostsPageView.RefreshControlState) { - switch (oldState, newState) { - case (.armed, .triggered): - rotateArrows(CGFloat(Double.pi / 2)) - - case (.refreshing, .refreshing): - break - case (_, .refreshing): - rotateArrowsForever() - - case (.armed, .armed): - break - case (_, .armed): - rotateArrows(0) - stopRotatingForever() - - case (.disabled, _), - (.ready, _), - (.armed, _), - (.awaitingScrollEnd, _), - (.triggered, _), - (.refreshing, _): - break - } - } - - private func rotateArrows(_ angle: CGFloat) { - UIView.animate(withDuration: 0.3, delay: 0, usingSpringWithDamping: 1, initialSpringVelocity: 0, options: [], animations: { - self.arrowsRotation = angle - }, completion: nil) - } - - private var arrowsRotation: CGFloat = 0 { - didSet { - if arrowsRotation == 0 { - arrows.transform = CGAffineTransform.identity - } else { - arrows.transform = CGAffineTransform(rotationAngle: arrowsRotation) - } - } - } - - private func rotateArrowsForever() { - let existingAnimationKeys = arrows.layer.animationKeys() ?? [] - guard !existingAnimationKeys.contains(indefiniteRotationAnimationKey) else { - return - } - - let animation = CABasicAnimation(keyPath: "transform.rotation.z") - animation.fromValue = arrowsRotation - animation.toValue = arrowsRotation + (2 * CGFloat(Double.pi)) - animation.duration = 1 - animation.repeatCount = .infinity - arrows.layer.add(animation, forKey: indefiniteRotationAnimationKey) - arrowsRotation = 0 - } - - fileprivate func stopRotatingForever() { - arrows.layer.removeAnimation(forKey: indefiniteRotationAnimationKey) + switch (oldState, newState) { + case (_, .disabled): + animationView!.currentFrame = 0 + break + case (_, .ready), + (_, .awaitingScrollEnd): + animationView!.currentFrame = 0 + break + case (_, .armed(triggeredFraction: 0.0)): + animationView!.play(fromFrame: 50, toFrame: 0, loopMode: .playOnce) + break + case (.armed, .triggered): + animationView!.play(fromFrame: 0, toFrame: 50, loopMode: .playOnce) + if UserDefaults.standard.enableHaptics { + UIImpactFeedbackGenerator(style: .medium).impactOccurred() + } + break + case (.refreshing, .refreshing): + break + case (_, .refreshing): + animationView!.play(fromFrame: 50, toFrame: 1000, loopMode: .playOnce) + if UserDefaults.standard.enableHaptics { + UIImpactFeedbackGenerator(style: .medium).impactOccurred() + } + case (_, .armed): + break + case (.disabled, _), + (.ready, _), + (.armed, _), + (.awaitingScrollEnd, _), + (.triggered, _), + (.refreshing, _): + break + } + } // MARK: PostsPageRefreshControlContent diff --git a/App/View Controllers/Posts/PostsPageTopBar.swift b/App/View Controllers/Posts/PostsPageTopBar.swift index c1eb51746..9d7fa6208 100644 --- a/App/View Controllers/Posts/PostsPageTopBar.swift +++ b/App/View Controllers/Posts/PostsPageTopBar.swift @@ -17,7 +17,12 @@ final class PostsPageTopBar: UIView { parentForumButton.accessibilityLabel = LocalizedString("posts-page.parent-forum-button.accessibility-label") parentForumButton.accessibilityHint = LocalizedString("posts-page.parent-forum-button.accessibility-hint") parentForumButton.setTitle(LocalizedString("posts-page.parent-forum-button.title"), for: .normal) - parentForumButton.titleLabel?.font = UIFont.systemFont(ofSize: 12) + /* parent forum button */ + if Theme.defaultTheme().roundedFonts { + parentForumButton.titleLabel?.font = roundedFont(ofSize: 12, weight: .medium) + } else { + parentForumButton.titleLabel?.font = UIFont.systemFont(ofSize: 12) + } return parentForumButton }() @@ -25,7 +30,12 @@ final class PostsPageTopBar: UIView { let previousPostsButton = UIButton(type: .system) previousPostsButton.accessibilityLabel = LocalizedString("posts-page.previous-posts-button.accessibility-label") previousPostsButton.setTitle(LocalizedString("posts-page.previous-posts-button.title"), for: .normal) - previousPostsButton.titleLabel?.font = UIFont.systemFont(ofSize: 12) + /* previous posts button */ + if Theme.defaultTheme().roundedFonts { + previousPostsButton.titleLabel?.font = roundedFont(ofSize: 12, weight: .medium) + } else { + previousPostsButton.titleLabel?.font = UIFont.systemFont(ofSize: 12) + } return previousPostsButton }() @@ -33,7 +43,12 @@ final class PostsPageTopBar: UIView { let scrollToEndButton = UIButton(type: .system) scrollToEndButton.accessibilityLabel = LocalizedString("posts-page.scroll-to-end-button.accessibility-label") scrollToEndButton.setTitle(LocalizedString("posts-page.scroll-to-end-button.title"), for: .normal) - scrollToEndButton.titleLabel?.font = UIFont.systemFont(ofSize: 12) + /* scroll to end button */ + if Theme.defaultTheme().roundedFonts { + scrollToEndButton.titleLabel?.font = roundedFont(ofSize: 12, weight: .medium) + } else { + scrollToEndButton.titleLabel?.font = UIFont.systemFont(ofSize: 12) + } return scrollToEndButton }() diff --git a/App/View Controllers/Posts/PostsPageView.swift b/App/View Controllers/Posts/PostsPageView.swift index 20df41642..aa293589c 100644 --- a/App/View Controllers/Posts/PostsPageView.swift +++ b/App/View Controllers/Posts/PostsPageView.swift @@ -49,11 +49,24 @@ final class PostsPageView: UIView { refreshControl.translatesAutoresizingMaskIntoConstraints = false refreshControlContainer.addSubview(refreshControl) let containerMargins = refreshControlContainer.layoutMarginsGuide - NSLayoutConstraint.activate([ - refreshControl.leftAnchor.constraint(equalTo: containerMargins.leftAnchor), - containerMargins.rightAnchor.constraint(equalTo: refreshControl.rightAnchor), - refreshControl.topAnchor.constraint(equalTo: containerMargins.topAnchor), - containerMargins.bottomAnchor.constraint(equalTo: refreshControl.bottomAnchor)]) + + // arrow view is hidden behind the toolbar and revealed when pulled up + if refreshControl is PostsPageRefreshArrowView { + NSLayoutConstraint.activate([ + refreshControl.leftAnchor.constraint(equalTo: containerMargins.leftAnchor), + refreshControl.topAnchor.constraint(equalTo: containerMargins.topAnchor), + containerMargins.rightAnchor.constraint(equalTo: refreshControl.rightAnchor), + containerMargins.bottomAnchor.constraint(equalTo: refreshControl.bottomAnchor) + ]) + } + // spinner view is visible above the toolbar, before any scroll triggers occur + if refreshControl is PostsPageRefreshSpinnerView { + NSLayoutConstraint.activate([ + refreshControl.leftAnchor.constraint(equalTo: containerMargins.leftAnchor), + containerMargins.rightAnchor.constraint(equalTo: refreshControl.rightAnchor), + containerMargins.bottomAnchor.constraint(equalTo: refreshControl.bottomAnchor) + ]) + } refreshControl.state = refreshControlState } @@ -435,7 +448,7 @@ extension PostsPageView { targetScrollViewBoundsMaxY = (targetContentOffset?.y ?? scrollView.contentOffset.y) + scrollView.bounds.height } - static let closeEnoughToBottom: CGFloat = -50 + static let closeEnoughToBottom: CGFloat = -10 var visibleBottom: CGFloat { return targetScrollViewBoundsMaxY - effectiveContentHeight diff --git a/App/View Controllers/Posts/PostsPageViewController.swift b/App/View Controllers/Posts/PostsPageViewController.swift index f1edcae9b..4abe56170 100644 --- a/App/View Controllers/Posts/PostsPageViewController.swift +++ b/App/View Controllers/Posts/PostsPageViewController.swift @@ -8,6 +8,7 @@ import MobileCoreServices import MRProgress import PromiseKit import WebKit +import UIKit private let Log = Logger.get() @@ -409,17 +410,18 @@ final class PostsPageViewController: ViewController { } private lazy var settingsItem: UIBarButtonItem = { - let item = UIBarButtonItem(image: UIImage(named: "page-settings"), style: .plain, target: nil, action: nil) - item.accessibilityLabel = "Settings" - item.actionBlock = { [unowned self] (sender) in - let settings = PostsPageSettingsViewController() - self.present(settings, animated: true) - - if let popover = settings.popoverPresentationController { - popover.barButtonItem = sender + let button = UIBarButtonItem(image: UIImage(named: "page-settings"), style: .plain, target: nil, action: nil) + button.actionBlock = { [unowned self] (sender) in + let settings = PostsPageSettingsViewController() + self.present(settings, animated: true) + + if let popover = settings.popoverPresentationController { + popover.barButtonItem = sender + } } - } - return item + + button.accessibilityLabel = "Settings" + return button }() private lazy var backItem: UIBarButtonItem = { @@ -527,7 +529,7 @@ final class PostsPageViewController: ViewController { } } else { if !(postsView.refreshControl is PostsPageRefreshSpinnerView) { - postsView.refreshControl = PostsPageRefreshSpinnerView() + postsView.refreshControl = PostsPageRefreshSpinnerView(theme: theme) } } } else { @@ -551,6 +553,23 @@ final class PostsPageViewController: ViewController { currentPageItem.accessibilityLabel = nil } + let barAppearance = UIToolbarAppearance() + barAppearance.backgroundColor = theme["tabBarBackgroundColor"] + + // below lines prevent weird unwanted grey bar from appearing. can be confused with "hairline" border + barAppearance.shadowImage = nil + barAppearance.backgroundImage = nil + barAppearance.shadowColor = nil + + postsView.toolbar.standardAppearance = barAppearance + postsView.toolbar.compactAppearance = barAppearance + + if Theme.defaultTheme().roundedFonts { + currentPageItem.setTitleTextAttributes([.font: roundedFont(ofSize: 17, weight: .medium)], for: .normal) + } else { + currentPageItem.setTitleTextAttributes([.font: UIFont.systemFont(ofSize: 17, weight: .medium)], for: .normal) + } + forwardItem.isEnabled = { switch page { case .specific(let pageNumber)?: @@ -1458,6 +1477,10 @@ final class PostsPageViewController: ViewController { postsView.themeDidChange(theme) + // this fixes the thread title color on theme mode change from within posts view + //TODO: may need to be done elsewhere, but it works from here only afaik + //navigationItem.titleLabel.textColor = theme["navigationBarTextColor"] + if postsView.loadingView != nil { postsView.loadingView = LoadingView.loadingViewWithTheme(theme) } @@ -1467,10 +1490,11 @@ final class PostsPageViewController: ViewController { override func viewDidLoad() { super.viewDidLoad() - + self.addBackButton() + definesPresentationContext = true /* - Laying this screen out used to be a challenge: there are bars on the top and bottom, and between our old deployment target and the latest SDK we spanned a few different schools of layout thought. This is probably not necessary anymore. But here was the plan: - + Laying this screen out is a challenge: there are bars on the top and bottom, and between our deployment target and the latest SDK we span a few different schools of layout thought. Here's the plan: + 1. Turn off all UIKit magic automated everything. We'll handle all scroll view content insets and safe area insets ourselves. 2. Set layout margins on `postsView` in lieu of the above. Layout margins are available on all iOS versions that Awful supports. @@ -1487,6 +1511,25 @@ final class PostsPageViewController: ViewController { backItem, .fixedSpace(spacer), currentPageItem, .fixedSpace(spacer), forwardItem, .flexibleSpace(), actionsItem] + // Fix tab bar having no background when scrolled to bottom on iOS 15. + let appearance = UIToolbarAppearance() + if (postsView.toolbar.isTranslucent) { + appearance.configureWithDefaultBackground() + } else { + appearance.configureWithOpaqueBackground() + } + appearance.backgroundColor = Theme.defaultTheme()["backgroundColor"]! + appearance.shadowImage = nil + appearance.shadowColor = nil + + postsView.toolbar.standardAppearance = appearance + postsView.toolbar.compactAppearance = appearance + + if #available(iOS 15.0, *) { + postsView.toolbar.scrollEdgeAppearance = appearance + postsView.toolbar.compactScrollEdgeAppearance = appearance + } + let longPress = UILongPressGestureRecognizer(target: self, action: #selector(didLongPressOnPostsView)) longPress.delegate = self postsView.renderView.addGestureRecognizer(longPress) @@ -1539,6 +1582,9 @@ final class PostsPageViewController: ViewController { override func viewDidLayoutSubviews() { super.viewDidLayoutSubviews() updatePostsViewLayoutMargins() + self.addBackButton() + // this fixes the thread title color on theme mode change from within posts view + navigationItem.titleLabel.text = title } override func viewSafeAreaInsetsDidChange() { @@ -1547,8 +1593,7 @@ final class PostsPageViewController: ViewController { } private func updatePostsViewLayoutMargins() { - // See commentary in `viewDidLoad()` about our layout strategy here. tl;dr layout margins were the highest-level approach available on all versions of iOS that Awful supported, so we'll use them exclusively to represent the safe area. Probably not necessary anymore. - postsView.layoutMargins = view.safeAreaInsets + postsView.layoutMargins = view.layoutMargins } override func viewDidAppear(_ animated: Bool) { @@ -1658,6 +1703,8 @@ extension PostsPageViewController: RenderViewDelegate { view.embedTweets() } + view.loadLottiePlayer() + webViewDidLoadOnce = true if jumpToLastPost { diff --git a/App/View Controllers/ProfileViewController.swift b/App/View Controllers/ProfileViewController.swift index ba7f03267..831867324 100644 --- a/App/View Controllers/ProfileViewController.swift +++ b/App/View Controllers/ProfileViewController.swift @@ -219,6 +219,7 @@ private struct RenderModel: StencilContextConvertible { let privateMessagesWork: Bool let profilePictureURL: URL? let regdate: Date? + let regdateRaw: String? let username: String? let yahooName: String? @@ -234,7 +235,7 @@ private struct RenderModel: StencilContextConvertible { || !(profile.yahooName ?? "").isEmpty || profile.homepageURL != nil }() - avatarURL = profile.user.avatarURL + avatarURL = URL(string: profile.user.avatarURLString) customTitleHTML = { let html = profile.user.customTitleHTML return html == "
" ? nil : html @@ -256,6 +257,7 @@ private struct RenderModel: StencilContextConvertible { self.privateMessagesWork = privateMessagesWork profilePictureURL = profile.profilePictureURL regdate = profile.user.regdate + regdateRaw = profile.user.regdateRaw username = profile.user.username yahooName = profile.yahooName } @@ -281,6 +283,7 @@ private struct RenderModel: StencilContextConvertible { "privateMessagesWork": privateMessagesWork, "profilePictureURL": profilePictureURL as Any, "regdate": regdate as Any, + "regdateRaw": regdateRaw as Any, "username": username as Any, "yahooName": yahooName as Any] } diff --git a/App/View Controllers/Rap Sheet/RapSheetViewController.swift b/App/View Controllers/Rap Sheet/RapSheetViewController.swift index d8e2c4532..03b11aba2 100644 --- a/App/View Controllers/Rap Sheet/RapSheetViewController.swift +++ b/App/View Controllers/Rap Sheet/RapSheetViewController.swift @@ -35,8 +35,19 @@ final class RapSheetViewController: TableViewController { if user == nil { title = LocalizedString("lepers-colony.navbar-title") tabBarItem.title = LocalizedString("lepers-colony.tabbar-title") - tabBarItem.image = UIImage(named: "lepers") - tabBarItem.selectedImage = UIImage(named: "lepers-filled") + + if !Theme.defaultTheme().showRootTabBarLabel { + tabBarItem.imageInsets = UIEdgeInsets(top: 9, left: 0, bottom: -9, right: 0) + tabBarItem.title = nil + } + + tabBarItem.image = UIImage(named: "lepers")! + .withTintColor(Theme.defaultTheme()["tabBarTintColor"]!) + .withRenderingMode(.alwaysTemplate) + + tabBarItem.selectedImage = UIImage(named: "lepers-filled")! + .withTintColor(Theme.defaultTheme()["tintColor"]!) + .withRenderingMode(.alwaysTemplate) } else { title = LocalizedString("rap-sheet.title") hidesBottomBarWhenPushed = true diff --git a/App/View Controllers/RootTabBarController.swift b/App/View Controllers/RootTabBarController.swift index 916c1c68e..4f21c03d3 100644 --- a/App/View Controllers/RootTabBarController.swift +++ b/App/View Controllers/RootTabBarController.swift @@ -35,6 +35,7 @@ final class RootTabBarController: UITabBarController, UITabBarControllerDelegate override func viewDidLoad() { super.viewDidLoad() + // tell our UITabBarController subclass to handle its own delegate methods self.delegate = self themeDidChange() } @@ -52,19 +53,31 @@ final class RootTabBarController: UITabBarController, UITabBarControllerDelegate tabBar.tintColor = theme["tintColor"] tabBar.topBorderColor = theme["bottomBarTopBorderColor"] + // Fix tab bar having no background when scrolled to bottom on iOS 15. + let appearance = UITabBarAppearance() + if (tabBar.isTranslucent) { + appearance.configureWithDefaultBackground() + } else { + appearance.configureWithOpaqueBackground() + } + appearance.backgroundColor = Theme.defaultTheme()["backgroundColor"]! + appearance.shadowImage = nil + appearance.shadowColor = nil + + let itemAppearance = UITabBarItemAppearance() + itemAppearance.selected.iconColor = Theme.defaultTheme()["tabBarIconSelectedColor"]! + itemAppearance.normal.iconColor = Theme.defaultTheme()["tabBarIconNormalColor"]! + + + appearance.inlineLayoutAppearance = itemAppearance + appearance.stackedLayoutAppearance = itemAppearance + appearance.compactInlineLayoutAppearance = itemAppearance + // tabBarItem.imageInsets = UIEdgeInsets(top: 9, left: 0, bottom: -9, right: 0) + + tabBar.standardAppearance = appearance; + if #available(iOS 15.0, *) { - // Fix tab bar having no background when scrolled to bottom on iOS 15. - let appearance = UITabBarAppearance() - if (tabBar.isTranslucent) { - appearance.configureWithDefaultBackground() - } else { - appearance.configureWithOpaqueBackground() - } - - appearance.backgroundColor = theme["tabBarBackgroundColor"] - - tabBar.standardAppearance = appearance; - tabBar.scrollEdgeAppearance = tabBar.standardAppearance + tabBar.scrollEdgeAppearance = appearance } } } diff --git a/App/View Controllers/Settings/AppIconPickerCell.swift b/App/View Controllers/Settings/AppIconPickerCell.swift index 7b97f1195..9666fd851 100644 --- a/App/View Controllers/Settings/AppIconPickerCell.swift +++ b/App/View Controllers/Settings/AppIconPickerCell.swift @@ -62,12 +62,12 @@ final class AppIconPickerCell: UITableViewCell, UICollectionViewDataSource, UICo } } -private struct AppIcon: Equatable { +public struct AppIcon: Equatable { let filename: String let iconName: String } -private func findAppIcons() -> [AppIcon] { +public func findAppIcons() -> [AppIcon] { guard let icons = Bundle(for: AppIconPickerCell.self).object(forInfoDictionaryKey: "CFBundleIcons") as? [String: Any] else { Log.e("could not find CFBundleIcons in Info.plist") return [] diff --git a/App/View Controllers/Settings/SettingsViewController.swift b/App/View Controllers/Settings/SettingsViewController.swift index 36289a683..cc81a7125 100644 --- a/App/View Controllers/Settings/SettingsViewController.swift +++ b/App/View Controllers/Settings/SettingsViewController.swift @@ -16,8 +16,18 @@ final class SettingsViewController: TableViewController { title = "Settings" - tabBarItem.image = UIImage(named: "cog") - tabBarItem.selectedImage = UIImage(named: "cog-filled") + tabBarItem.title = nil + + tabBarItem.image = UIImage(named: "cog")! + .withTintColor(Theme.defaultTheme()["tabBarTintColor"]!) + .withRenderingMode(.alwaysTemplate) + + tabBarItem.selectedImage = UIImage(named: "cog-filled")! + .withTintColor(Theme.defaultTheme()["tintColor"]!) + .withRenderingMode(.alwaysTemplate) + + tabBarItem.imageInsets = UIEdgeInsets(top: 9, left: 0, bottom: -9, right: 0) + } required init?(coder: NSCoder) { @@ -436,7 +446,7 @@ final class SettingsViewController: TableViewController { } header.configure( - avatarURL: loggedInUser?.avatarURL, + avatarURL: URL(string: loggedInUser?.avatarURLString ?? ""), horizontalPadding: tableView.separatorInset.left, textColor: theme["listTextColor"]) diff --git a/App/View Controllers/Thread Tags/ThreadTagPickerViewController.swift b/App/View Controllers/Thread Tags/ThreadTagPickerViewController.swift index 1de6f65ce..10e306369 100644 --- a/App/View Controllers/Thread Tags/ThreadTagPickerViewController.swift +++ b/App/View Controllers/Thread Tags/ThreadTagPickerViewController.swift @@ -129,8 +129,8 @@ final class ThreadTagPickerViewController: ViewController { private lazy var collectionView: UICollectionView = { let layout = ThreadTagPickerLayout() layout.itemSize = CGSize(width: 60, height: 60) - layout.minimumInteritemSpacing = 5 - layout.minimumLineSpacing = 5 + layout.minimumInteritemSpacing = 3 + layout.minimumLineSpacing = 3 let collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout) collectionView.allowsMultipleSelection = true @@ -188,16 +188,22 @@ extension ThreadTagPickerViewController: UICollectionViewDataSource, UICollectio let cell = collectionView.dequeueReusableCell(withReuseIdentifier: secondaryCellID, for: indexPath as IndexPath) as! SecondaryThreadTagPickerCell cell.tagImageName = secondaryImageNames[indexPath.item] cell.titleTextColor = theme["tagPickerTextColor"] ?? .black + cell.layer.cornerRadius = 3 + cell.layer.masksToBounds = true return cell case .threadTag where indexPath.item == 0: let cell = collectionView.dequeueReusableCell(withReuseIdentifier: cellID, for: indexPath as IndexPath) as! ThreadTagPickerCell + cell.layer.cornerRadius = 3 + cell.layer.masksToBounds = true cell.configure(placeholder: firstTag) return cell case .threadTag: let cell = collectionView.dequeueReusableCell(withReuseIdentifier: cellID, for: indexPath as IndexPath) as! ThreadTagPickerCell cell.configure(tagImageName: imageNames[indexPath.item - 1]) + cell.layer.cornerRadius = 3 + cell.layer.masksToBounds = true return cell } } diff --git a/App/View Controllers/Threads/BookmarksTableViewController.swift b/App/View Controllers/Threads/BookmarksTableViewController.swift index 4b8d1b452..8df3f49fa 100644 --- a/App/View Controllers/Threads/BookmarksTableViewController.swift +++ b/App/View Controllers/Threads/BookmarksTableViewController.swift @@ -27,8 +27,22 @@ final class BookmarksTableViewController: TableViewController { title = LocalizedString("bookmarks.title") - tabBarItem.image = UIImage(named: "bookmarks") - tabBarItem.selectedImage = UIImage(named: "bookmarks-filled") + tabBarItem.image = UIImage(named: "forum-list")!.withRenderingMode(.alwaysTemplate) + tabBarItem.selectedImage = UIImage(named: "forum-list-filled")!.withRenderingMode(.alwaysTemplate) + + if !Theme.defaultTheme().showRootTabBarLabel { + tabBarItem.imageInsets = UIEdgeInsets(top: 9, left: 0, bottom: -9, right: 0) + tabBarItem.title = nil + } + + tabBarItem.image = UIImage(named: "bookmarks")! + .withTintColor(Theme.defaultTheme()["tabBarTintColor"]!) + .withRenderingMode(.alwaysTemplate) + + tabBarItem.selectedImage = UIImage(named: "bookmarks-filled")! + .withTintColor(Theme.defaultTheme()["tintColor"]!) + .withRenderingMode(.alwaysTemplate) + } deinit { diff --git a/App/View Controllers/Threads/ThreadListCell.swift b/App/View Controllers/Threads/ThreadListCell.swift index 87a6b8f7f..697dc532c 100644 --- a/App/View Controllers/Threads/ThreadListCell.swift +++ b/App/View Controllers/Threads/ThreadListCell.swift @@ -9,7 +9,7 @@ private let Log = Logger.get(level: .debug) final class ThreadListCell: UITableViewCell { private let pageCountLabel = UILabel() - private let pageIconView = PageIconView() + private let pageIconView = UIImageView() private let postInfoLabel = UILabel() private let ratingImageView = UIImageView() private let secondaryTagImageView = UIImageView() @@ -30,8 +30,8 @@ final class ThreadListCell: UITableViewCell { pageCountLabel.attributedText = viewModel.pageCount - pageIconView.borderColor = viewModel.pageIconColor + pageIconView.image = UIImage(named: "page")?.withTintColor(viewModel.pageIconColor) postInfoLabel.attributedText = viewModel.postInfo ratingImageView.image = viewModel.ratingImage @@ -110,6 +110,10 @@ final class ThreadListCell: UITableViewCell { tagImageView.frame = layout.tagImageFrame titleLabel.frame = layout.titleFrame unreadCountLabel.frame = layout.unreadCountFrame + + // spankykong + tagImageView.layer.masksToBounds = true + tagImageView.layer.cornerRadius = 3 } private struct Layout { @@ -223,7 +227,7 @@ final class ThreadListCell: UITableViewCell { let pageCountFont = viewModel.pageCount.attribute(.font, at: 0, effectiveRange: nil) as? UIFont ?? UIFont.systemFont(ofSize: 12) let pageIconHeight = pixelCeil(pageCountFont.capHeight) - let pageIconWidth = pageIconHeight * PageIconView.aspectRatio + let pageIconWidth = CGFloat(9) //pageIconHeight * PageIconView.aspectRatio pageIconFrame = CGRect( x: pageCountFrame.maxX + Layout.pageCountRightMargin, y: pageCountFrame.minY + pageCountFont.ascender - pageIconHeight, @@ -271,3 +275,21 @@ final class ThreadListCell: UITableViewCell { return Layout(width: width, viewModel: viewModel).titleFrame.minX } } + + +extension UIImage { + func mergeWith(topImage: UIImage) -> UIImage { + let bottomImage = self + + UIGraphicsBeginImageContextWithOptions(size, false, 0.0) + + let areaSize = CGRect(x: 0, y: 0, width: bottomImage.size.width, height: bottomImage.size.height) + bottomImage.draw(in: areaSize) + + topImage.draw(in: areaSize, blendMode: .normal, alpha: 1.0) + + let mergedImage = UIGraphicsGetImageFromCurrentImageContext()! + UIGraphicsEndImageContext() + return mergedImage + } +} diff --git a/App/View Controllers/Threads/ThreadsTableViewController.swift b/App/View Controllers/Threads/ThreadsTableViewController.swift index ef1a82876..dbbf00082 100644 --- a/App/View Controllers/Threads/ThreadsTableViewController.swift +++ b/App/View Controllers/Threads/ThreadsTableViewController.swift @@ -106,6 +106,7 @@ final class ThreadsTableViewController: TableViewController, ComposeTextViewCont override func viewDidLoad() { super.viewDidLoad() + self.addBackButton() multiplexer.addDelegate(self) @@ -251,6 +252,12 @@ final class ThreadsTableViewController: TableViewController, ComposeTextViewCont let title = LocalizedString(filterThreadTag == nil ? "thread-list.filter-button.no-filter" : "thread-list.filter-button.change-filter") filterButton.setTitle(title, for: .normal) + if Theme.defaultTheme().roundedFonts { + filterButton.titleLabel?.font = roundedFont(ofSize: 12, weight: .medium) + } else { + filterButton.titleLabel?.font = UIFont.systemFont(ofSize: 12) + } + filterButton.tintColor = theme["tintColor"] } diff --git a/App/View Controllers/Threads/UIContextMenuConfiguration+ThreadListItem.swift b/App/View Controllers/Threads/UIContextMenuConfiguration+ThreadListItem.swift index 49e7f3a94..453014178 100644 --- a/App/View Controllers/Threads/UIContextMenuConfiguration+ThreadListItem.swift +++ b/App/View Controllers/Threads/UIContextMenuConfiguration+ThreadListItem.swift @@ -5,6 +5,7 @@ import AwfulCore import MRProgress import UIKit +import SwiftUI private let Log = Logger.get() @@ -22,7 +23,7 @@ extension UIContextMenuConfiguration { } var copyURL: UIMenuElement { UIAction( - title: NSLocalizedString("Copy URL", comment: ""), + title: NSLocalizedString("Copy Link", comment: ""), image: UIImage(named: "copy-url")!.withRenderingMode(.alwaysTemplate), handler: { action in let url = AwfulRoute.threadPage( @@ -43,11 +44,24 @@ extension UIContextMenuConfiguration { } var jumpToFirstPage: UIMenuElement { UIAction( - title: NSLocalizedString("Jump to First Page", comment: ""), + title: NSLocalizedString("First Page", comment: ""), image: UIImage(named: "jump-to-first-page")!.withRenderingMode(.alwaysTemplate), handler: { action in jump(to: .first) } ) } + var setBookmarkColor: UIMenuElement { + UIAction( + title: "Set color", + image: UIImage(named: "rainbow")!.withRenderingMode(.alwaysTemplate), + attributes: [], + handler: { action in + + let profile = UIHostingController(rootView: BookmarkColorPicker(thread: thread)) + presenter.present(profile, animated: true) + + } + ) + } var jumpToLastPage: UIMenuElement { UIAction( title: NSLocalizedString("Last Page", comment: ""), @@ -147,12 +161,13 @@ extension UIContextMenuConfiguration { UIMenu(children: [ jumpToFirstPage, jumpToLastPage, - toggleBookmark, profileAuthor, copyURL, copyTitle, markThreadRead, markThreadUnread, + setBookmarkColor, + toggleBookmark, ].compactMap { $0 }) }) } diff --git a/App/Views/BookmarkColorPicker.swift b/App/Views/BookmarkColorPicker.swift new file mode 100644 index 000000000..9b21afbee --- /dev/null +++ b/App/Views/BookmarkColorPicker.swift @@ -0,0 +1,282 @@ +// SetBookmarkColor.swift +// +// Copyright 2021 Awful Contributors. CC BY-NC-SA 3.0 US https://github.com/Awful/Awful.app + +import SwiftUI +import AwfulCore + + +struct BookmarkColorPicker: View { + @SwiftUI.Environment(\.presentationMode) var presentationMode + + var thread: AwfulThread + + func containedView() -> String { + switch thread.starCategory { + case .orange: return Theme.defaultTheme()["unreadBadgeOrangeColor"]!.hexCode + case .red: return Theme.defaultTheme()["unreadBadgeRedColor"]!.hexCode + case .yellow: return Theme.defaultTheme()["unreadBadgeYellowColor"]!.hexCode + case .teal: return Theme.defaultTheme()["unreadBadgeTealColor"]!.hexCode + case .green: return Theme.defaultTheme()["unreadBadgeGreenColor"]!.hexCode + case .purple: return Theme.defaultTheme()["unreadBadgePurpleColor"]!.hexCode + case .none: return Theme.defaultTheme()["unreadBadgeBlueColor"]!.hexCode + } + } + + + var body: some View { + var selection = containedView() + + VStack { + + Text(thread.title!) + .foregroundColor(Color(hex: Theme.defaultTheme()["sheetTitleColor"]!)) + .font(.system(size: 16.0, weight: .regular, design: .rounded)) + .padding() + + HStack { + ZStack { + Circle() + .fill(Color(hex: Theme.defaultTheme()["unreadBadgeRedColor"]!.hexCode)) + .frame(width: 30, height: 30) + .onTapGesture(perform: { + selection = Theme.defaultTheme()["unreadBadgeRedColor"]!.hexCode + + + _ = ForumsClient.shared.setBookmarkColor(thread, as: 1) + .done { + _ = ForumsClient.shared.listBookmarkedThreads(page: 1) + self.presentationMode.wrappedValue.dismiss() + } + .catch { error in + print(error.localizedDescription) + } + }) + .padding(10) + + if selection == Theme.defaultTheme()["unreadBadgeRedColor"]!.hexCode { + Circle() + .stroke(Color(hex: Theme.defaultTheme()["unreadBadgeRedColor"]!.hexCode), lineWidth: 2) + .frame(width: 40, height: 40) + } + } + + + + ZStack { + Circle() + .fill(Color(hex: Theme.defaultTheme()["unreadBadgeOrangeColor"]!.hexCode)) + .frame(width: 30, height: 30) + .onTapGesture(perform: { + _ = ForumsClient.shared.setBookmarkColor(thread, as: 0) + .done { + _ = ForumsClient.shared.listBookmarkedThreads(page: 1) + self.presentationMode.wrappedValue.dismiss() + } + .catch { error in + print(error.localizedDescription) + } + }) + .padding(10) + + if selection == Theme.defaultTheme()["unreadBadgeOrangeColor"]!.hexCode { + Circle() + .stroke(Color(hex: Theme.defaultTheme()["unreadBadgeOrangeColor"]!.hexCode), lineWidth: 2) + .frame(width: 40, height: 40) + } + } + + + ZStack { + Circle() + .fill(Color(hex: Theme.defaultTheme()["unreadBadgeYellowColor"]!.hexCode)) + .frame(width: 30, height: 30) + .onTapGesture(perform: { + _ = ForumsClient.shared.setBookmarkColor(thread, as: 2) + .done { + _ = ForumsClient.shared.listBookmarkedThreads(page: 1) + self.presentationMode.wrappedValue.dismiss() + } + .catch { error in + print(error.localizedDescription) + } + }) + .padding(10) + + if selection == Theme.defaultTheme()["unreadBadgeYellowColor"]!.hexCode { + Circle() + .stroke(Color(hex: Theme.defaultTheme()["unreadBadgeYellowColor"]!.hexCode), lineWidth: 2) + .frame(width: 40, height: 40) + } + } + + + ZStack { + Circle() + .fill(Color(hex: Theme.defaultTheme()["unreadBadgeGreenColor"]!.hexCode)) + .frame(width: 30, height: 30) + .onTapGesture(perform: { + _ = ForumsClient.shared.setBookmarkColor(thread, as: 4) + .done { + _ = ForumsClient.shared.listBookmarkedThreads(page: 1) + self.presentationMode.wrappedValue.dismiss() + } + .catch { error in + print(error.localizedDescription) + } + }) + .padding(10) + + if selection == Theme.defaultTheme()["unreadBadgeGreenColor"]!.hexCode { + Circle() + .stroke(Color(hex: Theme.defaultTheme()["unreadBadgeGreenColor"]!.hexCode), lineWidth: 2) + .frame(width: 40, height: 40) + } + } + + ZStack { + Circle() + .fill(Color(hex: Theme.defaultTheme()["unreadBadgeTealColor"]!.hexCode)) + .frame(width: 30, height: 30) + .onTapGesture(perform: { + _ = ForumsClient.shared.setBookmarkColor(thread, as: 3) + .done { + _ = ForumsClient.shared.listBookmarkedThreads(page: 1) + self.presentationMode.wrappedValue.dismiss() + } + .catch { error in + print(error.localizedDescription) + } + }) + .padding(10) + + if selection == Theme.defaultTheme()["unreadBadgeTealColor"]!.hexCode { + Circle() + .stroke(Color(hex: Theme.defaultTheme()["unreadBadgeTealColor"]!.hexCode), lineWidth: 2) + .frame(width: 40, height: 40) + } + } + + + ZStack { + Circle() + .fill(Color(hex: Theme.defaultTheme()["unreadBadgePurpleColor"]!.hexCode)) + .frame(width: 30, height: 30) + .onTapGesture(perform: { + _ = ForumsClient.shared.setBookmarkColor(thread, as: 5) + .done { + _ = ForumsClient.shared.listBookmarkedThreads(page: 1) + self.presentationMode.wrappedValue.dismiss() + } + .catch { error in + print(error.localizedDescription) + } + }) + .padding(10) + + if selection == Theme.defaultTheme()["unreadBadgePurpleColor"]!.hexCode { + Circle() + .stroke(Color(hex: Theme.defaultTheme()["unreadBadgePurpleColor"]!.hexCode), lineWidth: 2) + .frame(width: 40, height: 40) + } + } + + } + + .frame( + minWidth: 0, + maxWidth: .infinity, + minHeight: 0, + maxHeight: .infinity, + alignment: .top + ) + .background(Color(hex: Theme.defaultTheme()["sheetBackgroundColor"]!).edgesIgnoringSafeArea(.all)) + } + .background(Color(hex: Theme.defaultTheme()["sheetBackgroundColor"]!).edgesIgnoringSafeArea(.all)) + } + +} + +extension Color { + init(hex string: String) { + var string: String = string.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines) + if string.hasPrefix("#") { + _ = string.removeFirst() + } + + // Double the last value if incomplete hex + if !string.count.isMultiple(of: 2), let last = string.last { + string.append(last) + } + + // Fix invalid values + if string.count > 8 { + string = String(string.prefix(8)) + } + + // Scanner creation + let scanner = Scanner(string: string) + + var color: UInt64 = 0 + scanner.scanHexInt64(&color) + + if string.count == 2 { + let mask = 0xFF + + let g = Int(color) & mask + + let gray = Double(g) / 255.0 + + self.init(.sRGB, red: gray, green: gray, blue: gray, opacity: 1) + + } else if string.count == 4 { + let mask = 0x00FF + + let g = Int(color >> 8) & mask + let a = Int(color) & mask + + let gray = Double(g) / 255.0 + let alpha = Double(a) / 255.0 + + self.init(.sRGB, red: gray, green: gray, blue: gray, opacity: alpha) + + } else if string.count == 6 { + let mask = 0x0000FF + let r = Int(color >> 16) & mask + let g = Int(color >> 8) & mask + let b = Int(color) & mask + + let red = Double(r) / 255.0 + let green = Double(g) / 255.0 + let blue = Double(b) / 255.0 + + self.init(.sRGB, red: red, green: green, blue: blue, opacity: 1) + + } else if string.count == 8 { + let mask = 0x000000FF + let r = Int(color >> 24) & mask + let g = Int(color >> 16) & mask + let b = Int(color >> 8) & mask + let a = Int(color) & mask + + let red = Double(r) / 255.0 + let green = Double(g) / 255.0 + let blue = Double(b) / 255.0 + let alpha = Double(a) / 255.0 + + self.init(.sRGB, red: red, green: green, blue: blue, opacity: alpha) + + } else { + self.init(.sRGB, red: 1, green: 1, blue: 1, opacity: 1) + } + } +} + +//struct BookmarkColorPicker_Previews: PreviewProvider { +// +// var thread: AwfulThread +// +// static var previews: some View { +// BookmarkColorPicker(thread: nil) +// } +//} diff --git a/App/Views/LoadingView.swift b/App/Views/LoadingView.swift index 46ac0160a..16d6259a2 100644 --- a/App/Views/LoadingView.swift +++ b/App/Views/LoadingView.swift @@ -4,6 +4,7 @@ import FLAnimatedImage import UIKit +import Lottie /// A view that covers its superview with an indeterminate progress indicator. class LoadingView: UIView { @@ -48,20 +49,38 @@ class LoadingView: UIView { } private class DefaultLoadingView: LoadingView { - lazy var spinner: SpriteSheetView = { - let image = UIImage(named: "v-throbber")! - let view = SpriteSheetView(spriteSheet: image, followsTheme: true) - view.frameRate = 30 - view.translatesAutoresizingMaskIntoConstraints = false - self.addSubview(view) + + override init(theme: Theme?) { + super.init(theme: theme) - NSLayoutConstraint.activate([ - self.centerXAnchor.constraint(equalTo: view.centerXAnchor), - self.centerYAnchor.constraint(equalTo: view.bottomAnchor), - ]) + let animationView: AnimationView = .init(name: "MainThrobberX120") + animationView.respectAnimationFrameRate = true + animationView.currentFrame = 0 + animationView.contentMode = .scaleAspectFit + animationView.animationSpeed = 1 + animationView.isOpaque = true + animationView.translatesAutoresizingMaskIntoConstraints = false - return view - }() + addSubview(animationView) + + animationView.widthAnchor.constraint(equalToConstant: 100).isActive = true + animationView.heightAnchor.constraint(equalToConstant: 100).isActive = true + animationView.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true + animationView.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true + + animationView.play(fromFrame: 0, toFrame: 50, loopMode: .playOnce, completion: { (finished) in + if finished { + // first animation complete! start second one and loop + animationView.play(fromFrame: 50, toFrame: 200, loopMode: .loop, completion: nil) + } else { + // animation cancelled + } + }) + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } override func retheme() { super.retheme() @@ -72,11 +91,50 @@ private class DefaultLoadingView: LoadingView { fileprivate override func willMove(toSuperview newSuperview: UIView?) { super.willMove(toSuperview: newSuperview) - if newSuperview == nil { - spinner.stopAnimating() - } else { - spinner.startAnimating() + } +} + +class PostedTootLoadingView: LoadingView { + + override init(theme: Theme?) { + super.init(theme: theme) + + let animationView: AnimationView = .init(name: "TootX120") + animationView.respectAnimationFrameRate = true + animationView.currentFrame = 0 + animationView.contentMode = .scaleAspectFit + animationView.animationSpeed = 1 + animationView.isOpaque = true + animationView.translatesAutoresizingMaskIntoConstraints = false + + if Theme.defaultTheme()["keyboardAppearance"] == "Light" { + let backgroundColor = ColorValueProvider(Theme.defaultTheme()["backgroundColor"]!.lottieColorValue) + let stroke = AnimationKeypath(keys: ["**", "Stroke 1", "**", "Color"]) + let eyes = AnimationKeypath(keys: ["**", "Eye*", "**", "Color"]) + + animationView.setValueProvider(backgroundColor, keypath: stroke) + animationView.setValueProvider(backgroundColor, keypath: eyes) } + + addSubview(animationView) + + animationView.widthAnchor.constraint(equalToConstant: 100).isActive = true + animationView.heightAnchor.constraint(equalToConstant: 100).isActive = true + animationView.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true + animationView.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true + + animationView.play(fromFrame: 0, toFrame: 206, loopMode: .playOnce) + + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + override func retheme() { + super.retheme() + + backgroundColor = theme?[color: "postsLoadingViewTintColor"] } } diff --git a/App/Views/NigglyRefreshLottieView.swift b/App/Views/NigglyRefreshLottieView.swift new file mode 100644 index 000000000..efa40f7c0 --- /dev/null +++ b/App/Views/NigglyRefreshLottieView.swift @@ -0,0 +1,95 @@ +// NigglyRefreshLottieView.swift +// +// Copyright 2021 Awful Contributors. CC BY-NC-SA 3.0 US https://github.com/Awful/Awful.app + +import PullToRefresh +import Lottie +import UIKit + +private let verticalMargin: CGFloat = 10 + +final class NigglyRefreshLottieView: UIView { + fileprivate var animationView: AnimationView? + + override init(frame: CGRect) { + super.init(frame: frame) + commonInit() + } + + required init?(coder: NSCoder) { + super.init(coder: coder) + commonInit() + } + + private func commonInit() { + animationView = .init(name: "niggly3x120") + + var theme: Theme { + return Theme.defaultTheme() + } + + animationView!.frame = CGRect(x: 0, y: 0, width: 40, height: 40) + animationView!.translatesAutoresizingMaskIntoConstraints = true + animationView!.respectAnimationFrameRate = true + animationView!.contentMode = .scaleAspectFit + animationView!.loopMode = .loop + animationView!.animationSpeed = 1 + + addSubview(animationView!) + + backgroundColor = Theme.defaultTheme()["backgroundColor"]! + + NSLayoutConstraint.activate([ + animationView!.centerXAnchor.constraint(equalTo: centerXAnchor), + animationView!.centerYAnchor.constraint(equalTo: centerYAnchor)]) + } + + override func layoutSubviews() { + let gray = ColorValueProvider(Theme.defaultTheme()["nigglyColor"]!.lottieColorValue) + let mainOutline = AnimationKeypath(keys: ["**", "**", "**", "Color"]) + + animationView!.setValueProvider(gray, keypath: mainOutline) + animationView!.center = CGPoint(x: bounds.midX, y: bounds.midY) + } + + override var intrinsicContentSize: CGSize { + let spriteSheetSize = animationView!.intrinsicContentSize + let margin: CGFloat = 6 + return CGSize(width: UIView.noIntrinsicMetric, height: spriteSheetSize.height + (margin * 2)) + } + + func startAnimating() { + animationView!.play() + } + + func stopAnimating() { + animationView!.stop() + } +} + +extension NigglyRefreshLottieView { + final class RefreshAnimator: RefreshViewAnimator { + private let view: NigglyRefreshLottieView + + init(view: NigglyRefreshLottieView) { + self.view = view + } + + func animate(_ state: State) { + switch state { + case .initial: + view.animationView?.play() + view.animationView?.pause() + + case .releasing(let progress) where progress < 1: + view.animationView?.pause() + + case .loading, .releasing: + view.animationView?.play() + + case .finished: + view.animationView?.stop() + } + } + } +} diff --git a/App/Views/RenderView.swift b/App/Views/RenderView.swift index 6264e5076..7be6a1adf 100644 --- a/App/Views/RenderView.swift +++ b/App/Views/RenderView.swift @@ -277,6 +277,14 @@ extension RenderView { } } + func loadLottiePlayer() { + webView.evaluateJavaScript("if (window.Awful) Awful.loadLotties()") { rawResult, error in + if let error = error { + self.mentionError(error, explanation: "could not evaluate loadLotties") + } + } + } + /// iOS 15 and transparent webviews = dark "missing" scroll thumbs, regardless of settings applied /// webview must be transparent to prevent white flashes during content refreshes. setting opaque to true in viewDidAppear helped, but still sometimes produced white flashes. /// instead, we toggle the webview to opaque while it's being scrolled and return it to transparent seconds after diff --git a/Awful.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Awful.xcworkspace/xcshareddata/swiftpm/Package.resolved index 078ae94c2..ecb081d91 100644 --- a/Awful.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Awful.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -19,6 +19,15 @@ "version": "2.2.0" } }, + { + "package": "Lottie", + "repositoryURL": "https://github.com/airbnb/lottie-ios.git", + "state": { + "branch": null, + "revision": "4a6058cbbdfe4f74aeae92c8bd51ad3b0de2a1ee", + "version": "3.3.0" + } + }, { "package": "Nuke", "repositoryURL": "https://github.com/kean/Nuke", diff --git a/AwfulCore/Sources/AwfulCore/Model/Announcement.swift b/AwfulCore/Sources/AwfulCore/Model/Announcement.swift index d2ddf783c..7d7c5ce62 100644 --- a/AwfulCore/Sources/AwfulCore/Model/Announcement.swift +++ b/AwfulCore/Sources/AwfulCore/Model/Announcement.swift @@ -17,11 +17,13 @@ public final class Announcement: AwfulManagedObject, Managed { @NSManaged public var authorCustomTitleHTML: String @NSManaged public var authorRegdate: Date? + @NSManaged public var authorRegdateRaw: String? @NSManaged public var authorUsername: String @NSManaged public var bodyHTML: String @NSManaged public var hasBeenSeen: Bool @NSManaged public var listIndex: Int32 @NSManaged public var postedDate: Date? + @NSManaged public var postedDateRaw: String? @NSManaged public var title: String @NSManaged public var author: User? diff --git a/AwfulCore/Sources/AwfulCore/Model/Awful.xcdatamodeld/Awful 6.1.xcdatamodel/contents b/AwfulCore/Sources/AwfulCore/Model/Awful.xcdatamodeld/Awful 6.1.xcdatamodel/contents new file mode 100644 index 000000000..80511902a --- /dev/null +++ b/AwfulCore/Sources/AwfulCore/Model/Awful.xcdatamodeld/Awful 6.1.xcdatamodel/contents @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/AwfulCore/Sources/AwfulCore/Model/Post.swift b/AwfulCore/Sources/AwfulCore/Model/Post.swift index 12af05579..27b26a6d4 100644 --- a/AwfulCore/Sources/AwfulCore/Model/Post.swift +++ b/AwfulCore/Sources/AwfulCore/Model/Post.swift @@ -27,6 +27,9 @@ public class Post: AwfulManagedObject, Managed { /// When the post appeared. @NSManaged public var postDate: Date? + /// Raw post date straight from the forums + @NSManaged public var postDateRaw: String + /// An ID assigned by the Forums that presumably uniquely identifies it. @NSManaged public var postID: String diff --git a/AwfulCore/Sources/AwfulCore/Model/PrivateMessage.swift b/AwfulCore/Sources/AwfulCore/Model/PrivateMessage.swift index edfe50353..133121bc8 100644 --- a/AwfulCore/Sources/AwfulCore/Model/PrivateMessage.swift +++ b/AwfulCore/Sources/AwfulCore/Model/PrivateMessage.swift @@ -17,6 +17,7 @@ public class PrivateMessage: AwfulManagedObject, Managed { @NSManaged public var replied: Bool @NSManaged public var seen: Bool @NSManaged public var sentDate: Date? + @NSManaged public var sentDateRaw: String @NSManaged public var subject: String? @NSManaged internal var primitiveFrom: User? /* via sentPrivateMessages */ diff --git a/AwfulCore/Sources/AwfulCore/Model/User.swift b/AwfulCore/Sources/AwfulCore/Model/User.swift index 0ac64e5ec..9d19071d3 100644 --- a/AwfulCore/Sources/AwfulCore/Model/User.swift +++ b/AwfulCore/Sources/AwfulCore/Model/User.swift @@ -15,6 +15,7 @@ public class User: AwfulManagedObject, Managed { @NSManaged var lastModifiedDate: Date @NSManaged public var moderator: Bool @NSManaged public var regdate: Date? + @NSManaged public var regdateRaw: String? @NSManaged public var userID: String @NSManaged public var username: String? @@ -25,28 +26,13 @@ public class User: AwfulManagedObject, Managed { @NSManaged var sentPrivateMessages: Set /* via from */ @NSManaged var threadFilters: Set @NSManaged var threads: Set + @NSManaged public var avatarURLString: String public override var objectKey: UserKey { .init(userID: userID, username: username) } } -extension User { - public var avatarURL: URL? { - return customTitleHTML.flatMap(extractAvatarURL) - } -} - -// TODO: this is very stupid, just handle it during scraping -public func extractAvatarURL(fromCustomTitleHTML customTitleHTML: String) -> URL? { - let document = HTMLDocument(string: customTitleHTML) - let img = document.firstNode(matchingSelector: "div > img:first-child") ?? - document.firstNode(matchingSelector: "body > img:first-child") ?? - document.firstNode(matchingSelector: "a > img:first-child") - - let src = img?["data-cfsrc"] ?? img?["src"] - return src.flatMap { URL(string: $0) } -} @objc(UserKey) public final class UserKey: AwfulObjectKey { diff --git a/AwfulCore/Sources/AwfulCore/Networking/ForumsClient.swift b/AwfulCore/Sources/AwfulCore/Networking/ForumsClient.swift index ec407f658..65c00990b 100644 --- a/AwfulCore/Sources/AwfulCore/Networking/ForumsClient.swift +++ b/AwfulCore/Sources/AwfulCore/Networking/ForumsClient.swift @@ -330,6 +330,29 @@ public final class ForumsClient { .promise.asVoid() } + public func setBookmarkColor(_ thread: AwfulThread, as rating: Int) -> Promise { + guard let mainContext = managedObjectContext else { + return Promise(error: PromiseError.missingManagedObjectContext) + } + + // we can set the bookmark color by sending a "category_id" parameter with an "add" action + let parameters: KeyValuePairs = [ + "threadid": thread.threadID, + "action": "add", + "category_id": "\(rating)", + "json": "1", + ] + + return fetch(method: .post, urlString: "bookmarkthreads.php", parameters: parameters) + .promise + .map(on: mainContext) { response, context in + if thread.bookmarkListPage <= 0 { + thread.bookmarkListPage = 1 + } + try context.save() + } + } + public func markThreadAsSeenUpTo(_ post: Post) -> Promise { guard let threadID = post.thread?.threadID else { assertionFailure("post needs a thread ID") diff --git a/AwfulCore/Sources/AwfulCore/Persistence/AnnouncementPersistence.swift b/AwfulCore/Sources/AwfulCore/Persistence/AnnouncementPersistence.swift index ecf2c1cf6..b316d2985 100644 --- a/AwfulCore/Sources/AwfulCore/Persistence/AnnouncementPersistence.swift +++ b/AwfulCore/Sources/AwfulCore/Persistence/AnnouncementPersistence.swift @@ -38,6 +38,7 @@ extension AnnouncementListScrapeResult { user.customTitleHTML = author.customTitle } if let regdate = author.regdate, regdate != user.regdate { user.regdate = regdate } + if let regdateRaw = author.regdateRaw, regdateRaw != user.regdateRaw { user.regdateRaw = regdateRaw } } announcements.append(existing) @@ -65,10 +66,12 @@ private extension AnnouncementListScrapeResult.Announcement { if let author = author { if author.customTitle != announcement.authorCustomTitleHTML { announcement.authorCustomTitleHTML = author.customTitle } if let regdate = author.regdate, regdate != announcement.authorRegdate { announcement.authorRegdate = regdate } + if let regdateRaw = author.regdateRaw, regdateRaw != announcement.authorRegdateRaw { announcement.authorRegdateRaw = regdateRaw } if !author.username.isEmpty, author.username != announcement.authorUsername { announcement.authorUsername = author.username } } if !body.isEmpty, body != announcement.bodyHTML { announcement.bodyHTML = body } if let date = date, date != announcement.postedDate { announcement.postedDate = date } + if let dateRaw = dateRaw, dateRaw != announcement.postedDateRaw { announcement.postedDateRaw = dateRaw } } } diff --git a/AwfulCore/Sources/AwfulCore/Persistence/AuthorPersistence.swift b/AwfulCore/Sources/AwfulCore/Persistence/AuthorPersistence.swift index 18c63bfb4..25ce86aaf 100644 --- a/AwfulCore/Sources/AwfulCore/Persistence/AuthorPersistence.swift +++ b/AwfulCore/Sources/AwfulCore/Persistence/AuthorPersistence.swift @@ -10,6 +10,8 @@ internal extension AuthorSidebarScrapeResult { if customTitle != user.customTitleHTML { user.customTitleHTML = customTitle } if isModerator != user.moderator { user.moderator = isModerator } if let regdate = regdate, user.regdate != regdate { user.regdate = regdate } + if avatarURLString != user.avatarURLString { user.avatarURLString = avatarURLString } + if let regdateRaw = regdateRaw, user.regdateRaw != regdateRaw { user.regdateRaw = regdateRaw } if userID.rawValue != user.userID { user.userID = userID.rawValue } if !username.isEmpty, username != user.username { user.username = username } diff --git a/AwfulCore/Sources/AwfulCore/Persistence/IndexPersistence.swift b/AwfulCore/Sources/AwfulCore/Persistence/IndexPersistence.swift index 67473ad9c..18f963b22 100644 --- a/AwfulCore/Sources/AwfulCore/Persistence/IndexPersistence.swift +++ b/AwfulCore/Sources/AwfulCore/Persistence/IndexPersistence.swift @@ -150,6 +150,9 @@ extension IndexScrapeResult.ScrapedProfile { if let regdate = regdate, user.regdate != regdate { user.regdate = regdate } + if let regdateRaw = regdateRaw, user.regdateRaw != regdateRaw { + user.regdateRaw = regdateRaw + } if user.username != username { user.username = username } diff --git a/AwfulCore/Sources/AwfulCore/Persistence/PostPersistence.swift b/AwfulCore/Sources/AwfulCore/Persistence/PostPersistence.swift index b368b7521..3eb5ad50f 100644 --- a/AwfulCore/Sources/AwfulCore/Persistence/PostPersistence.swift +++ b/AwfulCore/Sources/AwfulCore/Persistence/PostPersistence.swift @@ -17,10 +17,11 @@ internal extension PostScrapeResult { if isEditable != post.editable { post.editable = isEditable } if isIgnored != post.ignored { post.ignored = isIgnored } if let postDate = postDate, postDate != post.postDate { post.postDate = postDate } + if let postDateRaw = postDateRaw, postDateRaw != post.postDateRaw { post.postDateRaw = postDateRaw } } } -internal extension PostsPageScrapeResult { +public extension PostsPageScrapeResult { func upsert(into context: NSManagedObjectContext) throws -> [Post] { let forum: Forum? = { if @@ -191,6 +192,8 @@ internal extension ShowPostScrapeResult { matching: .init("\(\AwfulThread.threadID) = \(id.rawValue)"), configure: { $0.threadID = id.rawValue }) + if !threadTitle.isEmpty, threadTitle != thread.title { thread.title = threadTitle } + return thread } diff --git a/AwfulCore/Sources/AwfulCore/Persistence/PrivateMessagePersistence.swift b/AwfulCore/Sources/AwfulCore/Persistence/PrivateMessagePersistence.swift index 4f848b126..c0ae5fb15 100644 --- a/AwfulCore/Sources/AwfulCore/Persistence/PrivateMessagePersistence.swift +++ b/AwfulCore/Sources/AwfulCore/Persistence/PrivateMessagePersistence.swift @@ -73,6 +73,7 @@ private extension PrivateMessageFolderScrapeResult.Message { if id.rawValue != message.messageID { message.messageID = id.rawValue } if !senderUsername.isEmpty, senderUsername != message.rawFromUsername { message.rawFromUsername = senderUsername } if let sentDate = sentDate, sentDate != message.sentDate { message.sentDate = sentDate } + if let sentDateRaw = sentDateRaw, sentDateRaw != message.sentDateRaw { message.sentDateRaw = sentDateRaw } if !subject.isEmpty, subject != message.subject { message.subject = subject } if wasForwarded != message.forwarded { message.forwarded = wasForwarded } if wasRepliedTo != message.replied { message.replied = wasRepliedTo } @@ -86,6 +87,7 @@ internal extension PrivateMessageScrapeResult { if hasBeenSeen != message.seen { message.seen = hasBeenSeen } if privateMessageID.rawValue != message.messageID { message.messageID = privateMessageID.rawValue } if let sentDate = sentDate, sentDate != message.sentDate { message.sentDate = sentDate } + if let sentDateRaw = sentDateRaw, sentDateRaw != message.sentDateRaw { message.sentDateRaw = sentDateRaw } if subject != message.subject { message.subject = subject } if wasForwarded != message.forwarded { message.forwarded = wasForwarded } if wasRepliedTo != message.replied { message.replied = wasRepliedTo } diff --git a/AwfulCore/Sources/AwfulCore/Scraping/AnnouncementListScrapeResult.swift b/AwfulCore/Sources/AwfulCore/Scraping/AnnouncementListScrapeResult.swift index aba2cf8ec..676788e0a 100644 --- a/AwfulCore/Sources/AwfulCore/Scraping/AnnouncementListScrapeResult.swift +++ b/AwfulCore/Sources/AwfulCore/Scraping/AnnouncementListScrapeResult.swift @@ -12,11 +12,13 @@ public struct AnnouncementListScrapeResult: ScrapeResult { let author: Author? let body: RawHTML let date: Date? + let dateRaw: String? } public struct Author { public let customTitle: RawHTML public let regdate: Date? + public let regdateRaw: String? public let username: String } @@ -41,24 +43,29 @@ private extension AnnouncementListScrapeResult.Announcement { .map(AnnouncementListScrapeResult.Author.init) body = try bodyRow.requiredNode(matchingSelector: "td.postbody").innerHTML - - date = dateRow.firstNode(matchingSelector: "td.postdate") + + dateRaw = dateRow.firstNode(matchingSelector: "td.postdate") .map { $0.textContent } + + date = dateRaw .flatMap(dateFormatter.date) } } private extension AnnouncementListScrapeResult.Author { init(_ html: HTMLNode) throws { - customTitle = scrapeCustomTitle(html) ?? "" - - regdate = html + customTitle = scrapeCustomTitle(html, "") ?? "" + + regdateRaw = html .firstNode(matchingSelector: "dd.registered") .map {$0.textContent } + + regdate = regdateRaw .flatMap(RegdateFormatter.date(from:)) username = try html.requiredNode(matchingSelector: "dt.author").textContent } } -private let dateFormatter = DateFormatter(scraping: "MMM d, yyyy") +private let dateFormatter = DateFormatter(scraping: LocalizedString("announcement-date-template")) + diff --git a/AwfulCore/Sources/AwfulCore/Scraping/AuthorSidebarScrapeResult.swift b/AwfulCore/Sources/AwfulCore/Scraping/AuthorSidebarScrapeResult.swift index b451fd293..408fbec77 100644 --- a/AwfulCore/Sources/AwfulCore/Scraping/AuthorSidebarScrapeResult.swift +++ b/AwfulCore/Sources/AwfulCore/Scraping/AuthorSidebarScrapeResult.swift @@ -8,10 +8,12 @@ import HTMLReader /// Scrapes the sidebar with author info that appears alongside posts, private messages, and user profiles. public struct AuthorSidebarScrapeResult: ScrapeResult { public let additionalAuthorClasses: Set + public let avatarURLString: String public let customTitle: RawHTML public let isAdministrator: Bool public let isModerator: Bool public let regdate: Date? + public let regdateRaw: String? public let userID: UserID public let username: String @@ -57,8 +59,14 @@ public struct AuthorSidebarScrapeResult: ScrapeResult { .firstNode(matchingSelector: "dd.registered") .map { $0.textContent } .flatMap(RegdateFormatter.date(from:)) + + regdateRaw = html + .firstNode(matchingSelector: "dd.registered")?.textContent ?? "" - customTitle = scrapeCustomTitle(html) ?? "" + avatarURLString = scrapeAvatarURLString(html) + + customTitle = scrapeCustomTitle(html, avatarURLString) ?? "" + } } diff --git a/AwfulCore/Sources/AwfulCore/Scraping/Helpers.swift b/AwfulCore/Sources/AwfulCore/Scraping/Helpers.swift index b8537141d..be32732df 100644 --- a/AwfulCore/Sources/AwfulCore/Scraping/Helpers.swift +++ b/AwfulCore/Sources/AwfulCore/Scraping/Helpers.swift @@ -92,17 +92,25 @@ extension Scanner { } } +func scrapeAvatarURLString(_ html: HTMLNode) -> String { + guard + let avatarNode = html.firstNode(matchingSelector: "dl.userinfo dd.title img:first-child") else { return "" } -func scrapeCustomTitle(_ html: HTMLNode) -> RawHTML? { - func isSuperfluousLineBreak(_ node: HTMLNode) -> Bool { - guard let element = node as? HTMLElement else { return false } - return element.tagName == "br" && element.hasClass("pb") - } + let src = avatarNode["data-cfsrc"] ?? avatarNode["src"] + + return src ?? "" +} +func scrapeCustomTitle(_ html: HTMLNode, _ avatarURLString: String) -> RawHTML? { + for br in html.nodes(matchingSelector: "dl.userinfo dd.title img:first-child ~ br") { + br.removeFromParentNode() + } + for img in html.nodes(matchingSelector: "dl.userinfo dd.title img:first-child") { + img.removeFromParentNode() + } return html .firstNode(matchingSelector: "dl.userinfo dd.title") .flatMap { $0.children.array as? [HTMLNode] }? - .filter { !isSuperfluousLineBreak($0) } .map { $0.serializedFragment } .joined() } diff --git a/AwfulCore/Sources/AwfulCore/Scraping/PostScrapeResult.swift b/AwfulCore/Sources/AwfulCore/Scraping/PostScrapeResult.swift index 9d7f4c3d4..1cd9e0724 100644 --- a/AwfulCore/Sources/AwfulCore/Scraping/PostScrapeResult.swift +++ b/AwfulCore/Sources/AwfulCore/Scraping/PostScrapeResult.swift @@ -19,6 +19,7 @@ public struct PostScrapeResult { public let isEditable: Bool public let isIgnored: Bool public let postDate: Date? + public let postDateRaw: String? public init(_ html: HTMLNode, url: URL?) throws { let table = try html.requiredNode(matchingSelector: "table.post[id]") @@ -60,10 +61,12 @@ public struct PostScrapeResult { isIgnored = table.hasClass("ignored") - postDate = table + postDateRaw = table .firstNode(matchingSelector: "td.postdate") .flatMap { $0.children.lastObject as? HTMLNode } - .map { $0.textContent.trimmingCharacters(in: .whitespacesAndNewlines) } + .map { $0.textContent.trimmingCharacters(in: .whitespacesAndNewlines) } ?? "" + + postDate = postDateRaw .flatMap(PostDateFormatter.date(from:)) } } diff --git a/AwfulCore/Sources/AwfulCore/Scraping/PrivateMessageFolderScrapeResult.swift b/AwfulCore/Sources/AwfulCore/Scraping/PrivateMessageFolderScrapeResult.swift index d2981042f..23e96ae89 100644 --- a/AwfulCore/Sources/AwfulCore/Scraping/PrivateMessageFolderScrapeResult.swift +++ b/AwfulCore/Sources/AwfulCore/Scraping/PrivateMessageFolderScrapeResult.swift @@ -23,6 +23,7 @@ public struct PrivateMessageFolderScrapeResult: ScrapeResult { public let id: PrivateMessageID public let senderUsername: String public let sentDate: Date? + public let sentDateRaw: String? public let subject: String public let wasForwarded: Bool public let wasRepliedTo: Bool @@ -90,11 +91,13 @@ private extension PrivateMessageFolderScrapeResult.Message { .flatMap { URL(string: $0) } senderUsername = tr.firstNode(matchingSelector: "td.sender")?.textContent ?? "" - - sentDate = tr.firstNode(matchingSelector: "td.date") + + sentDateRaw = tr.firstNode(matchingSelector: "td.date") .map { $0.textContent } - .flatMap { twelveHourSentDateFormatter.date(from: $0) - ?? twentyFourHourSentDateFormatter.date(from: $0) } + + sentDate = tr.firstNode(matchingSelector: "td.date") + .flatMap { twelveHourSentDateFormatter.date(from: $0.textContent) + ?? twentyFourHourSentDateFormatter.date(from: $0.textContent) } let statusImageSource = tr.firstNode(matchingSelector: "td.status img[src]")?["src"] hasBeenSeen = !(statusImageSource?.contains("newpm") ?? false) diff --git a/AwfulCore/Sources/AwfulCore/Scraping/PrivateMessageScrapeResult.swift b/AwfulCore/Sources/AwfulCore/Scraping/PrivateMessageScrapeResult.swift index 9d04064d2..e066609a3 100644 --- a/AwfulCore/Sources/AwfulCore/Scraping/PrivateMessageScrapeResult.swift +++ b/AwfulCore/Sources/AwfulCore/Scraping/PrivateMessageScrapeResult.swift @@ -11,6 +11,7 @@ public struct PrivateMessageScrapeResult: ScrapeResult { public let hasBeenSeen: Bool public let privateMessageID: PrivateMessageID public let sentDate: Date? + public let sentDateRaw: String? public let subject: String public let wasForwarded: Bool public let wasRepliedTo: Bool @@ -49,6 +50,10 @@ public struct PrivateMessageScrapeResult: ScrapeResult { .flatMap { (cell: HTMLElement) -> HTMLNode? in cell.children.lastObject as? HTMLNode } .map { $0.textContent } .flatMap(PostDateFormatter.date(from:)) + + sentDateRaw = postDateCell + .flatMap { (cell: HTMLElement) -> HTMLNode? in cell.children.lastObject as? HTMLNode } + .map { $0.textContent } } body = html.firstNode(matchingSelector: "td.postbody") diff --git a/AwfulScraping/Sources/AwfulScraping/IndexScrapeResult.swift b/AwfulScraping/Sources/AwfulScraping/IndexScrapeResult.swift index 6aa5a4127..d2d5a2395 100644 --- a/AwfulScraping/Sources/AwfulScraping/IndexScrapeResult.swift +++ b/AwfulScraping/Sources/AwfulScraping/IndexScrapeResult.swift @@ -69,6 +69,7 @@ public struct IndexScrapeResult: Decodable { public let postCount: Int? public let postsPerDay: Double? public let regdate: Date? + public let regdateRaw: String? public let role: String? @IntOrString public private(set) var userID: String @IntOrString public private(set) var username: String @@ -90,6 +91,7 @@ public struct IndexScrapeResult: Decodable { case postCount = "posts" case postsPerDay = "postsperday" case regdate = "joindate" + case regdateRaw = "joindateRaw" case role = "role" case userID = "userid" case username = "username" diff --git a/Xcode/Awful.xcodeproj/project.pbxproj b/Xcode/Awful.xcodeproj/project.pbxproj index a6012dcd8..fe5e58855 100644 --- a/Xcode/Awful.xcodeproj/project.pbxproj +++ b/Xcode/Awful.xcodeproj/project.pbxproj @@ -58,8 +58,6 @@ 1C16FC141CCEE60C00C88BD1 /* MessageComposeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C16FC131CCEE60C00C88BD1 /* MessageComposeViewController.swift */; }; 1C16FC181CD1848400C88BD1 /* ComposeTextViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C16FC171CD1848400C88BD1 /* ComposeTextViewController.swift */; }; 1C16FC1A1CD42EB300C88BD1 /* PostPreviewViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C16FC191CD42EB300C88BD1 /* PostPreviewViewController.swift */; }; - 1C1BD0B32320C98400805208 /* platinum-member-white@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1C1BD0B12320C98400805208 /* platinum-member-white@2x.png */; }; - 1C1BD0B42320C98400805208 /* platinum-member-white@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1C1BD0B22320C98400805208 /* platinum-member-white@3x.png */; }; 1C1BF9C219AB9E6200E8FBBC /* InAppActionSheet.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1C1BF9C119AB9E6200E8FBBC /* InAppActionSheet.xib */; }; 1C1F8A2D2664BDF4003EA62C /* Smilies in Frameworks */ = {isa = PBXBuildFile; productRef = 1C1F8A2C2664BDF4003EA62C /* Smilies */; }; 1C23C7051A7AB8940089BD5C /* SlopButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C23C7041A7AB8940089BD5C /* SlopButton.swift */; }; @@ -234,20 +232,34 @@ 1CF6786B201E751D009A9640 /* MessageListDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CF6786A201E751D009A9640 /* MessageListDataSource.swift */; }; 1CF6786E201E8F45009A9640 /* MessageListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CF6786D201E8F45009A9640 /* MessageListCell.swift */; }; 1CFC996A1BD3F402001180A7 /* PostsPageRefreshArrowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CFC99691BD3F402001180A7 /* PostsPageRefreshArrowView.swift */; }; + 2D0BB35B27F443A700242D2A /* Lotties2 in Resources */ = {isa = PBXBuildFile; fileRef = 2D0BB35A27F443A700242D2A /* Lotties2 */; }; + 2D0BB36D27F4525600242D2A /* Lottie in Frameworks */ = {isa = PBXBuildFile; productRef = 2D0BB36C27F4525600242D2A /* Lottie */; }; 2D0BB37427F453B600242D2A /* ChidoriMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D0BB37027F453B600242D2A /* ChidoriMenu.swift */; }; 2D0BB37527F453B600242D2A /* ChidoriPresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D0BB37127F453B600242D2A /* ChidoriPresentationController.swift */; }; 2D0BB37627F453B600242D2A /* ChidoriMenuTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D0BB37227F453B600242D2A /* ChidoriMenuTableViewCell.swift */; }; 2D0BB37727F453B600242D2A /* ChidoriAnimationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D0BB37327F453B600242D2A /* ChidoriAnimationController.swift */; }; + 2D1B3BF5281157830022B1D2 /* NigglyRefreshLottieView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D1B3BF4281157830022B1D2 /* NigglyRefreshLottieView.swift */; }; + 2D327DD627F468CE00D21AB0 /* BookmarkColorPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D327DD527F468CE00D21AB0 /* BookmarkColorPicker.swift */; }; + 2D327DDD27F46DE600D21AB0 /* platinum-member.png in Resources */ = {isa = PBXBuildFile; fileRef = 2D327DDC27F46DE600D21AB0 /* platinum-member.png */; }; + 2D327DDF27F46DFD00D21AB0 /* ghost.json in Resources */ = {isa = PBXBuildFile; fileRef = 2D327DDE27F46DFD00D21AB0 /* ghost.json */; }; + 2D327DEB27F4713300D21AB0 /* GhostAnim.json in Resources */ = {isa = PBXBuildFile; fileRef = 2D327DE127F4713200D21AB0 /* GhostAnim.json */; }; + 2D327DEC27F4713300D21AB0 /* getout_vP_120.json in Resources */ = {isa = PBXBuildFile; fileRef = 2D327DE227F4713200D21AB0 /* getout_vP_120.json */; }; + 2D327DED27F4713300D21AB0 /* getout_vZ_120.json in Resources */ = {isa = PBXBuildFile; fileRef = 2D327DE327F4713200D21AB0 /* getout_vZ_120.json */; }; + 2D327DEE27F4713300D21AB0 /* getout_vP3_120.json in Resources */ = {isa = PBXBuildFile; fileRef = 2D327DE427F4713200D21AB0 /* getout_vP3_120.json */; }; + 2D327DEF27F4713300D21AB0 /* MainThrobberX120.json in Resources */ = {isa = PBXBuildFile; fileRef = 2D327DE527F4713200D21AB0 /* MainThrobberX120.json */; }; + 2D327DF027F4713300D21AB0 /* niggly120.json in Resources */ = {isa = PBXBuildFile; fileRef = 2D327DE627F4713200D21AB0 /* niggly120.json */; }; + 2D327DF127F4713300D21AB0 /* TootX120.json in Resources */ = {isa = PBXBuildFile; fileRef = 2D327DE727F4713200D21AB0 /* TootX120.json */; }; + 2D327DF227F4713300D21AB0 /* getout_vP2_120.json in Resources */ = {isa = PBXBuildFile; fileRef = 2D327DE827F4713300D21AB0 /* getout_vP2_120.json */; }; + 2D327DF327F4713300D21AB0 /* niggly3x120.json in Resources */ = {isa = PBXBuildFile; fileRef = 2D327DE927F4713300D21AB0 /* niggly3x120.json */; }; + 2D327DF427F4713300D21AB0 /* getout_v3_120.json in Resources */ = {isa = PBXBuildFile; fileRef = 2D327DEA27F4713300D21AB0 /* getout_v3_120.json */; }; 2DD8209C25DDD9BF0015A90D /* CopyImageActivity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DD8209B25DDD9BF0015A90D /* CopyImageActivity.swift */; }; + 2DE12C16284C9719007FD9A4 /* posts-view-spankykong-oled-dark.css in Resources */ = {isa = PBXBuildFile; fileRef = 2DE12C14284C9719007FD9A4 /* posts-view-spankykong-oled-dark.css */; }; + 2DE12C17284C9719007FD9A4 /* posts-view-spankykong-light.css in Resources */ = {isa = PBXBuildFile; fileRef = 2DE12C15284C9719007FD9A4 /* posts-view-spankykong-light.css */; }; 7B0EA0B81D96B17B008B0A90 /* SettingsSliderCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B0EA0B71D96B17B008B0A90 /* SettingsSliderCell.swift */; }; 7B0EA0BA1D96BF82008B0A90 /* SettingsSliderCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7B0EA0B91D96BF82008B0A90 /* SettingsSliderCell.xib */; }; 7B1FF1291F76C3A3000B64DA /* AppIconPickerCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B1FF1271F76C3A3000B64DA /* AppIconPickerCell.swift */; }; 7B1FF12A1F76C3A3000B64DA /* AppIconPickerCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7B1FF1281F76C3A3000B64DA /* AppIconPickerCell.xib */; }; 7B1FF12C1F76E690000B64DA /* AppIconPickerCollectionViewLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B1FF12B1F76E690000B64DA /* AppIconPickerCollectionViewLayout.swift */; }; - 7B502E261F2513B400B1B305 /* post-dots@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7B502E251F25139600B1B305 /* post-dots@2x.png */; }; - 7B502E271F2513B400B1B305 /* post-dots@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7B502E241F25139600B1B305 /* post-dots@3x.png */; }; - 7B502E2C1F25140F00B1B305 /* platinum-member@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7B502E2A1F25140200B1B305 /* platinum-member@2x.png */; }; - 7B502E2D1F25140F00B1B305 /* platinum-member@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7B502E2B1F25140200B1B305 /* platinum-member@3x.png */; }; 7B82D6671F7809E3002291C7 /* AppIconCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B82D6651F7809E3002291C7 /* AppIconCell.swift */; }; 7B82D6681F7809E3002291C7 /* AppIconCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7B82D6661F7809E3002291C7 /* AppIconCell.xib */; }; 83410EF219A582B8002CD019 /* DateFormatters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83410EF119A582B8002CD019 /* DateFormatters.swift */; }; @@ -414,8 +426,6 @@ 1C16FC131CCEE60C00C88BD1 /* MessageComposeViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageComposeViewController.swift; sourceTree = ""; }; 1C16FC171CD1848400C88BD1 /* ComposeTextViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ComposeTextViewController.swift; sourceTree = ""; }; 1C16FC191CD42EB300C88BD1 /* PostPreviewViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PostPreviewViewController.swift; sourceTree = ""; }; - 1C1BD0B12320C98400805208 /* platinum-member-white@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "platinum-member-white@2x.png"; sourceTree = ""; }; - 1C1BD0B22320C98400805208 /* platinum-member-white@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "platinum-member-white@3x.png"; sourceTree = ""; }; 1C1BF9C119AB9E6200E8FBBC /* InAppActionSheet.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = InAppActionSheet.xib; sourceTree = ""; }; 1C23C7041A7AB8940089BD5C /* SlopButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SlopButton.swift; sourceTree = ""; }; 1C2434D81A4190F300DC8EA4 /* DraftStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DraftStore.swift; sourceTree = ""; }; @@ -608,11 +618,28 @@ 253A5104248FE92D0D619212 /* Pods-Awful-AwfulTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Awful-AwfulTests.release.xcconfig"; path = "../Pods/Target Support Files/Pods-Awful-AwfulTests/Pods-Awful-AwfulTests.release.xcconfig"; sourceTree = ""; }; 27F783E9D241CF6339BFCF0B /* Pods_CoreTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CoreTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 2D0BB35827F440AF00242D2A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 2D0BB35A27F443A700242D2A /* Lotties2 */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Lotties2; sourceTree = ""; }; 2D0BB37027F453B600242D2A /* ChidoriMenu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChidoriMenu.swift; sourceTree = ""; }; 2D0BB37127F453B600242D2A /* ChidoriPresentationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChidoriPresentationController.swift; sourceTree = ""; }; 2D0BB37227F453B600242D2A /* ChidoriMenuTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChidoriMenuTableViewCell.swift; sourceTree = ""; }; 2D0BB37327F453B600242D2A /* ChidoriAnimationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChidoriAnimationController.swift; sourceTree = ""; }; + 2D1B3BF4281157830022B1D2 /* NigglyRefreshLottieView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NigglyRefreshLottieView.swift; sourceTree = ""; }; + 2D327DD527F468CE00D21AB0 /* BookmarkColorPicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookmarkColorPicker.swift; sourceTree = ""; }; + 2D327DDC27F46DE600D21AB0 /* platinum-member.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "platinum-member.png"; sourceTree = ""; }; + 2D327DDE27F46DFD00D21AB0 /* ghost.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = ghost.json; sourceTree = ""; }; + 2D327DE127F4713200D21AB0 /* GhostAnim.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = GhostAnim.json; sourceTree = ""; }; + 2D327DE227F4713200D21AB0 /* getout_vP_120.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = getout_vP_120.json; sourceTree = ""; }; + 2D327DE327F4713200D21AB0 /* getout_vZ_120.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = getout_vZ_120.json; sourceTree = ""; }; + 2D327DE427F4713200D21AB0 /* getout_vP3_120.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = getout_vP3_120.json; sourceTree = ""; }; + 2D327DE527F4713200D21AB0 /* MainThrobberX120.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = MainThrobberX120.json; sourceTree = ""; }; + 2D327DE627F4713200D21AB0 /* niggly120.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = niggly120.json; sourceTree = ""; }; + 2D327DE727F4713200D21AB0 /* TootX120.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = TootX120.json; sourceTree = ""; }; + 2D327DE827F4713300D21AB0 /* getout_vP2_120.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = getout_vP2_120.json; sourceTree = ""; }; + 2D327DE927F4713300D21AB0 /* niggly3x120.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = niggly3x120.json; sourceTree = ""; }; + 2D327DEA27F4713300D21AB0 /* getout_v3_120.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = getout_v3_120.json; sourceTree = ""; }; 2DD8209B25DDD9BF0015A90D /* CopyImageActivity.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CopyImageActivity.swift; sourceTree = ""; }; + 2DE12C14284C9719007FD9A4 /* posts-view-spankykong-oled-dark.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = "posts-view-spankykong-oled-dark.css"; sourceTree = ""; }; + 2DE12C15284C9719007FD9A4 /* posts-view-spankykong-light.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = "posts-view-spankykong-light.css"; sourceTree = ""; }; 3DEC84CD16F06A21949AA42D /* Pods-Awful.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Awful.debug.xcconfig"; path = "../Pods/Target Support Files/Pods-Awful/Pods-Awful.debug.xcconfig"; sourceTree = ""; }; 68A40BB24850D9A942D1E270 /* Pods_Awful.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Awful.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 74067F2D002D797BC328EF39 /* Pods_AwfulTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AwfulTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -621,10 +648,6 @@ 7B1FF1271F76C3A3000B64DA /* AppIconPickerCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppIconPickerCell.swift; sourceTree = ""; }; 7B1FF1281F76C3A3000B64DA /* AppIconPickerCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AppIconPickerCell.xib; sourceTree = ""; }; 7B1FF12B1F76E690000B64DA /* AppIconPickerCollectionViewLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppIconPickerCollectionViewLayout.swift; sourceTree = ""; }; - 7B502E241F25139600B1B305 /* post-dots@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "post-dots@3x.png"; sourceTree = ""; }; - 7B502E251F25139600B1B305 /* post-dots@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "post-dots@2x.png"; sourceTree = ""; }; - 7B502E2A1F25140200B1B305 /* platinum-member@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "platinum-member@2x.png"; sourceTree = ""; }; - 7B502E2B1F25140200B1B305 /* platinum-member@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "platinum-member@3x.png"; sourceTree = ""; }; 7B82D6651F7809E3002291C7 /* AppIconCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppIconCell.swift; sourceTree = ""; }; 7B82D6661F7809E3002291C7 /* AppIconCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AppIconCell.xib; sourceTree = ""; }; 83410EF119A582B8002CD019 /* DateFormatters.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DateFormatters.swift; sourceTree = ""; }; @@ -715,6 +738,7 @@ 1CD72E79265CA0D500FF3BF4 /* AwfulCore in Frameworks */, 1C5C2B8D22D195BF00EA5A80 /* ImgurAnonymousAPI in Frameworks */, 1C725A8926E71C6D009713DC /* MRProgress in Frameworks */, + 2D0BB36D27F4525600242D2A /* Lottie in Frameworks */, D5035BC16B0E9C1817003AF2 /* Pods_Awful.framework in Frameworks */, 1C47122A2664CB8000E5AA74 /* Smilies in Frameworks */, 1C6BDD24265CB31E005475CE /* Logger in Frameworks */, @@ -1264,6 +1288,7 @@ 1CD33EDB16F397FC0059587E /* Posts View Theming */ = { isa = PBXGroup; children = ( + 2D327DDC27F46DE600D21AB0 /* platinum-member.png */, 8FC356EE2132F5C1006EE1A5 /* amberpos-ins.gif */, 8C8FA47719AD7CA300B67AAA /* award.png */, 8C8FA47819AD7CA300B67AAA /* diamond-icon.png */, @@ -1278,13 +1303,7 @@ 8C483FC116852E5D00D02482 /* macinyos-loading@2x.png */, 8CEBABEC16800A9300680935 /* macinyos-postactions-bg.png */, 8CEBABEA168000B800680935 /* macinyos-wallpaper@2x.png */, - 1C1BD0B12320C98400805208 /* platinum-member-white@2x.png */, - 1C1BD0B22320C98400805208 /* platinum-member-white@3x.png */, - 7B502E2A1F25140200B1B305 /* platinum-member@2x.png */, - 7B502E2B1F25140200B1B305 /* platinum-member@3x.png */, 1C397CA81BCC473A00CA7FD5 /* post-dots.png */, - 7B502E251F25139600B1B305 /* post-dots@2x.png */, - 7B502E241F25139600B1B305 /* post-dots@3x.png */, 1C29BD522251208200E1217A /* quote-post.png */, 8C8FA47C19AD7CA300B67AAA /* redpill.png */, 8CEB405B16877E1600BFA9A8 /* winpos95-heading-left-seen.png */, @@ -1292,6 +1311,7 @@ 8C299D7016877AE9001B9D96 /* winpos95-heading-right.png */, 8CEB405816877D2A00BFA9A8 /* winpos95-heading-seen.png */, 8C299D7116877AE9001B9D96 /* winpos95-heading.png */, + 2D327DDE27F46DFD00D21AB0 /* ghost.json */, ); name = "Posts View Theming"; path = Theming; @@ -1312,6 +1332,8 @@ 1C5B9C3417F20BB800D4981D /* posts-view-gas-chamber.css */, 1C5B9C3517F20BB800D4981D /* posts-view-macinyos.css */, 1C29BD502251203400E1217A /* posts-view-oled-dark.css */, + 2DE12C14284C9719007FD9A4 /* posts-view-spankykong-oled-dark.css */, + 2DE12C15284C9719007FD9A4 /* posts-view-spankykong-light.css */, 1C5B9C3617F20BB800D4981D /* posts-view-winpos95.css */, 1C5B9C3717F20BB800D4981D /* posts-view-yospos.css */, 1C40E5B11640FC2C004AAFA6 /* posts-view.css */, @@ -1352,6 +1374,8 @@ 1C23C7041A7AB8940089BD5C /* SlopButton.swift */, 1C353C061E416FE200CCBA51 /* SpriteSheetView.swift */, 1C16FBBF1CB950BE00C88BD1 /* ThreadTagButton.swift */, + 2D327DD527F468CE00D21AB0 /* BookmarkColorPicker.swift */, + 2D1B3BF4281157830022B1D2 /* NigglyRefreshLottieView.swift */, ); path = Views; sourceTree = ""; @@ -1387,9 +1411,28 @@ path = ..; sourceTree = ""; }; + 2D327DE027F4710E00D21AB0 /* Lotties */ = { + isa = PBXGroup; + children = ( + 2D327DEA27F4713300D21AB0 /* getout_v3_120.json */, + 2D327DE227F4713200D21AB0 /* getout_vP_120.json */, + 2D327DE827F4713300D21AB0 /* getout_vP2_120.json */, + 2D327DE427F4713200D21AB0 /* getout_vP3_120.json */, + 2D327DE327F4713200D21AB0 /* getout_vZ_120.json */, + 2D327DE127F4713200D21AB0 /* GhostAnim.json */, + 2D327DE527F4713200D21AB0 /* MainThrobberX120.json */, + 2D327DE927F4713300D21AB0 /* niggly3x120.json */, + 2D327DE627F4713200D21AB0 /* niggly120.json */, + 2D327DE727F4713200D21AB0 /* TootX120.json */, + ); + path = Lotties; + sourceTree = ""; + }; 8CCD498115B497A700E5893B /* Resources */ = { isa = PBXGroup; children = ( + 2D327DE027F4710E00D21AB0 /* Lotties */, + 2D0BB35A27F443A700242D2A /* Lotties2 */, 2D0BB35827F440AF00242D2A /* Assets.xcassets */, 8CCD503B15B783FC00E5893B /* Images */, 8CCD498215B497A700E5893B /* Info.plist */, @@ -1560,6 +1603,7 @@ 1C4712292664CB8000E5AA74 /* Smilies */, 1C725A8826E71C6D009713DC /* MRProgress */, 1C6B2A99272F992E00671F0C /* Nuke */, + 2D0BB36C27F4525600242D2A /* Lottie */, ); productName = Awful; productReference = 1D6058910D05DD3D006BFB54 /* AwfulDebug.app */; @@ -1589,7 +1633,6 @@ }; 1C66A9EE19DD3939001B9A41 = { CreatedOnToolsVersion = 6.0.1; - DevelopmentTeam = 9RR6L9X39A; LastSwiftMigration = 0900; ProvisioningStyle = Automatic; SystemCapabilities = { @@ -1606,7 +1649,6 @@ TestTargetID = 1D6058900D05DD3D006BFB54; }; 1D6058900D05DD3D006BFB54 = { - DevelopmentTeam = 9RR6L9X39A; LastSwiftMigration = 1000; ProvisioningStyle = Automatic; SystemCapabilities = { @@ -1632,6 +1674,7 @@ 1C453F262338457A007AC6CD /* XCRemoteSwiftPackageReference "Stencil" */, 1CD72E65265C7FD600FF3BF4 /* XCRemoteSwiftPackageReference "FLAnimatedImage" */, 1C6B2A98272F992E00671F0C /* XCRemoteSwiftPackageReference "Nuke" */, + 2D0BB36B27F4525600242D2A /* XCRemoteSwiftPackageReference "lottie-ios" */, ); productRefGroup = 19C28FACFE9D520D11CA2CBB /* Products */; projectDirPath = ""; @@ -1695,20 +1738,17 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 7B502E2C1F25140F00B1B305 /* platinum-member@2x.png in Resources */, - 7B502E2D1F25140F00B1B305 /* platinum-member@3x.png in Resources */, - 7B502E261F2513B400B1B305 /* post-dots@2x.png in Resources */, - 7B502E271F2513B400B1B305 /* post-dots@3x.png in Resources */, 8CCD500615B497A900E5893B /* Settings.plist in Resources */, 1C273AA021C1DC25002875A9 /* RenderView-AllFrames.js in Resources */, 1C5B9C3D17F20BB800D4981D /* posts-view-yospos.css in Resources */, 8C8FA48119AD7CA300B67AAA /* image-coder.png in Resources */, 8C8FA47E19AD7CA300B67AAA /* award.png in Resources */, + 2D327DEE27F4713300D21AB0 /* getout_vP3_120.json in Resources */, 1C0AFAE31ECA96E6002D4003 /* posts-view-alternate.css in Resources */, - 1C1BD0B32320C98400805208 /* platinum-member-white@2x.png in Resources */, 1C5B9C3A17F20BB800D4981D /* posts-view-gas-chamber.css in Resources */, 1C1BF9C219AB9E6200E8FBBC /* InAppActionSheet.xib in Resources */, 1C397CA91BCC473A00CA7FD5 /* post-dots.png in Resources */, + 2D327DEC27F4713300D21AB0 /* getout_vP_120.json in Resources */, 1C5B9C3B17F20BB800D4981D /* posts-view-macinyos.css in Resources */, 1C0AFAE21ECA96E6002D4003 /* posts-view-alternate-dark.css in Resources */, 8CE8F2E21BBB754C00E81544 /* play-button.png in Resources */, @@ -1716,6 +1756,7 @@ 1C5B9C3817F20BB800D4981D /* posts-view-amberpos.css in Resources */, 1C5B9C3F17F21BFC00D4981D /* posts-view-dark.css in Resources */, 8C8FA48319AD7CA300B67AAA /* redpill.png in Resources */, + 2DE12C16284C9719007FD9A4 /* posts-view-spankykong-oled-dark.css in Resources */, 1C40E5B21640FC2D004AAFA6 /* posts-view.css in Resources */, 1C8F68012221BE7C007E61ED /* Post.html.stencil in Resources */, 1C8F68032221C545007E61ED /* PostsView.html.stencil in Resources */, @@ -1723,21 +1764,26 @@ 1C5B9C3917F20BB800D4981D /* posts-view-fyad.css in Resources */, 1C40D4AA1A85F57400D9F793 /* Acknowledgements.html.stencil in Resources */, 8C8FA47F19AD7CA300B67AAA /* diamond-icon.png in Resources */, + 2DE12C17284C9719007FD9A4 /* posts-view-spankykong-light.css in Resources */, 8CEBABEB168000B800680935 /* macinyos-wallpaper@2x.png in Resources */, 8CEBABED16800A9300680935 /* macinyos-postactions-bg.png in Resources */, 8CF740EF1681376600C219E4 /* macinyos-heading.png in Resources */, - 1C1BD0B42320C98400805208 /* platinum-member-white@3x.png in Resources */, 8CE8F2E31BBB754C00E81544 /* stop-button.png in Resources */, 8C0F4F561682CCFA00E25D7E /* macinyos-heading-center.png in Resources */, + 2D327DF127F4713300D21AB0 /* TootX120.json in Resources */, 7B1FF12A1F76C3A3000B64DA /* AppIconPickerCell.xib in Resources */, 8C0F4F571682CCFA00E25D7E /* macinyos-heading-right.png in Resources */, 1C8F67F822210DED007E61ED /* Profile.html.stencil in Resources */, 1CE2B76B19C2374C00FDC33E /* Login.storyboard in Resources */, + 2D327DF427F4713300D21AB0 /* getout_v3_120.json in Resources */, + 2D327DF227F4713300D21AB0 /* getout_vP2_120.json in Resources */, 1CC10E3B1DD9558B00E0FB63 /* PotentiallyObjectionableThreadTags.plist in Resources */, 8C483FC216852E5D00D02482 /* macinyos-loading@2x.png in Resources */, 1C8F67FD2221BB57007E61ED /* PrivateMessage.html.stencil in Resources */, 1C47AF4C19A790910098B828 /* PostsPageSettings.xib in Resources */, + 2D327DEB27F4713300D21AB0 /* GhostAnim.json in Resources */, 1C8F67FF2221BDE8007E61ED /* PostPreview.html.stencil in Resources */, + 2D0BB35B27F443A700242D2A /* Lotties2 in Resources */, 7B82D6681F7809E3002291C7 /* AppIconCell.xib in Resources */, 1C29BD512251203400E1217A /* posts-view-oled-dark.css in Resources */, 1C29BD532251208200E1217A /* quote-post.png in Resources */, @@ -1747,16 +1793,20 @@ 8C299D7316877AE9001B9D96 /* winpos95-heading-right.png in Resources */, 8C299D7416877AE9001B9D96 /* winpos95-heading.png in Resources */, 8CEB405916877D2A00BFA9A8 /* winpos95-heading-seen.png in Resources */, + 2D327DEF27F4713300D21AB0 /* MainThrobberX120.json in Resources */, 8CEB405C16877E1600BFA9A8 /* winpos95-heading-left-seen.png in Resources */, 8CEB405E1687865300BFA9A8 /* hourglass.gif in Resources */, 1C5C2C5322D2579E00EA5A80 /* TUSafariActivity.bundle in Resources */, 1CA45D941F2C0AD1005BEEC5 /* RenderView.js in Resources */, 1C4EE1CE28470C2400A7507E /* Assets.xcassets in Resources */, + 2D327DDD27F46DE600D21AB0 /* platinum-member.png in Resources */, 8C8813A218492AC80058009E /* mac-watch.png in Resources */, + 2D327DED27F4713300D21AB0 /* getout_vZ_120.json in Resources */, 1C54D31319BE1708002AC6B9 /* SettingsAvatarHeader.xib in Resources */, 1CF264CA1F7811EA0059CCCA /* RootTabBarController.storyboard in Resources */, 8C9834E2169091CE009F0CD6 /* fyad-bubble.png in Resources */, 1C41B8A716CD573D00718F79 /* title-banned.gif in Resources */, + 2D327DDF27F46DFD00D21AB0 /* ghost.json in Resources */, 1C0060AA217171CD00E5329A /* profile.css in Resources */, F4233C591917C77900482BD0 /* bg_menu.jpg in Resources */, 1C41B8A816CD573D00718F79 /* title-permabanned.gif in Resources */, @@ -1769,11 +1819,13 @@ 1C5C2C5922D2586D00EA5A80 /* ARChromeActivity.xcassets in Resources */, 8CE8F2E11BBB754C00E81544 /* spinner-button.png in Resources */, 1CDD48BC17EE288A00E4DAE3 /* Themes.plist in Resources */, + 2D327DF327F4713300D21AB0 /* niggly3x120.json in Resources */, 7B0EA0BA1D96BF82008B0A90 /* SettingsSliderCell.xib in Resources */, 1CF186A617D48E5700B26717 /* Thread Tags in Resources */, 0C6C11B422FCE5800084C406 /* posts-view-bright-light.css in Resources */, 8C8FA48019AD7CA300B67AAA /* ik.png in Resources */, 8FC356EF2132F5C1006EE1A5 /* amberpos-ins.gif in Resources */, + 2D327DF027F4713300D21AB0 /* niggly120.json in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2016,6 +2068,7 @@ 1C397C8E1BC9B12F00CA7FD5 /* UIContextMenuConfiguration+ThreadListItem.swift in Sources */, 1C25AC211F532EE600977D6F /* LocalizedString.swift in Sources */, 1C25AC451F5377B100977D6F /* ManagedObjectObserver.swift in Sources */, + 2D327DD627F468CE00D21AB0 /* BookmarkColorPicker.swift in Sources */, 1C4506C41A2BAB3800767306 /* Handoff.swift in Sources */, 1C16FBFE1CBF237800C88BD1 /* PrivateMessageInboxRefresher.swift in Sources */, 1C3E181B224FAE1200BD88E5 /* SmilieDataStore+Shared.swift in Sources */, @@ -2068,6 +2121,7 @@ 7B0EA0B81D96B17B008B0A90 /* SettingsSliderCell.swift in Sources */, 1C29BD4D22505E8100E1217A /* SettingsThemePickerViewController.swift in Sources */, 1C0D80061CFA0CD7003EE2D1 /* ViewController.swift in Sources */, + 2D1B3BF5281157830022B1D2 /* NigglyRefreshLottieView.swift in Sources */, 1C16FBB21CB86ACD00C88BD1 /* EmptyViewController.swift in Sources */, 1C353C071E416FE200CCBA51 /* SpriteSheetView.swift in Sources */, 1C16FBA21CB49D2700C88BD1 /* SelfHostingAttachmentInterpolator.swift in Sources */, @@ -2221,7 +2275,6 @@ COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = 9RR6L9X39A; ENABLE_HARDENED_RUNTIME = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; @@ -2299,7 +2352,6 @@ COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = 9RR6L9X39A; ENABLE_HARDENED_RUNTIME = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; @@ -2366,7 +2418,6 @@ CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = 9RR6L9X39A; ENABLE_HARDENED_RUNTIME = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; @@ -2442,7 +2493,6 @@ CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = 9RR6L9X39A; ENABLE_HARDENED_RUNTIME = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; @@ -2476,6 +2526,7 @@ 1C66A9FD19DD393A001B9A41 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = "../Smilies Extra/Keyboard/Info.plist"; PRODUCT_BUNDLE_IDENTIFIER = com.awfulapp.Awful.debug.SmilieKeyboard; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -2486,6 +2537,7 @@ 1C66A9FE19DD393A001B9A41 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = "../Smilies Extra/Keyboard/Info.plist"; PRODUCT_BUNDLE_IDENTIFIER = com.awfulapp.Awful.SmilieKeyboard; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -2694,6 +2746,14 @@ minimumVersion = 1.0.16; }; }; + 2D0BB36B27F4525600242D2A /* XCRemoteSwiftPackageReference "lottie-ios" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/airbnb/lottie-ios.git"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 3.0.0; + }; + }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ @@ -2744,6 +2804,11 @@ isa = XCSwiftPackageProductDependency; productName = AwfulCore; }; + 2D0BB36C27F4525600242D2A /* Lottie */ = { + isa = XCSwiftPackageProductDependency; + package = 2D0BB36B27F4525600242D2A /* XCRemoteSwiftPackageReference "lottie-ios" */; + productName = Lottie; + }; /* End XCSwiftPackageProductDependency section */ }; rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
Additional Information
Member Since{{ regdate|formatRegdate }}
Member Since{{ regdateRaw }}