Various improvements
@ -628,7 +628,7 @@ final class InnerTextSelectionTipContainerNode: ASDisplayNode {
|
||||
switch presentation {
|
||||
case .modal:
|
||||
self.shadowNode.isHidden = true
|
||||
case .inline:
|
||||
case .inline, .additional:
|
||||
self.shadowNode.isHidden = false
|
||||
}
|
||||
|
||||
|
@ -2344,6 +2344,7 @@ public final class ContextController: ViewController, StandalonePresentableContr
|
||||
public struct Items {
|
||||
public enum Content {
|
||||
case list([ContextMenuItem])
|
||||
case twoLists([ContextMenuItem], [ContextMenuItem])
|
||||
case custom(ContextControllerItemsContent)
|
||||
}
|
||||
|
||||
|
@ -818,16 +818,18 @@ final class ContextControllerActionsCustomStackItem: ContextControllerActionsSta
|
||||
}
|
||||
}
|
||||
|
||||
func makeContextControllerActionsStackItem(items: ContextController.Items) -> ContextControllerActionsStackItem {
|
||||
func makeContextControllerActionsStackItem(items: ContextController.Items) -> [ContextControllerActionsStackItem] {
|
||||
var reactionItems: (context: AccountContext, reactionItems: [ReactionContextItem], selectedReactionItems: Set<MessageReaction.Reaction>, animationCache: AnimationCache, getEmojiContent: ((AnimationCache, MultiAnimationRenderer) -> Signal<EmojiPagerContentComponent, NoError>)?)?
|
||||
if let context = items.context, let animationCache = items.animationCache, !items.reactionItems.isEmpty {
|
||||
reactionItems = (context, items.reactionItems, items.selectedReactionItems, animationCache, items.getEmojiContent)
|
||||
}
|
||||
switch items.content {
|
||||
case let .list(listItems):
|
||||
return ContextControllerActionsListStackItem(items: listItems, reactionItems: reactionItems, tip: items.tip, tipSignal: items.tipSignal)
|
||||
return [ContextControllerActionsListStackItem(items: listItems, reactionItems: reactionItems, tip: items.tip, tipSignal: items.tipSignal)]
|
||||
case let .twoLists(listItems1, listItems2):
|
||||
return [ContextControllerActionsListStackItem(items: listItems1, reactionItems: nil, tip: nil, tipSignal: nil), ContextControllerActionsListStackItem(items: listItems2, reactionItems: nil, tip: nil, tipSignal: nil)]
|
||||
case let .custom(customContent):
|
||||
return ContextControllerActionsCustomStackItem(content: customContent, reactionItems: reactionItems, tip: items.tip, tipSignal: items.tipSignal)
|
||||
return [ContextControllerActionsCustomStackItem(content: customContent, reactionItems: reactionItems, tip: items.tip, tipSignal: items.tipSignal)]
|
||||
}
|
||||
}
|
||||
|
||||
@ -835,6 +837,7 @@ final class ContextControllerActionsStackNode: ASDisplayNode {
|
||||
enum Presentation {
|
||||
case modal
|
||||
case inline
|
||||
case additional
|
||||
}
|
||||
|
||||
final class NavigationContainer: ASDisplayNode, UIGestureRecognizerDelegate {
|
||||
@ -925,6 +928,9 @@ final class ContextControllerActionsStackNode: ASDisplayNode {
|
||||
case .inline:
|
||||
self.backgroundNode.updateColor(color: presentationData.theme.contextMenu.backgroundColor, enableBlur: true, forceKeepBlur: true, transition: transition)
|
||||
self.parentShadowNode.isHidden = false
|
||||
case .additional:
|
||||
self.backgroundNode.updateColor(color: presentationData.theme.contextMenu.backgroundColor.withMultipliedAlpha(0.5), enableBlur: true, forceKeepBlur: true, transition: transition)
|
||||
self.parentShadowNode.isHidden = false
|
||||
}
|
||||
self.backgroundNode.update(size: size, transition: transition)
|
||||
}
|
||||
|
@ -189,7 +189,10 @@ final class ContextControllerExtractedPresentationNode: ASDisplayNode, ContextCo
|
||||
|
||||
private var contentNode: ContentNode?
|
||||
private let contentRectDebugNode: ASDisplayNode
|
||||
|
||||
private var actionsContainerNode: ASDisplayNode
|
||||
private let actionsStackNode: ContextControllerActionsStackNode
|
||||
private let additionalActionsStackNode: ContextControllerActionsStackNode
|
||||
|
||||
private var validLayout: ContainerViewLayout?
|
||||
private var animatingOutState: AnimatingOutState?
|
||||
@ -247,6 +250,7 @@ final class ContextControllerExtractedPresentationNode: ASDisplayNode, ContextCo
|
||||
self.contentRectDebugNode.isUserInteractionEnabled = false
|
||||
self.contentRectDebugNode.backgroundColor = UIColor.red.withAlphaComponent(0.2)
|
||||
|
||||
self.actionsContainerNode = ASDisplayNode()
|
||||
self.actionsStackNode = ContextControllerActionsStackNode(
|
||||
getController: getController,
|
||||
requestDismiss: { result in
|
||||
@ -255,6 +259,14 @@ final class ContextControllerExtractedPresentationNode: ASDisplayNode, ContextCo
|
||||
requestUpdate: requestUpdate
|
||||
)
|
||||
|
||||
self.additionalActionsStackNode = ContextControllerActionsStackNode(
|
||||
getController: getController,
|
||||
requestDismiss: { result in
|
||||
requestDismiss(result)
|
||||
},
|
||||
requestUpdate: requestUpdate
|
||||
)
|
||||
|
||||
super.init()
|
||||
|
||||
self.addSubnode(self.backgroundNode)
|
||||
@ -262,8 +274,10 @@ final class ContextControllerExtractedPresentationNode: ASDisplayNode, ContextCo
|
||||
self.clippingNode.addSubnode(self.scrollNode)
|
||||
self.scrollNode.addSubnode(self.dismissTapNode)
|
||||
self.scrollNode.addSubnode(self.dismissAccessibilityArea)
|
||||
self.scrollNode.addSubnode(self.actionsStackNode)
|
||||
|
||||
self.scrollNode.addSubnode(self.actionsContainerNode)
|
||||
self.actionsContainerNode.addSubnode(self.additionalActionsStackNode)
|
||||
self.actionsContainerNode.addSubnode(self.actionsStackNode)
|
||||
|
||||
self.scroller.delegate = self
|
||||
|
||||
self.dismissTapNode.view.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.dismissTapGesture(_:))))
|
||||
@ -406,7 +420,13 @@ final class ContextControllerExtractedPresentationNode: ASDisplayNode, ContextCo
|
||||
}
|
||||
|
||||
func replaceItems(items: ContextController.Items, animated: Bool) {
|
||||
self.actionsStackNode.replace(item: makeContextControllerActionsStackItem(items: items), animated: animated)
|
||||
if case .twoLists = items.content {
|
||||
let stackItems = makeContextControllerActionsStackItem(items: items)
|
||||
self.actionsStackNode.replace(item: stackItems.first!, animated: animated)
|
||||
self.additionalActionsStackNode.replace(item: stackItems.last!, animated: animated)
|
||||
} else {
|
||||
self.actionsStackNode.replace(item: makeContextControllerActionsStackItem(items: items).first!, animated: animated)
|
||||
}
|
||||
}
|
||||
|
||||
func pushItems(items: ContextController.Items) {
|
||||
@ -415,7 +435,7 @@ final class ContextControllerExtractedPresentationNode: ASDisplayNode, ContextCo
|
||||
if !items.disablePositionLock {
|
||||
positionLock = self.getActionsStackPositionLock()
|
||||
}
|
||||
self.actionsStackNode.push(item: makeContextControllerActionsStackItem(items: items), currentScrollingState: currentScrollingState, positionLock: positionLock, animated: true)
|
||||
self.actionsStackNode.push(item: makeContextControllerActionsStackItem(items: items).first!, currentScrollingState: currentScrollingState, positionLock: positionLock, animated: true)
|
||||
}
|
||||
|
||||
func popItems() {
|
||||
@ -509,7 +529,7 @@ final class ContextControllerExtractedPresentationNode: ASDisplayNode, ContextCo
|
||||
}
|
||||
let contentNodeValue = ContentNode(containingItem: takeInfo.containingItem)
|
||||
contentNodeValue.animateClippingFromContentAreaInScreenSpace = takeInfo.contentAreaInScreenSpace
|
||||
self.scrollNode.insertSubnode(contentNodeValue, aboveSubnode: self.actionsStackNode)
|
||||
self.scrollNode.insertSubnode(contentNodeValue, aboveSubnode: self.actionsContainerNode)
|
||||
self.contentNode = contentNodeValue
|
||||
contentNode = contentNodeValue
|
||||
contentTransition = .immediate
|
||||
@ -686,6 +706,14 @@ final class ContextControllerExtractedPresentationNode: ASDisplayNode, ContextCo
|
||||
actionsStackPresentation = .modal
|
||||
}
|
||||
|
||||
let additionalActionsSize = self.additionalActionsStackNode.update(
|
||||
presentationData: presentationData,
|
||||
constrainedSize: CGSize(width: layout.size.width, height: actionsConstrainedHeight),
|
||||
presentation: .additional,
|
||||
transition: transition
|
||||
)
|
||||
self.additionalActionsStackNode.isHidden = additionalActionsSize.height.isZero
|
||||
|
||||
let actionsSize = self.actionsStackNode.update(
|
||||
presentationData: presentationData,
|
||||
constrainedSize: CGSize(width: layout.size.width, height: actionsConstrainedHeight),
|
||||
@ -763,7 +791,7 @@ final class ContextControllerExtractedPresentationNode: ASDisplayNode, ContextCo
|
||||
actionsFrame = CGRect(origin: CGPoint(x: actionsSideInset, y: contentRect.maxY + contentActionsSpacing), size: actionsSize)
|
||||
}
|
||||
var contentVerticalOffset: CGFloat = 0.0
|
||||
|
||||
|
||||
if keepInPlace, case .extracted = self.source {
|
||||
actionsFrame.origin.y = contentRect.minY - contentActionsSpacing - actionsFrame.height
|
||||
let statusBarHeight = (layout.statusBarHeight ?? 0.0)
|
||||
@ -821,7 +849,20 @@ final class ContextControllerExtractedPresentationNode: ASDisplayNode, ContextCo
|
||||
actionsFrame = actionsFrame.offsetBy(dx: customPosition.x, dy: customPosition.y)
|
||||
}
|
||||
|
||||
transition.updateFrame(node: self.actionsStackNode, frame: actionsFrame.offsetBy(dx: 0.0, dy: additionalVisibleOffsetY), beginWithCurrentState: true)
|
||||
var additionalActionsFrame: CGRect
|
||||
let combinedActionsFrame: CGRect
|
||||
if additionalActionsSize.height > 0.0 {
|
||||
additionalActionsFrame = CGRect(origin: actionsFrame.origin, size: additionalActionsSize)
|
||||
actionsFrame = actionsFrame.offsetBy(dx: 0.0, dy: additionalActionsSize.height + 10.0)
|
||||
combinedActionsFrame = actionsFrame.union(additionalActionsFrame)
|
||||
} else {
|
||||
additionalActionsFrame = .zero
|
||||
combinedActionsFrame = actionsFrame
|
||||
}
|
||||
|
||||
transition.updateFrame(node: self.actionsContainerNode, frame: combinedActionsFrame.offsetBy(dx: 0.0, dy: additionalVisibleOffsetY))
|
||||
transition.updateFrame(node: self.actionsStackNode, frame: CGRect(origin: CGPoint(x: 0.0, y: combinedActionsFrame.height - actionsSize.height), size: actionsSize), beginWithCurrentState: true)
|
||||
transition.updateFrame(node: self.additionalActionsStackNode, frame: CGRect(origin: .zero, size: additionalActionsSize), beginWithCurrentState: true)
|
||||
|
||||
if let contentNode = contentNode {
|
||||
var contentFrame = CGRect(origin: CGPoint(x: contentParentGlobalFrame.minX + contentRect.minX - contentNode.containingItem.contentRect.minX, y: contentRect.minY - contentNode.containingItem.contentRect.minY + contentVerticalOffset + additionalVisibleOffsetY), size: contentNode.containingItem.view.bounds.size)
|
||||
@ -925,8 +966,8 @@ final class ContextControllerExtractedPresentationNode: ASDisplayNode, ContextCo
|
||||
currentContentScreenFrame = contentRect
|
||||
}
|
||||
|
||||
self.actionsStackNode.layer.animateAlpha(from: 0.0, to: self.actionsStackNode.alpha, duration: 0.05)
|
||||
self.actionsStackNode.layer.animateSpring(
|
||||
self.actionsContainerNode.layer.animateAlpha(from: 0.0, to: self.actionsContainerNode.alpha, duration: 0.05)
|
||||
self.actionsContainerNode.layer.animateSpring(
|
||||
from: 0.01 as NSNumber,
|
||||
to: 1.0 as NSNumber,
|
||||
keyPath: "transform.scale",
|
||||
@ -937,33 +978,33 @@ final class ContextControllerExtractedPresentationNode: ASDisplayNode, ContextCo
|
||||
additive: false
|
||||
)
|
||||
|
||||
let actionsSize = self.actionsStackNode.bounds.size
|
||||
let actionsSize = self.actionsContainerNode.bounds.size
|
||||
|
||||
var actionsPositionDeltaXDistance: CGFloat = 0.0
|
||||
if case .center = actionsHorizontalAlignment {
|
||||
actionsPositionDeltaXDistance = currentContentScreenFrame.midX - self.actionsStackNode.frame.midX
|
||||
actionsPositionDeltaXDistance = currentContentScreenFrame.midX - self.actionsContainerNode.frame.midX
|
||||
}
|
||||
|
||||
if case .reference = self.source {
|
||||
actionsPositionDeltaXDistance = currentContentScreenFrame.midX - self.actionsStackNode.frame.midX
|
||||
actionsPositionDeltaXDistance = currentContentScreenFrame.midX - self.actionsContainerNode.frame.midX
|
||||
}
|
||||
|
||||
let actionsVerticalTransitionDirection: CGFloat
|
||||
if let contentNode = contentNode {
|
||||
if contentNode.frame.minY < self.actionsStackNode.frame.minY {
|
||||
if contentNode.frame.minY < self.actionsContainerNode.frame.minY {
|
||||
actionsVerticalTransitionDirection = -1.0
|
||||
} else {
|
||||
actionsVerticalTransitionDirection = 1.0
|
||||
}
|
||||
} else {
|
||||
if contentRect.minY < self.actionsStackNode.frame.minY {
|
||||
if contentRect.minY < self.actionsContainerNode.frame.minY {
|
||||
actionsVerticalTransitionDirection = -1.0
|
||||
} else {
|
||||
actionsVerticalTransitionDirection = 1.0
|
||||
}
|
||||
}
|
||||
let actionsPositionDeltaYDistance = -animationInContentYDistance + actionsVerticalTransitionDirection * actionsSize.height / 2.0 - contentActionsSpacing
|
||||
self.actionsStackNode.layer.animateSpring(
|
||||
self.actionsContainerNode.layer.animateSpring(
|
||||
from: NSValue(cgPoint: CGPoint(x: actionsPositionDeltaXDistance, y: actionsPositionDeltaYDistance)),
|
||||
to: NSValue(cgPoint: CGPoint()),
|
||||
keyPath: "position",
|
||||
@ -1093,13 +1134,13 @@ final class ContextControllerExtractedPresentationNode: ASDisplayNode, ContextCo
|
||||
|
||||
let actionsVerticalTransitionDirection: CGFloat
|
||||
if let contentNode = contentNode {
|
||||
if contentNode.frame.minY < self.actionsStackNode.frame.minY {
|
||||
if contentNode.frame.minY < self.actionsContainerNode.frame.minY {
|
||||
actionsVerticalTransitionDirection = -1.0
|
||||
} else {
|
||||
actionsVerticalTransitionDirection = 1.0
|
||||
}
|
||||
} else {
|
||||
if contentRect.minY < self.actionsStackNode.frame.minY {
|
||||
if contentRect.minY < self.actionsContainerNode.frame.minY {
|
||||
actionsVerticalTransitionDirection = -1.0
|
||||
} else {
|
||||
actionsVerticalTransitionDirection = 1.0
|
||||
@ -1159,8 +1200,8 @@ final class ContextControllerExtractedPresentationNode: ASDisplayNode, ContextCo
|
||||
)
|
||||
}
|
||||
|
||||
self.actionsStackNode.layer.animateAlpha(from: self.actionsStackNode.alpha, to: 0.0, duration: duration, removeOnCompletion: false)
|
||||
self.actionsStackNode.layer.animate(
|
||||
self.actionsContainerNode.layer.animateAlpha(from: self.actionsContainerNode.alpha, to: 0.0, duration: duration, removeOnCompletion: false)
|
||||
self.actionsContainerNode.layer.animate(
|
||||
from: 1.0 as NSNumber,
|
||||
to: 0.01 as NSNumber,
|
||||
keyPath: "transform.scale",
|
||||
@ -1175,17 +1216,17 @@ final class ContextControllerExtractedPresentationNode: ASDisplayNode, ContextCo
|
||||
}
|
||||
)
|
||||
|
||||
let actionsSize = self.actionsStackNode.bounds.size
|
||||
let actionsSize = self.actionsContainerNode.bounds.size
|
||||
|
||||
var actionsPositionDeltaXDistance: CGFloat = 0.0
|
||||
if case .center = actionsHorizontalAlignment {
|
||||
actionsPositionDeltaXDistance = currentContentScreenFrame.midX - self.actionsStackNode.frame.midX
|
||||
actionsPositionDeltaXDistance = currentContentScreenFrame.midX - self.actionsContainerNode.frame.midX
|
||||
}
|
||||
if case .reference = self.source {
|
||||
actionsPositionDeltaXDistance = currentContentScreenFrame.midX - self.actionsStackNode.frame.midX
|
||||
actionsPositionDeltaXDistance = currentContentScreenFrame.midX - self.actionsContainerNode.frame.midX
|
||||
}
|
||||
let actionsPositionDeltaYDistance = -animationInContentYDistance + actionsVerticalTransitionDirection * actionsSize.height / 2.0 - contentActionsSpacing
|
||||
self.actionsStackNode.layer.animate(
|
||||
self.actionsContainerNode.layer.animate(
|
||||
from: NSValue(cgPoint: CGPoint()),
|
||||
to: NSValue(cgPoint: CGPoint(x: actionsPositionDeltaXDistance, y: actionsPositionDeltaYDistance)),
|
||||
keyPath: "position",
|
||||
|
@ -139,7 +139,7 @@ public final class NavigationBackgroundNode: ASDisplayNode {
|
||||
|
||||
private var enableBlur: Bool
|
||||
|
||||
private var effectView: UIVisualEffectView?
|
||||
public var effectView: UIVisualEffectView?
|
||||
private let backgroundNode: ASDisplayNode
|
||||
|
||||
private var validLayout: (CGSize, CGFloat)?
|
||||
|
@ -172,9 +172,7 @@ final class ChatAnimationGalleryItemNode: ZoomableContentGalleryItemNode {
|
||||
|
||||
self._title.set(.single("\(fileReference.media.fileName ?? "") - \(dataSizeString(fileReference.media.size ?? 0, forceDecimal: false, formatting: DataSizeStringFormatting(presentationData: self.presentationData)))"))
|
||||
|
||||
let speedItem = UIBarButtonItem(image: UIImage(bundleImageName: "Media Gallery/SlowDown"), style: .plain, target: self, action: #selector(self.toggleSpeedButtonPressed))
|
||||
let backgroundItem = UIBarButtonItem(image: backgroundButtonIcon, style: .plain, target: self, action: #selector(self.toggleBackgroundButtonPressed))
|
||||
self._rightBarButtonItems.set(.single([speedItem, backgroundItem]))
|
||||
self._rightBarButtonItems.set(.single([]))
|
||||
}
|
||||
self.contextAndMedia = (context, fileReference.abstract)
|
||||
}
|
||||
|
BIN
submodules/PremiumUI/Resources/star
Normal file
@ -3,7 +3,6 @@ import UIKit
|
||||
import Display
|
||||
import ComponentFlow
|
||||
import SwiftSignalKit
|
||||
import SceneKit
|
||||
import GZip
|
||||
import AppBundle
|
||||
import LegacyComponents
|
||||
@ -50,7 +49,7 @@ class EmojiHeaderComponent: Component {
|
||||
return lhs.placeholderColor == rhs.placeholderColor && lhs.accentColor == rhs.accentColor && lhs.fileId == rhs.fileId && lhs.isVisible == rhs.isVisible && lhs.hasIdleAnimations == rhs.hasIdleAnimations
|
||||
}
|
||||
|
||||
final class View: UIView, SCNSceneRendererDelegate, ComponentTaggedView {
|
||||
final class View: UIView, ComponentTaggedView {
|
||||
final class Tag {
|
||||
}
|
||||
|
||||
|
@ -524,23 +524,20 @@ public final class MediaNavigationAccessoryHeaderNode: ASDisplayNode, UIScrollVi
|
||||
return speedList
|
||||
}
|
||||
|
||||
private func contextMenuSpeedItems(dismiss: @escaping () -> Void) -> Signal<[ContextMenuItem], NoError> {
|
||||
var items: [ContextMenuItem] = []
|
||||
private func contextMenuSpeedItems(scheduleTooltip: @escaping (MediaNavigationAccessoryPanel.ChangeType) -> Void) -> Signal<ContextController.Items, NoError> {
|
||||
var presetItems: [ContextMenuItem] = []
|
||||
|
||||
let previousValue = self.playbackBaseRate?.doubleValue ?? 1.0
|
||||
items.append(.custom(SliderContextItem(minValue: 0.5, maxValue: 2.5, value: previousValue, valueChanged: { [weak self] newValue, finished in
|
||||
let type: MediaNavigationAccessoryPanel.ChangeType = finished ? .sliderCommit(previousValue, newValue) : .sliderChange
|
||||
self?.setRate?(AudioPlaybackRate(newValue), type)
|
||||
let sliderItem: ContextMenuItem = .custom(SliderContextItem(minValue: 0.5, maxValue: 2.5, value: previousValue, valueChanged: { [weak self] newValue, finished in
|
||||
self?.setRate?(AudioPlaybackRate(newValue), .sliderChange)
|
||||
if finished {
|
||||
dismiss()
|
||||
scheduleTooltip(.sliderCommit(previousValue, newValue))
|
||||
}
|
||||
}), true))
|
||||
|
||||
items.append(.separator)
|
||||
|
||||
}), true)
|
||||
|
||||
for (text, _, rate) in self.speedList(strings: self.strings) {
|
||||
let isSelected = self.playbackBaseRate == rate
|
||||
items.append(.action(ContextMenuActionItem(text: text, icon: { theme in
|
||||
presetItems.append(.action(ContextMenuActionItem(text: text, icon: { theme in
|
||||
if isSelected {
|
||||
return generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor)
|
||||
} else {
|
||||
@ -553,20 +550,22 @@ public final class MediaNavigationAccessoryHeaderNode: ASDisplayNode, UIScrollVi
|
||||
})))
|
||||
}
|
||||
|
||||
return .single(items)
|
||||
return .single(ContextController.Items(content: .twoLists(presetItems, [sliderItem])))
|
||||
}
|
||||
|
||||
private func openRateMenu(sourceNode: ASDisplayNode, gesture: ContextGesture?) {
|
||||
guard let controller = self.getController?() else {
|
||||
return
|
||||
}
|
||||
var dismissImpl: (() -> Void)?
|
||||
let items: Signal<[ContextMenuItem], NoError> = self.contextMenuSpeedItems(dismiss: {
|
||||
dismissImpl?()
|
||||
var scheduledTooltip: MediaNavigationAccessoryPanel.ChangeType?
|
||||
let items = self.contextMenuSpeedItems(scheduleTooltip: { change in
|
||||
scheduledTooltip = change
|
||||
})
|
||||
let contextController = ContextController(account: self.context.account, presentationData: self.context.sharedContext.currentPresentationData.with { $0 }, source: .reference(HeaderContextReferenceContentSource(controller: controller, sourceNode: self.rateButton.referenceNode, shouldBeDismissed: self.dismissedPromise.get())), items: items |> map { ContextController.Items(content: .list($0)) }, gesture: gesture)
|
||||
dismissImpl = {
|
||||
//contextController?.dismiss()
|
||||
let contextController = ContextController(account: self.context.account, presentationData: self.context.sharedContext.currentPresentationData.with { $0 }, source: .reference(HeaderContextReferenceContentSource(controller: controller, sourceNode: self.rateButton.referenceNode, shouldBeDismissed: self.dismissedPromise.get())), items: items, gesture: gesture)
|
||||
contextController.dismissed = { [weak self] in
|
||||
if let scheduledTooltip, let self, let rate = self.playbackBaseRate {
|
||||
self.setRate?(rate, scheduledTooltip)
|
||||
}
|
||||
}
|
||||
self.presentInGlobalOverlay?(contextController)
|
||||
}
|
||||
|
@ -29,8 +29,6 @@ public enum PresentationResourceKey: Int32 {
|
||||
|
||||
case navigationLiveLocationIcon
|
||||
|
||||
case navigationPlayerPlayIcon
|
||||
case navigationPlayerPauseIcon
|
||||
case navigationPlayerRateActiveIcon
|
||||
case navigationPlayerRateInactiveIcon
|
||||
case navigationPlayerMaximizedRateActiveIcon
|
||||
@ -167,20 +165,11 @@ public enum PresentationResourceKey: Int32 {
|
||||
case chatInputPanelEditIconImage
|
||||
case chatInputPanelWebpageIconImage
|
||||
|
||||
case chatMediaInputPanelHighlightedIconImage
|
||||
case chatInputMediaPanelSavedStickersIconImage
|
||||
case chatInputMediaPanelRecentStickersIconImage
|
||||
case chatInputMediaPanelRecentGifsIconImage
|
||||
case chatInputMediaPanelTrendingIconImage
|
||||
case chatInputMediaPanelSettingsIconImage
|
||||
case chatInputMediaPanelAddPackButtonImage
|
||||
case chatInputMediaPanelAddedPackButtonImage
|
||||
case chatInputMediaPanelGridSetupImage
|
||||
case chatInputMediaPanelGridDismissImage
|
||||
case chatInputMediaPanelTrendingGifsIcon
|
||||
case chatInputMediaPanelStickersModeIcon
|
||||
case chatInputMediaPanelPremiumIcon
|
||||
|
||||
|
||||
case chatInputButtonPanelButtonHighlightImage
|
||||
case chatInputButtonPanelButtonShadowImage
|
||||
|
||||
@ -268,7 +257,6 @@ public enum PresentationResourceKey: Int32 {
|
||||
case genericSearchBar
|
||||
|
||||
case inAppNotificationBackground
|
||||
case inAppNotificationSecretChatIcon
|
||||
|
||||
case groupInfoAdminsIcon
|
||||
case groupInfoPermissionsIcon
|
||||
@ -325,10 +313,6 @@ public enum PresentationResourceParameterKey: Hashable {
|
||||
case chatBubbleLamp(incoming: Bool)
|
||||
case chatPsaInfo(color: UInt32)
|
||||
|
||||
case chatMessageLike(incoming: Bool, isSelected: Bool)
|
||||
case chatMessageFreeLike(isSelected: Bool)
|
||||
case chatMessageMediaLike(isSelected: Bool)
|
||||
|
||||
case chatMessageCommentsIcon(incoming: Bool)
|
||||
case chatMessageCommentsArrowIcon(incoming: Bool)
|
||||
case chatMessageCommentsUnreadDotIcon(incoming: Bool)
|
||||
|
@ -287,104 +287,6 @@ public struct PresentationResourcesChat {
|
||||
})
|
||||
}
|
||||
|
||||
public static func chatMediaInputPanelHighlightedIconImage(_ theme: PresentationTheme) -> UIImage? {
|
||||
return theme.image(PresentationResourceKey.chatMediaInputPanelHighlightedIconImage.rawValue, { theme in
|
||||
return generateStretchableFilledCircleImage(radius: 9.0, color: theme.chat.inputMediaPanel.panelHighlightedIconBackgroundColor)
|
||||
})
|
||||
}
|
||||
|
||||
public static func chatInputMediaPanelSavedStickersIcon(_ theme: PresentationTheme) -> UIImage? {
|
||||
return theme.image(PresentationResourceKey.chatInputMediaPanelSavedStickersIconImage.rawValue, { theme in
|
||||
return generateImage(CGSize(width: 42.0, height: 42.0), contextGenerator: { size, context in
|
||||
context.clear(CGRect(origin: CGPoint(), size: size))
|
||||
if let image = generateTintedImage(image: UIImage(bundleImageName: "Chat/Input/Media/SavedStickersTabIcon"), color: theme.chat.inputMediaPanel.panelIconColor) {
|
||||
context.draw(image.cgImage!, in: CGRect(origin: CGPoint(x: floor((size.width - image.size.width) / 2.0), y: floor((size.height - image.size.height) / 2.0)), size: image.size))
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
public static func chatInputMediaPanelStickersModeIcon(_ theme: PresentationTheme) -> UIImage? {
|
||||
return theme.image(PresentationResourceKey.chatInputMediaPanelStickersModeIcon.rawValue, { theme in
|
||||
return generateImage(CGSize(width: 42.0, height: 42.0), contextGenerator: { size, context in
|
||||
context.clear(CGRect(origin: CGPoint(), size: size))
|
||||
if let image = generateTintedImage(image: UIImage(bundleImageName: "Chat/Input/Media/StickersMode"), color: theme.chat.inputMediaPanel.panelIconColor) {
|
||||
context.draw(image.cgImage!, in: CGRect(origin: CGPoint(x: floor((size.width - image.size.width) / 2.0), y: floor((size.height - image.size.height) / 2.0)), size: image.size))
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
public static func chatInputMediaPanelTrendingGifsIcon(_ theme: PresentationTheme) -> UIImage? {
|
||||
return theme.image(PresentationResourceKey.chatInputMediaPanelTrendingGifsIcon.rawValue, { theme in
|
||||
return generateImage(CGSize(width: 42.0, height: 42.0), contextGenerator: { size, context in
|
||||
context.clear(CGRect(origin: CGPoint(), size: size))
|
||||
if let image = generateTintedImage(image: UIImage(bundleImageName: "Chat/Input/Media/TrendingGifs"), color: theme.chat.inputMediaPanel.panelIconColor) {
|
||||
context.draw(image.cgImage!, in: CGRect(origin: CGPoint(x: floor((size.width - image.size.width) / 2.0), y: floor((size.height - image.size.height) / 2.0)), size: image.size))
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
public static func chatInputMediaPanelPremiumIcon(_ theme: PresentationTheme) -> UIImage? {
|
||||
return theme.image(PresentationResourceKey.chatInputMediaPanelPremiumIcon.rawValue, { theme in
|
||||
return generateImage(CGSize(width: 44.0, height: 42.0), contextGenerator: { size, context in
|
||||
context.clear(CGRect(origin: CGPoint(), size: size))
|
||||
if let image = UIImage(bundleImageName: "Peer Info/PremiumIcon") {
|
||||
if let cgImage = image.cgImage {
|
||||
context.clip(to: CGRect(origin: .zero, size: size), mask: cgImage)
|
||||
}
|
||||
|
||||
let colorsArray: [CGColor] = [
|
||||
UIColor(rgb: 0x6B93FF).cgColor,
|
||||
UIColor(rgb: 0x6B93FF).cgColor,
|
||||
UIColor(rgb: 0x976FFF).cgColor,
|
||||
UIColor(rgb: 0xE46ACE).cgColor,
|
||||
UIColor(rgb: 0xE46ACE).cgColor
|
||||
]
|
||||
var locations: [CGFloat] = [0.0, 0.35, 0.5, 0.65, 1.0]
|
||||
let gradient = CGGradient(colorsSpace: deviceColorSpace, colors: colorsArray as CFArray, locations: &locations)!
|
||||
|
||||
context.drawLinearGradient(gradient, start: CGPoint(x: 0.0, y: 0.0), end: CGPoint(x: size.width, y: size.height), options: CGGradientDrawingOptions())
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
public static func chatInputMediaPanelRecentStickersIcon(_ theme: PresentationTheme) -> UIImage? {
|
||||
return theme.image(PresentationResourceKey.chatInputMediaPanelRecentStickersIconImage.rawValue, { theme in
|
||||
return generateImage(CGSize(width: 42.0, height: 42.0), contextGenerator: { size, context in
|
||||
context.clear(CGRect(origin: CGPoint(), size: size))
|
||||
if let image = generateTintedImage(image: UIImage(bundleImageName: "Chat/Input/Media/RecentTabIcon"), color: theme.chat.inputMediaPanel.panelIconColor) {
|
||||
context.draw(image.cgImage!, in: CGRect(origin: CGPoint(x: floor((size.width - image.size.width) / 2.0), y: floor((size.height - image.size.height) / 2.0)), size: image.size))
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
public static func chatInputMediaPanelRecentGifsIconImage(_ theme: PresentationTheme) -> UIImage? {
|
||||
return theme.image(PresentationResourceKey.chatInputMediaPanelRecentGifsIconImage.rawValue, { theme in
|
||||
return generateImage(CGSize(width: 42.0, height: 42.0), contextGenerator: { size, context in
|
||||
context.clear(CGRect(origin: CGPoint(), size: size))
|
||||
if let image = generateTintedImage(image: UIImage(bundleImageName: "Chat/Input/Media/GifsTabIcon"), color: theme.chat.inputMediaPanel.panelIconColor) {
|
||||
context.draw(image.cgImage!, in: CGRect(origin: CGPoint(x: floor((size.width - image.size.width) / 2.0), y: floor((size.height - image.size.height) / 2.0)), size: image.size))
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
public static func chatInputMediaPanelTrendingIconImage(_ theme: PresentationTheme) -> UIImage? {
|
||||
return theme.image(PresentationResourceKey.chatInputMediaPanelTrendingIconImage.rawValue, { theme in
|
||||
return generateTintedImage(image: UIImage(bundleImageName: "Chat/Input/Media/TrendingIcon"), color: theme.chat.inputMediaPanel.panelIconColor)
|
||||
})
|
||||
}
|
||||
|
||||
public static func chatInputMediaPanelSettingsIconImage(_ theme: PresentationTheme) -> UIImage? {
|
||||
return theme.image(PresentationResourceKey.chatInputMediaPanelSettingsIconImage.rawValue, { theme in
|
||||
return generateTintedImage(image: UIImage(bundleImageName: "Chat/Input/Media/SettingsIcon"), color: theme.chat.inputMediaPanel.panelIconColor)
|
||||
})
|
||||
}
|
||||
|
||||
public static func chatInputMediaPanelAddPackButtonImage(_ theme: PresentationTheme) -> UIImage? {
|
||||
return theme.image(PresentationResourceKey.chatInputMediaPanelAddPackButtonImage.rawValue, { theme in
|
||||
return generateStretchableFilledCircleImage(diameter: 28.0, color: theme.chat.inputPanel.panelControlAccentColor, strokeColor: nil, strokeWidth: 1.0, backgroundColor: nil)
|
||||
@ -1179,37 +1081,6 @@ public struct PresentationResourcesChat {
|
||||
})
|
||||
}
|
||||
|
||||
public static func chatMessageLike(_ theme: PresentationTheme, incoming: Bool, isSelected: Bool) -> UIImage? {
|
||||
return theme.image(PresentationResourceParameterKey.chatMessageLike(incoming: incoming, isSelected: isSelected), { theme in
|
||||
if isSelected {
|
||||
return generateTintedImage(image: UIImage(bundleImageName: "Chat/Reactions/MessageHeartFilled"), color: UIColor(rgb: 0xfe1512))
|
||||
} else {
|
||||
return generateTintedImage(image: UIImage(bundleImageName: "Chat/Reactions/MessageHeartEmpty"), color: incoming ? theme.chat.message.incoming.secondaryTextColor : theme.chat.message.outgoing.secondaryTextColor)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
public static func chatMessageFreeLike(_ theme: PresentationTheme, wallpaper: TelegramWallpaper, isSelected: Bool) -> UIImage? {
|
||||
return theme.image(PresentationResourceParameterKey.chatMessageFreeLike(isSelected: isSelected), { theme in
|
||||
if isSelected {
|
||||
return generateTintedImage(image: UIImage(bundleImageName: "Chat/Reactions/MessageHeartFilled"), color: UIColor(rgb: 0xfe1512))
|
||||
} else {
|
||||
let serviceColor = serviceMessageColorComponents(theme: theme, wallpaper: wallpaper)
|
||||
return generateTintedImage(image: UIImage(bundleImageName: "Chat/Reactions/MessageHeartEmpty"), color: serviceColor.primaryText)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
public static func chatMessageMediaLike(_ theme: PresentationTheme, isSelected: Bool) -> UIImage? {
|
||||
return theme.image(PresentationResourceParameterKey.chatMessageMediaLike(isSelected: isSelected), { theme in
|
||||
if isSelected {
|
||||
return generateTintedImage(image: UIImage(bundleImageName: "Chat/Reactions/MessageHeartFilled"), color: UIColor(rgb: 0xfe1512))
|
||||
} else {
|
||||
return generateTintedImage(image: UIImage(bundleImageName: "Chat/Reactions/MessageHeartEmpty"), color: theme.chat.message.mediaDateAndStatusTextColor)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
public static func chatMessageCommentsIcon(_ theme: PresentationTheme, incoming: Bool) -> UIImage? {
|
||||
return theme.image(PresentationResourceParameterKey.chatMessageCommentsIcon(incoming: incoming), { theme in
|
||||
let messageTheme = incoming ? theme.chat.message.incoming : theme.chat.message.outgoing
|
||||
|
@ -128,12 +128,6 @@ public struct PresentationResourcesRootController {
|
||||
})
|
||||
}
|
||||
|
||||
public static func navigationPlayerPlayIcon(_ theme: PresentationTheme) -> UIImage? {
|
||||
return theme.image(PresentationResourceKey.navigationPlayerPlayIcon.rawValue, { theme in
|
||||
return generateTintedImage(image: UIImage(bundleImageName: "GlobalMusicPlayer/MinimizedPlay"), color: theme.rootController.navigationBar.accentTextColor)
|
||||
})
|
||||
}
|
||||
|
||||
public static func navigationPlayerRateActiveIcon(_ theme: PresentationTheme) -> UIImage? {
|
||||
return theme.image(PresentationResourceKey.navigationPlayerRateActiveIcon.rawValue, { theme in
|
||||
return generatePlayerRateIcon(theme.rootController.navigationBar.accentTextColor)
|
||||
@ -158,12 +152,6 @@ public struct PresentationResourcesRootController {
|
||||
})
|
||||
}
|
||||
|
||||
public static func navigationPlayerPauseIcon(_ theme: PresentationTheme) -> UIImage? {
|
||||
return theme.image(PresentationResourceKey.navigationPlayerPauseIcon.rawValue, { theme in
|
||||
return generateTintedImage(image: UIImage(bundleImageName: "GlobalMusicPlayer/MinimizedPause"), color: theme.rootController.navigationBar.accentTextColor)
|
||||
})
|
||||
}
|
||||
|
||||
public static func navigationLiveLocationIcon(_ theme: PresentationTheme) -> UIImage? {
|
||||
return theme.image(PresentationResourceKey.navigationLiveLocationIcon.rawValue, { theme in
|
||||
return generateTintedImage(image: UIImage(bundleImageName: "Chat List/LiveLocationPanelIcon"), color: theme.rootController.navigationBar.accentTextColor)
|
||||
@ -181,10 +169,4 @@ public struct PresentationResourcesRootController {
|
||||
})?.stretchableImage(withLeftCapWidth: Int(inset) + 15, topCapHeight: 8 * 2 + 15)
|
||||
})
|
||||
}
|
||||
|
||||
public static func inAppNotificationSecretChatIcon(_ theme: PresentationTheme) -> UIImage? {
|
||||
return theme.image(PresentationResourceKey.inAppNotificationSecretChatIcon.rawValue, { theme in
|
||||
return generateTintedImage(image: UIImage(bundleImageName: "Notification/SecretLock"), color: theme.inAppNotification.primaryTextColor)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -2005,6 +2005,17 @@ public final class ChatEntityKeyboardInputNode: ChatInputNode {
|
||||
}
|
||||
strongSelf.performLayout(transition: Transition(animation: .curve(duration: 0.4, curve: .spring)))
|
||||
})
|
||||
|
||||
if self.context.sharedContext.currentStickerSettings.with({ $0 }).dynamicPackOrder {
|
||||
let presentationData = self.context.sharedContext.currentPresentationData.with { $0 }
|
||||
self.controllerInteraction?.presentController(UndoOverlayController(presentationData: presentationData, content: .universal(animation: "anim_reorder", scale: 0.05, colors: [:], title: presentationData.strings.StickerPacksSettings_DynamicOrderOff, text: presentationData.strings.StickerPacksSettings_DynamicOrderOffInfo, customUndoText: nil), elevatedLayout: false, animateInAsReplacement: false, action: { action in
|
||||
return false
|
||||
}), nil)
|
||||
|
||||
let _ = updateStickerSettingsInteractively(accountManager: self.context.sharedContext.accountManager, {
|
||||
return $0.withUpdatedDynamicPackOrder(false)
|
||||
}).start()
|
||||
}
|
||||
}
|
||||
|
||||
private func openGifContextMenu(file: FileMediaReference, contextResult: (ChatContextResultCollection, ChatContextResult)?, sourceView: UIView, sourceRect: CGRect, gesture: ContextGesture, isSaved: Bool) {
|
||||
|
@ -2,6 +2,7 @@ import Foundation
|
||||
import UIKit
|
||||
import Display
|
||||
import AsyncDisplayKit
|
||||
import SwiftSignalKit
|
||||
import ContextUI
|
||||
import TelegramPresentationData
|
||||
import AnimatedCountLabelNode
|
||||
@ -29,7 +30,9 @@ private let textFont = Font.with(size: 17.0, design: .regular, traits: .monospac
|
||||
private final class SliderContextItemNode: ASDisplayNode, ContextMenuCustomNode {
|
||||
private var presentationData: PresentationData
|
||||
|
||||
private(set) var vibrancyEffectView: UIVisualEffectView?
|
||||
private let backgroundTextNode: ImmediateAnimatedCountLabelNode
|
||||
private let dimBackgroundTextNode: ImmediateAnimatedCountLabelNode
|
||||
|
||||
private let foregroundNode: ASDisplayNode
|
||||
private let foregroundTextNode: ImmediateAnimatedCountLabelNode
|
||||
@ -55,6 +58,9 @@ private final class SliderContextItemNode: ASDisplayNode, ContextMenuCustomNode
|
||||
|
||||
self.backgroundTextNode = ImmediateAnimatedCountLabelNode()
|
||||
self.backgroundTextNode.alwaysOneDirection = true
|
||||
|
||||
self.dimBackgroundTextNode = ImmediateAnimatedCountLabelNode()
|
||||
self.dimBackgroundTextNode.alwaysOneDirection = true
|
||||
|
||||
self.foregroundNode = ASDisplayNode()
|
||||
self.foregroundNode.clipsToBounds = true
|
||||
@ -69,28 +75,46 @@ private final class SliderContextItemNode: ASDisplayNode, ContextMenuCustomNode
|
||||
|
||||
self.isUserInteractionEnabled = true
|
||||
|
||||
if presentationData.theme.overallDarkAppearance {
|
||||
|
||||
} else {
|
||||
let style: UIBlurEffect.Style
|
||||
style = .extraLight
|
||||
let blurEffect = UIBlurEffect(style: style)
|
||||
let vibrancyEffect = UIVibrancyEffect(blurEffect: blurEffect)
|
||||
let vibrancyEffectView = UIVisualEffectView(effect: vibrancyEffect)
|
||||
|
||||
self.vibrancyEffectView = vibrancyEffectView
|
||||
}
|
||||
|
||||
self.addSubnode(self.backgroundTextNode)
|
||||
self.addSubnode(self.dimBackgroundTextNode)
|
||||
self.addSubnode(self.foregroundNode)
|
||||
self.foregroundNode.addSubnode(self.foregroundTextNode)
|
||||
|
||||
let stringValue = "1.0x"
|
||||
|
||||
let backgroundTextColor = self.presentationData.theme.contextMenu.secondaryColor
|
||||
let dimBackgroundTextColor = self.vibrancyEffectView != nil ? UIColor(white: 0.0, alpha: 0.15) : .clear
|
||||
let backgroundTextColor = self.vibrancyEffectView != nil ? UIColor(white: 1.0, alpha: 0.7) : self.presentationData.theme.contextMenu.secondaryColor
|
||||
let foregroundTextColor = UIColor.black
|
||||
|
||||
var dimBackgroundSegments: [AnimatedCountLabelNode.Segment] = []
|
||||
var backgroundSegments: [AnimatedCountLabelNode.Segment] = []
|
||||
var foregroundSegments: [AnimatedCountLabelNode.Segment] = []
|
||||
var textCount = 0
|
||||
for char in stringValue {
|
||||
if let intValue = Int(String(char)) {
|
||||
dimBackgroundSegments.append(.number(intValue, NSAttributedString(string: String(char), font: textFont, textColor: dimBackgroundTextColor)))
|
||||
backgroundSegments.append(.number(intValue, NSAttributedString(string: String(char), font: textFont, textColor: backgroundTextColor)))
|
||||
foregroundSegments.append(.number(intValue, NSAttributedString(string: String(char), font: textFont, textColor: foregroundTextColor)))
|
||||
} else {
|
||||
dimBackgroundSegments.append(.text(textCount, NSAttributedString(string: String(char), font: textFont, textColor: dimBackgroundTextColor)))
|
||||
backgroundSegments.append(.text(textCount, NSAttributedString(string: String(char), font: textFont, textColor: backgroundTextColor)))
|
||||
foregroundSegments.append(.text(textCount, NSAttributedString(string: String(char), font: textFont, textColor: foregroundTextColor)))
|
||||
textCount += 1
|
||||
}
|
||||
}
|
||||
self.dimBackgroundTextNode.segments = dimBackgroundSegments
|
||||
self.backgroundTextNode.segments = backgroundSegments
|
||||
self.foregroundTextNode.segments = foregroundSegments
|
||||
}
|
||||
@ -98,6 +122,15 @@ private final class SliderContextItemNode: ASDisplayNode, ContextMenuCustomNode
|
||||
override func didLoad() {
|
||||
super.didLoad()
|
||||
|
||||
if let vibrancyEffectView = self.vibrancyEffectView {
|
||||
Queue.mainQueue().after(0.05) {
|
||||
if let effectNode = findEffectNode(node: self.supernode) {
|
||||
effectNode.effectView?.contentView.insertSubview(vibrancyEffectView, at: 0)
|
||||
vibrancyEffectView.contentView.addSubnode(self.backgroundTextNode)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let panGestureRecognizer = UIPanGestureRecognizer(target: self, action: #selector(self.panGesture(_:)))
|
||||
self.view.addGestureRecognizer(panGestureRecognizer)
|
||||
|
||||
@ -119,25 +152,31 @@ private final class SliderContextItemNode: ASDisplayNode, ContextMenuCustomNode
|
||||
|
||||
let stringValue = String(format: "%.1fx", self.value)
|
||||
|
||||
let backgroundTextColor = self.presentationData.theme.contextMenu.secondaryColor
|
||||
let dimBackgroundTextColor = self.vibrancyEffectView != nil ? UIColor(white: 0.0, alpha: 0.15) : .clear
|
||||
let backgroundTextColor = self.vibrancyEffectView != nil ? UIColor(white: 1.0, alpha: 0.7) : self.presentationData.theme.contextMenu.secondaryColor
|
||||
let foregroundTextColor = UIColor.black
|
||||
|
||||
var dimBackgroundSegments: [AnimatedCountLabelNode.Segment] = []
|
||||
var backgroundSegments: [AnimatedCountLabelNode.Segment] = []
|
||||
var foregroundSegments: [AnimatedCountLabelNode.Segment] = []
|
||||
var textCount = 0
|
||||
for char in stringValue {
|
||||
if let intValue = Int(String(char)) {
|
||||
dimBackgroundSegments.append(.number(intValue, NSAttributedString(string: String(char), font: textFont, textColor: dimBackgroundTextColor)))
|
||||
backgroundSegments.append(.number(intValue, NSAttributedString(string: String(char), font: textFont, textColor: backgroundTextColor)))
|
||||
foregroundSegments.append(.number(intValue, NSAttributedString(string: String(char), font: textFont, textColor: foregroundTextColor)))
|
||||
} else {
|
||||
dimBackgroundSegments.append(.text(textCount, NSAttributedString(string: String(char), font: textFont, textColor: dimBackgroundTextColor)))
|
||||
backgroundSegments.append(.text(textCount, NSAttributedString(string: String(char), font: textFont, textColor: backgroundTextColor)))
|
||||
foregroundSegments.append(.text(textCount, NSAttributedString(string: String(char), font: textFont, textColor: foregroundTextColor)))
|
||||
textCount += 1
|
||||
}
|
||||
}
|
||||
self.dimBackgroundTextNode.segments = dimBackgroundSegments
|
||||
self.backgroundTextNode.segments = backgroundSegments
|
||||
self.foregroundTextNode.segments = foregroundSegments
|
||||
|
||||
let _ = self.dimBackgroundTextNode.updateLayout(size: CGSize(width: 70.0, height: .greatestFiniteMagnitude), animated: true)
|
||||
let _ = self.backgroundTextNode.updateLayout(size: CGSize(width: 70.0, height: .greatestFiniteMagnitude), animated: true)
|
||||
let _ = self.foregroundTextNode.updateLayout(size: CGSize(width: 70.0, height: .greatestFiniteMagnitude), animated: true)
|
||||
}
|
||||
@ -153,7 +192,10 @@ private final class SliderContextItemNode: ASDisplayNode, ContextMenuCustomNode
|
||||
return (CGSize(width: height * 3.0, height: height), { size, transition in
|
||||
let leftInset: CGFloat = 17.0
|
||||
|
||||
self.vibrancyEffectView?.frame = CGRect(origin: .zero, size: size)
|
||||
|
||||
let textFrame = CGRect(origin: CGPoint(x: leftInset, y: floor((height - backgroundTextSize.height) / 2.0)), size: backgroundTextSize)
|
||||
transition.updateFrameAdditive(node: self.dimBackgroundTextNode, frame: textFrame)
|
||||
transition.updateFrameAdditive(node: self.backgroundTextNode, frame: textFrame)
|
||||
transition.updateFrameAdditive(node: self.foregroundTextNode, frame: textFrame)
|
||||
|
||||
@ -213,3 +255,18 @@ private final class SliderContextItemNode: ASDisplayNode, ContextMenuCustomNode
|
||||
func performAction() {
|
||||
}
|
||||
}
|
||||
|
||||
private func findEffectNode(node: ASDisplayNode?) -> NavigationBackgroundNode? {
|
||||
if let node = node {
|
||||
if let subnodes = node.subnodes {
|
||||
for node in subnodes {
|
||||
if let effectNode = node as? NavigationBackgroundNode {
|
||||
return effectNode
|
||||
}
|
||||
}
|
||||
}
|
||||
return findEffectNode(node: node.supernode)
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "gif_48.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,249 +0,0 @@
|
||||
%PDF-1.7
|
||||
|
||||
1 0 obj
|
||||
<< >>
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
<< /Length 3 0 R >>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 30.400024 17.342773 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
-1.328000 2.657227 m
|
||||
-1.328000 1.923792 -0.733434 1.329226 0.000000 1.329226 c
|
||||
0.733434 1.329226 1.328000 1.923792 1.328000 2.657227 c
|
||||
-1.328000 2.657227 l
|
||||
h
|
||||
4.000000 9.329226 m
|
||||
4.733434 9.329226 5.328000 9.923793 5.328000 10.657227 c
|
||||
5.328000 11.390660 4.733434 11.985227 4.000000 11.985227 c
|
||||
4.000000 9.329226 l
|
||||
h
|
||||
1.328000 2.657227 m
|
||||
1.328000 9.377226 l
|
||||
-1.328000 9.377226 l
|
||||
-1.328000 2.657227 l
|
||||
1.328000 2.657227 l
|
||||
h
|
||||
1.280000 9.329226 m
|
||||
4.000000 9.329226 l
|
||||
4.000000 11.985227 l
|
||||
1.280000 11.985227 l
|
||||
1.280000 9.329226 l
|
||||
h
|
||||
1.328000 9.377226 m
|
||||
1.328000 9.492270 1.328034 9.578946 1.329198 9.653058 c
|
||||
1.330364 9.727207 1.332460 9.769691 1.334489 9.794523 c
|
||||
1.338678 9.845800 1.338141 9.750368 1.270451 9.617519 c
|
||||
-1.096062 10.823318 l
|
||||
-1.250946 10.519341 -1.295081 10.226333 -1.312690 10.010806 c
|
||||
-1.329033 9.810783 -1.328000 9.579334 -1.328000 9.377226 c
|
||||
1.328000 9.377226 l
|
||||
h
|
||||
1.280000 11.985227 m
|
||||
1.077892 11.985227 0.846443 11.986259 0.646420 11.969916 c
|
||||
0.430894 11.952308 0.137886 11.908173 -0.166092 11.753288 c
|
||||
1.039707 9.386775 l
|
||||
0.906858 9.319085 0.811426 9.318548 0.862703 9.322738 c
|
||||
0.887536 9.324766 0.930019 9.326862 1.004169 9.328028 c
|
||||
1.078280 9.329193 1.164957 9.329226 1.280000 9.329226 c
|
||||
1.280000 11.985227 l
|
||||
h
|
||||
1.270451 9.617519 m
|
||||
1.219830 9.518170 1.139057 9.437396 1.039707 9.386775 c
|
||||
-0.166092 11.753288 l
|
||||
-0.566501 11.549270 -0.892043 11.223727 -1.096062 10.823318 c
|
||||
1.270451 9.617519 l
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 30.400024 22.144531 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
0.000000 3.183762 m
|
||||
-0.733434 3.183762 -1.328000 2.589196 -1.328000 1.855762 c
|
||||
-1.328000 1.122328 -0.733434 0.527762 0.000000 0.527762 c
|
||||
0.000000 3.183762 l
|
||||
h
|
||||
4.000000 0.527762 m
|
||||
4.733434 0.527762 5.328000 1.122328 5.328000 1.855762 c
|
||||
5.328000 2.589196 4.733434 3.183762 4.000000 3.183762 c
|
||||
4.000000 0.527762 l
|
||||
h
|
||||
0.000000 0.527762 m
|
||||
4.000000 0.527762 l
|
||||
4.000000 3.183762 l
|
||||
0.000000 3.183762 l
|
||||
0.000000 0.527762 l
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 24.799927 17.343750 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
2.128000 10.656250 m
|
||||
2.128000 11.389684 1.533434 11.984250 0.800000 11.984250 c
|
||||
0.066566 11.984250 -0.528000 11.389684 -0.528000 10.656250 c
|
||||
2.128000 10.656250 l
|
||||
h
|
||||
-0.528000 2.656250 m
|
||||
-0.528000 1.922815 0.066566 1.328250 0.800000 1.328250 c
|
||||
1.533434 1.328250 2.128000 1.922815 2.128000 2.656250 c
|
||||
-0.528000 2.656250 l
|
||||
h
|
||||
-0.528000 10.656250 m
|
||||
-0.528000 2.656250 l
|
||||
2.128000 2.656250 l
|
||||
2.128000 10.656250 l
|
||||
-0.528000 10.656250 l
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 13.599976 17.343750 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
5.231635 9.028395 m
|
||||
5.882138 8.689614 6.684110 8.942316 7.022890 9.592818 c
|
||||
7.361670 10.243321 7.108968 11.045293 6.458466 11.384073 c
|
||||
5.231635 9.028395 l
|
||||
h
|
||||
7.584592 5.588284 m
|
||||
8.889243 5.340351 l
|
||||
8.901488 5.404787 l
|
||||
8.907325 5.470116 l
|
||||
7.584592 5.588284 l
|
||||
h
|
||||
5.600000 7.984250 m
|
||||
4.866566 7.984250 4.272000 7.389684 4.272000 6.656250 c
|
||||
4.272000 5.922816 4.866566 5.328250 5.600000 5.328250 c
|
||||
5.600000 7.984250 l
|
||||
h
|
||||
6.458466 11.384073 m
|
||||
5.721497 11.767884 4.884068 11.984250 4.000000 11.984250 c
|
||||
4.000000 9.328250 l
|
||||
4.446894 9.328250 4.864512 9.219591 5.231635 9.028395 c
|
||||
6.458466 11.384073 l
|
||||
h
|
||||
4.000000 11.984250 m
|
||||
1.057427 11.984250 -1.328000 9.598824 -1.328000 6.656250 c
|
||||
1.328000 6.656250 l
|
||||
1.328000 8.131955 2.524295 9.328250 4.000000 9.328250 c
|
||||
4.000000 11.984250 l
|
||||
h
|
||||
-1.328000 6.656250 m
|
||||
-1.328000 3.713677 1.057427 1.328250 4.000000 1.328250 c
|
||||
4.000000 3.984250 l
|
||||
2.524295 3.984250 1.328000 5.180545 1.328000 6.656250 c
|
||||
-1.328000 6.656250 l
|
||||
h
|
||||
4.000000 1.328250 m
|
||||
6.144260 1.328250 8.394547 2.737200 8.889243 5.340351 c
|
||||
6.279942 5.836216 l
|
||||
6.056704 4.661514 5.055740 3.984250 4.000000 3.984250 c
|
||||
4.000000 1.328250 l
|
||||
h
|
||||
8.907325 5.470116 m
|
||||
8.956036 6.015371 l
|
||||
6.310571 6.251707 l
|
||||
6.261860 5.706451 l
|
||||
8.907325 5.470116 l
|
||||
h
|
||||
7.155208 7.984250 m
|
||||
5.600000 7.984250 l
|
||||
5.600000 5.328250 l
|
||||
7.155208 5.328250 l
|
||||
7.155208 7.984250 l
|
||||
h
|
||||
8.956036 6.015371 m
|
||||
9.050537 7.073197 8.217244 7.984250 7.155208 7.984250 c
|
||||
7.155208 5.328250 l
|
||||
6.657084 5.328250 6.266247 5.755558 6.310571 6.251707 c
|
||||
8.956036 6.015371 l
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 5.599976 2.943848 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
35.472000 21.056055 m
|
||||
35.472000 11.627451 27.828604 3.984055 18.400000 3.984055 c
|
||||
18.400000 1.328056 l
|
||||
29.295473 1.328056 38.127998 10.160582 38.127998 21.056055 c
|
||||
35.472000 21.056055 l
|
||||
h
|
||||
18.400000 3.984055 m
|
||||
8.971395 3.984055 1.328000 11.627451 1.328000 21.056055 c
|
||||
-1.328000 21.056055 l
|
||||
-1.328000 10.160582 7.504526 1.328056 18.400000 1.328056 c
|
||||
18.400000 3.984055 l
|
||||
h
|
||||
1.328000 21.056055 m
|
||||
1.328000 30.484661 8.971395 38.128056 18.400000 38.128056 c
|
||||
18.400000 40.784054 l
|
||||
7.504526 40.784054 -1.328000 31.951529 -1.328000 21.056055 c
|
||||
1.328000 21.056055 l
|
||||
h
|
||||
18.400000 38.128056 m
|
||||
27.828604 38.128056 35.472000 30.484661 35.472000 21.056055 c
|
||||
38.127998 21.056055 l
|
||||
38.127998 31.951529 29.295473 40.784054 18.400000 40.784054 c
|
||||
18.400000 38.128056 l
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
5025
|
||||
endobj
|
||||
|
||||
4 0 obj
|
||||
<< /Annots []
|
||||
/Type /Page
|
||||
/MediaBox [ 0.000000 0.000000 48.000000 48.000000 ]
|
||||
/Resources 1 0 R
|
||||
/Contents 2 0 R
|
||||
/Parent 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
5 0 obj
|
||||
<< /Kids [ 4 0 R ]
|
||||
/Count 1
|
||||
/Type /Pages
|
||||
>>
|
||||
endobj
|
||||
|
||||
6 0 obj
|
||||
<< /Type /Catalog
|
||||
/Pages 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
xref
|
||||
0 7
|
||||
0000000000 65535 f
|
||||
0000000010 00000 n
|
||||
0000000034 00000 n
|
||||
0000005115 00000 n
|
||||
0000005138 00000 n
|
||||
0000005311 00000 n
|
||||
0000005385 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 6 0 R
|
||||
/Size 7
|
||||
>>
|
||||
startxref
|
||||
5444
|
||||
%%EOF
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "premium_48 (1).pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,359 +0,0 @@
|
||||
%PDF-1.7
|
||||
|
||||
1 0 obj
|
||||
<< >>
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
<< /Length 3 0 R >>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 3.167969 0.232300 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
26.596321 7.326611 m
|
||||
26.017796 6.131248 l
|
||||
26.017796 6.131248 l
|
||||
26.596321 7.326611 l
|
||||
h
|
||||
33.049633 4.203373 m
|
||||
33.628159 5.398735 l
|
||||
33.628159 5.398735 l
|
||||
33.049633 4.203373 l
|
||||
h
|
||||
23.465450 11.359636 m
|
||||
24.766926 11.623732 l
|
||||
24.766926 11.623732 l
|
||||
23.465450 11.359636 l
|
||||
h
|
||||
21.219912 22.425730 m
|
||||
22.521387 22.689827 l
|
||||
22.521385 22.689829 l
|
||||
21.219912 22.425730 l
|
||||
h
|
||||
20.468536 22.426363 m
|
||||
21.769566 22.160072 l
|
||||
21.769566 22.160076 l
|
||||
20.468536 22.426363 l
|
||||
h
|
||||
18.201447 11.349876 m
|
||||
16.900419 11.616165 l
|
||||
16.900419 11.616165 l
|
||||
18.201447 11.349876 l
|
||||
h
|
||||
15.076786 7.328415 m
|
||||
15.656298 6.133530 l
|
||||
15.656300 6.133530 l
|
||||
15.076786 7.328415 l
|
||||
h
|
||||
8.645002 4.209038 m
|
||||
8.065491 5.403923 l
|
||||
8.065490 5.403923 l
|
||||
8.645002 4.209038 l
|
||||
h
|
||||
6.009511 6.527775 m
|
||||
7.266081 6.098106 l
|
||||
7.266081 6.098106 l
|
||||
6.009511 6.527775 l
|
||||
h
|
||||
0.756405 26.105867 m
|
||||
1.562058 27.161572 l
|
||||
1.562058 27.161572 l
|
||||
0.756405 26.105867 l
|
||||
h
|
||||
1.732299 29.537737 m
|
||||
1.861923 28.216080 l
|
||||
1.861923 28.216080 l
|
||||
1.732299 29.537737 l
|
||||
h
|
||||
13.316613 30.673882 m
|
||||
13.446237 29.352222 l
|
||||
13.446237 29.352222 l
|
||||
13.316613 30.673882 l
|
||||
h
|
||||
14.893808 31.831930 m
|
||||
16.116005 31.312487 l
|
||||
16.116005 31.312487 l
|
||||
14.893808 31.831930 l
|
||||
h
|
||||
19.081465 41.685043 m
|
||||
20.303661 41.165604 l
|
||||
20.303661 41.165604 l
|
||||
19.081465 41.685043 l
|
||||
h
|
||||
19.421009 42.224472 m
|
||||
20.411942 41.340370 l
|
||||
20.444679 41.377064 20.475355 41.415550 20.503824 41.455647 c
|
||||
19.421009 42.224472 l
|
||||
h
|
||||
22.270512 42.224518 m
|
||||
21.187717 41.455658 l
|
||||
21.216190 41.415562 21.246868 41.377079 21.279608 41.340382 c
|
||||
22.270512 42.224518 l
|
||||
h
|
||||
22.610096 41.685043 m
|
||||
21.387899 41.165604 l
|
||||
21.387901 41.165600 l
|
||||
22.610096 41.685043 l
|
||||
h
|
||||
26.797756 31.831928 m
|
||||
28.019951 32.351372 l
|
||||
28.019951 32.351372 l
|
||||
26.797756 31.831928 l
|
||||
h
|
||||
28.374952 30.673882 m
|
||||
28.245329 29.352222 l
|
||||
28.245329 29.352222 l
|
||||
28.374952 30.673882 l
|
||||
h
|
||||
39.959267 29.537737 m
|
||||
39.829643 28.216080 l
|
||||
39.829643 28.216080 l
|
||||
39.959267 29.537737 l
|
||||
h
|
||||
40.935162 26.105867 m
|
||||
41.740814 25.050165 l
|
||||
41.740814 25.050167 l
|
||||
40.935162 26.105867 l
|
||||
h
|
||||
35.683735 6.522823 m
|
||||
36.940308 6.952484 l
|
||||
36.940308 6.952484 l
|
||||
35.683735 6.522823 l
|
||||
h
|
||||
32.468925 19.644917 m
|
||||
31.663275 20.700619 l
|
||||
32.468925 19.644917 l
|
||||
h
|
||||
9.222645 19.644909 m
|
||||
10.028297 20.700611 l
|
||||
9.222645 19.644909 l
|
||||
h
|
||||
31.848946 17.567064 m
|
||||
30.596266 17.126188 l
|
||||
31.848946 17.567064 l
|
||||
h
|
||||
9.842616 17.567089 m
|
||||
8.589934 18.007967 l
|
||||
9.842616 17.567089 l
|
||||
h
|
||||
26.017796 6.131248 m
|
||||
32.471111 3.008007 l
|
||||
33.628159 5.398735 l
|
||||
27.174847 8.521973 l
|
||||
26.017796 6.131248 l
|
||||
h
|
||||
22.163977 11.095541 m
|
||||
22.603409 8.930000 24.028820 7.093861 26.017796 6.131248 c
|
||||
27.174847 8.521973 l
|
||||
25.932106 9.123428 25.041489 10.270676 24.766926 11.623732 c
|
||||
22.163977 11.095541 l
|
||||
h
|
||||
19.918436 22.161634 m
|
||||
22.163977 11.095541 l
|
||||
24.766926 11.623732 l
|
||||
22.521387 22.689827 l
|
||||
19.918436 22.161634 l
|
||||
h
|
||||
21.769566 22.160076 m
|
||||
21.563301 21.152304 20.123007 21.153507 19.918436 22.161633 c
|
||||
22.521385 22.689829 l
|
||||
22.150745 24.516350 19.541220 24.518536 19.167509 22.692650 c
|
||||
21.769566 22.160076 l
|
||||
h
|
||||
19.502476 11.083588 m
|
||||
21.769566 22.160072 l
|
||||
19.167509 22.692652 l
|
||||
16.900419 11.616165 l
|
||||
19.502476 11.083588 l
|
||||
h
|
||||
15.656300 6.133530 m
|
||||
17.638857 7.095062 19.060648 8.924915 19.502476 11.083588 c
|
||||
16.900419 11.616165 l
|
||||
16.624359 10.267399 15.736004 9.124077 14.497272 8.523296 c
|
||||
15.656300 6.133530 l
|
||||
h
|
||||
9.224514 3.014153 m
|
||||
15.656298 6.133530 l
|
||||
14.497274 8.523300 l
|
||||
8.065491 5.403923 l
|
||||
9.224514 3.014153 l
|
||||
h
|
||||
4.752941 6.957447 m
|
||||
3.816943 4.220119 6.650061 1.765560 9.224514 3.014153 c
|
||||
8.065490 5.403923 l
|
||||
7.586564 5.171646 7.104112 5.624428 7.266081 6.098106 c
|
||||
4.752941 6.957447 l
|
||||
h
|
||||
8.589934 18.007967 m
|
||||
6.955464 13.363882 5.655949 9.598297 4.752941 6.957447 c
|
||||
7.266081 6.098106 l
|
||||
8.166792 8.732243 9.463710 12.490316 11.095298 17.126213 c
|
||||
8.589934 18.007967 l
|
||||
h
|
||||
-0.049248 25.050165 m
|
||||
8.416991 18.589207 l
|
||||
10.028297 20.700611 l
|
||||
1.562058 27.161572 l
|
||||
-0.049248 25.050165 l
|
||||
h
|
||||
1.602676 30.859396 m
|
||||
-1.330588 30.571712 -2.392261 26.838221 -0.049247 25.050165 c
|
||||
1.562058 27.161572 l
|
||||
1.136752 27.486139 1.329462 28.163857 1.861923 28.216080 c
|
||||
1.602676 30.859396 l
|
||||
h
|
||||
13.186990 31.995541 m
|
||||
1.602676 30.859396 l
|
||||
1.861923 28.216080 l
|
||||
13.446237 29.352222 l
|
||||
13.186990 31.995541 l
|
||||
h
|
||||
13.671613 32.351376 m
|
||||
13.587321 32.153046 13.401456 32.016575 13.186990 31.995541 c
|
||||
13.446237 29.352222 l
|
||||
14.627732 29.468102 15.651648 30.219906 16.116005 31.312487 c
|
||||
13.671613 32.351376 l
|
||||
h
|
||||
17.859270 42.204487 m
|
||||
13.671613 32.351372 l
|
||||
16.116005 31.312487 l
|
||||
20.303661 41.165604 l
|
||||
17.859270 42.204487 l
|
||||
h
|
||||
18.430077 43.108574 m
|
||||
18.196718 42.847019 18.003445 42.543720 17.859268 42.204487 c
|
||||
20.303661 41.165604 l
|
||||
20.335835 41.241302 20.373804 41.297623 20.411942 41.340370 c
|
||||
18.430077 43.108574 l
|
||||
h
|
||||
23.353304 42.993378 m
|
||||
22.120342 44.729771 19.571110 44.729740 18.338192 42.993298 c
|
||||
20.503824 41.455647 l
|
||||
20.678020 41.700985 21.013519 41.700985 21.187717 41.455658 c
|
||||
23.353304 42.993378 l
|
||||
h
|
||||
23.832294 42.204487 m
|
||||
23.688103 42.543755 23.494802 42.847080 23.261414 43.108654 c
|
||||
21.279608 41.340382 l
|
||||
21.317753 41.297634 21.355724 41.241310 21.387899 41.165604 c
|
||||
23.832294 42.204487 l
|
||||
h
|
||||
28.019951 32.351372 m
|
||||
23.832293 42.204487 l
|
||||
21.387901 41.165600 l
|
||||
25.575560 31.312485 l
|
||||
28.019951 32.351372 l
|
||||
h
|
||||
28.504576 31.995541 m
|
||||
28.290104 32.016575 28.104240 32.153046 28.019951 32.351372 c
|
||||
25.575560 31.312489 l
|
||||
26.039915 30.219902 27.063835 29.468100 28.245329 29.352222 c
|
||||
28.504576 31.995541 l
|
||||
h
|
||||
40.088890 30.859396 m
|
||||
28.504576 31.995541 l
|
||||
28.245329 29.352222 l
|
||||
39.829643 28.216080 l
|
||||
40.088890 30.859396 l
|
||||
h
|
||||
41.740814 25.050167 m
|
||||
44.083820 26.838221 43.022160 30.571712 40.088890 30.859396 c
|
||||
39.829643 28.216080 l
|
||||
40.362099 28.163857 40.554817 27.486143 40.129505 27.161570 c
|
||||
41.740814 25.050167 l
|
||||
h
|
||||
33.274578 18.589212 m
|
||||
41.740814 25.050165 l
|
||||
40.129509 27.161572 l
|
||||
31.663275 20.700619 l
|
||||
33.274578 18.589212 l
|
||||
h
|
||||
36.940308 6.952484 m
|
||||
36.037231 9.593578 34.737118 13.360964 33.101627 18.007942 c
|
||||
30.596266 17.126188 l
|
||||
32.228870 12.487404 33.526386 8.727535 34.427162 6.093159 c
|
||||
36.940308 6.952484 l
|
||||
h
|
||||
32.471111 3.008007 m
|
||||
35.045464 1.762089 37.875858 4.216412 36.940308 6.952484 c
|
||||
34.427162 6.093163 l
|
||||
34.589066 5.619659 34.107037 5.166969 33.628159 5.398735 c
|
||||
32.471111 3.008007 l
|
||||
h
|
||||
31.663275 20.700619 m
|
||||
31.388407 20.490854 31.149704 20.237541 30.956619 19.950712 c
|
||||
33.159912 18.467527 l
|
||||
33.191242 18.514071 33.229977 18.555176 33.274578 18.589212 c
|
||||
31.663275 20.700619 l
|
||||
h
|
||||
10.734936 19.950726 m
|
||||
10.541856 20.237547 10.303158 20.490852 10.028297 20.700611 c
|
||||
8.416991 18.589207 l
|
||||
8.461590 18.555170 8.500321 18.514071 8.531651 18.467529 c
|
||||
10.734936 19.950726 l
|
||||
h
|
||||
30.956619 19.950712 m
|
||||
30.396477 19.118612 30.263741 18.071003 30.596266 17.126188 c
|
||||
33.101627 18.007942 l
|
||||
33.047279 18.162365 33.069302 18.332926 33.159912 18.467527 c
|
||||
30.956619 19.950712 l
|
||||
h
|
||||
11.095298 17.126213 m
|
||||
11.427822 18.071028 11.295080 19.118631 10.734936 19.950726 c
|
||||
8.531651 18.467529 l
|
||||
8.622259 18.332932 8.644280 18.162380 8.589934 18.007967 c
|
||||
11.095298 17.126213 l
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
6902
|
||||
endobj
|
||||
|
||||
4 0 obj
|
||||
<< /Annots []
|
||||
/Type /Page
|
||||
/MediaBox [ 0.000000 0.000000 48.000000 48.000000 ]
|
||||
/Resources 1 0 R
|
||||
/Contents 2 0 R
|
||||
/Parent 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
5 0 obj
|
||||
<< /Kids [ 4 0 R ]
|
||||
/Count 1
|
||||
/Type /Pages
|
||||
>>
|
||||
endobj
|
||||
|
||||
6 0 obj
|
||||
<< /Pages 5 0 R
|
||||
/Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
|
||||
xref
|
||||
0 7
|
||||
0000000000 65535 f
|
||||
0000000010 00000 n
|
||||
0000000034 00000 n
|
||||
0000006992 00000 n
|
||||
0000007015 00000 n
|
||||
0000007188 00000 n
|
||||
0000007262 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 6 0 R
|
||||
/Size 7
|
||||
>>
|
||||
startxref
|
||||
7321
|
||||
%%EOF
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "recent_48.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,89 +0,0 @@
|
||||
%PDF-1.7
|
||||
|
||||
1 0 obj
|
||||
<< >>
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
<< /Length 3 0 R >>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 4.271973 4.271973 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
2.656000 19.728054 m
|
||||
2.656000 29.156660 10.299395 36.800056 19.728001 36.800056 c
|
||||
29.156605 36.800056 36.799999 29.156660 36.799999 19.728054 c
|
||||
36.799999 10.299450 29.156605 2.656055 19.728001 2.656055 c
|
||||
10.299395 2.656055 2.656000 10.299450 2.656000 19.728054 c
|
||||
h
|
||||
19.728001 39.456055 m
|
||||
8.832526 39.456055 0.000000 30.623528 0.000000 19.728054 c
|
||||
0.000000 8.832581 8.832526 0.000057 19.728001 0.000057 c
|
||||
30.623474 0.000057 39.455997 8.832581 39.455997 19.728054 c
|
||||
39.455997 30.623528 30.623474 39.456055 19.728001 39.456055 c
|
||||
h
|
||||
21.056000 30.928055 m
|
||||
21.056000 31.661489 20.461435 32.256054 19.728001 32.256054 c
|
||||
18.994566 32.256054 18.400002 31.661489 18.400002 30.928055 c
|
||||
18.400002 20.440632 l
|
||||
18.400002 19.610584 18.752302 18.819542 19.369272 18.264267 c
|
||||
26.839615 11.540958 l
|
||||
27.384773 11.050316 28.224453 11.094513 28.715096 11.639668 c
|
||||
29.205738 12.184826 29.161543 13.024506 28.616386 13.515148 c
|
||||
21.146042 20.238457 l
|
||||
21.088728 20.290041 21.056000 20.363525 21.056000 20.440632 c
|
||||
21.056000 30.928055 l
|
||||
h
|
||||
f*
|
||||
n
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
1137
|
||||
endobj
|
||||
|
||||
4 0 obj
|
||||
<< /Annots []
|
||||
/Type /Page
|
||||
/MediaBox [ 0.000000 0.000000 48.000000 48.000000 ]
|
||||
/Resources 1 0 R
|
||||
/Contents 2 0 R
|
||||
/Parent 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
5 0 obj
|
||||
<< /Kids [ 4 0 R ]
|
||||
/Count 1
|
||||
/Type /Pages
|
||||
>>
|
||||
endobj
|
||||
|
||||
6 0 obj
|
||||
<< /Type /Catalog
|
||||
/Pages 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
xref
|
||||
0 7
|
||||
0000000000 65535 f
|
||||
0000000010 00000 n
|
||||
0000000034 00000 n
|
||||
0000001227 00000 n
|
||||
0000001250 00000 n
|
||||
0000001423 00000 n
|
||||
0000001497 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 6 0 R
|
||||
/Size 7
|
||||
>>
|
||||
startxref
|
||||
1556
|
||||
%%EOF
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "favourites_48.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,257 +0,0 @@
|
||||
%PDF-1.7
|
||||
|
||||
1 0 obj
|
||||
<< >>
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
<< /Length 3 0 R >>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 8.640038 3.178040 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
6.261478 5.109386 m
|
||||
5.424051 6.140068 l
|
||||
6.261478 5.109386 l
|
||||
h
|
||||
2.415318 2.664314 m
|
||||
2.406842 3.992287 l
|
||||
2.415318 2.664314 l
|
||||
h
|
||||
0.527705 3.562763 m
|
||||
1.563708 4.393593 l
|
||||
0.527705 3.562763 l
|
||||
h
|
||||
17.377895 10.862392 m
|
||||
18.215322 11.893072 l
|
||||
17.377895 10.862392 l
|
||||
h
|
||||
15.899100 11.850965 m
|
||||
16.257063 13.129810 l
|
||||
15.899100 11.850965 l
|
||||
h
|
||||
13.342102 10.862394 m
|
||||
14.179529 9.831715 l
|
||||
13.342102 10.862394 l
|
||||
h
|
||||
14.820896 11.850965 m
|
||||
15.178860 10.572121 l
|
||||
14.820896 11.850965 l
|
||||
h
|
||||
30.192291 3.562763 m
|
||||
29.156288 4.393593 l
|
||||
30.192291 3.562763 l
|
||||
h
|
||||
28.304678 2.664314 m
|
||||
28.296202 1.336342 l
|
||||
28.304678 2.664314 l
|
||||
h
|
||||
27.225536 37.724377 m
|
||||
26.622637 36.541122 l
|
||||
27.225536 37.724377 l
|
||||
h
|
||||
30.022438 34.927475 m
|
||||
31.205694 35.530376 l
|
||||
30.022438 34.927475 l
|
||||
h
|
||||
3.494461 37.724377 m
|
||||
2.891561 38.907635 l
|
||||
3.494461 37.724377 l
|
||||
h
|
||||
10.240000 37.093937 m
|
||||
20.479986 37.093937 l
|
||||
20.479986 39.749935 l
|
||||
10.240000 39.749935 l
|
||||
10.240000 37.093937 l
|
||||
h
|
||||
29.391996 28.181934 m
|
||||
29.391996 8.089657 l
|
||||
32.047997 8.089657 l
|
||||
32.047997 28.181934 l
|
||||
29.391996 28.181934 l
|
||||
h
|
||||
25.295948 6.140064 m
|
||||
18.215322 11.893072 l
|
||||
16.540470 9.831713 l
|
||||
23.621094 4.078705 l
|
||||
25.295948 6.140064 l
|
||||
h
|
||||
12.504675 11.893072 m
|
||||
5.424051 6.140068 l
|
||||
7.098906 4.078709 l
|
||||
14.179529 9.831715 l
|
||||
12.504675 11.893072 l
|
||||
h
|
||||
1.328000 8.089663 m
|
||||
1.328000 28.181942 l
|
||||
-1.328000 28.181942 l
|
||||
-1.328000 8.089663 l
|
||||
1.328000 8.089663 l
|
||||
h
|
||||
5.424051 6.140068 m
|
||||
4.402600 5.310135 3.707039 4.746693 3.163149 4.381077 c
|
||||
2.897757 4.202675 2.710315 4.100582 2.576172 4.044216 c
|
||||
2.447700 3.990234 2.400969 3.992249 2.406842 3.992287 c
|
||||
2.423795 1.336342 l
|
||||
3.258891 1.341671 3.998366 1.742203 4.644900 2.176819 c
|
||||
5.312774 2.625778 6.118561 3.282177 7.098906 4.078709 c
|
||||
5.424051 6.140068 l
|
||||
h
|
||||
-1.328000 8.089663 m
|
||||
-1.328000 6.826519 -1.329317 5.787216 -1.256605 4.985760 c
|
||||
-1.186216 4.209911 -1.030768 3.383423 -0.508299 2.731930 c
|
||||
1.563708 4.393593 l
|
||||
1.567382 4.389011 1.536350 4.424007 1.497233 4.557758 c
|
||||
1.456389 4.697414 1.417425 4.907269 1.388531 5.225739 c
|
||||
1.329317 5.878414 1.328000 6.773554 1.328000 8.089663 c
|
||||
-1.328000 8.089663 l
|
||||
h
|
||||
2.406842 3.992287 m
|
||||
2.079242 3.990196 1.768668 4.138020 1.563708 4.393593 c
|
||||
-0.508299 2.731930 l
|
||||
0.204472 1.843143 1.284526 1.329071 2.423795 1.336342 c
|
||||
2.406842 3.992287 l
|
||||
h
|
||||
18.215322 11.893072 m
|
||||
17.870771 12.173019 17.557215 12.428867 17.277817 12.623514 c
|
||||
16.984676 12.827738 16.656111 13.018112 16.257063 13.129810 c
|
||||
15.541137 10.572121 l
|
||||
15.541925 10.571899 15.593106 10.560205 15.759577 10.444231 c
|
||||
15.939793 10.318680 16.165714 10.136200 16.540470 9.831713 c
|
||||
18.215322 11.893072 l
|
||||
h
|
||||
14.179529 9.831715 m
|
||||
14.554282 10.136202 14.780205 10.318680 14.960420 10.444231 c
|
||||
15.126890 10.560205 15.178071 10.571899 15.178860 10.572121 c
|
||||
14.462933 13.129810 l
|
||||
14.063885 13.018112 13.735321 12.827738 13.442180 12.623516 c
|
||||
13.162783 12.428869 12.849226 12.173021 12.504675 11.893072 c
|
||||
14.179529 9.831715 l
|
||||
h
|
||||
16.257063 13.129810 m
|
||||
15.670297 13.294054 15.049700 13.294054 14.462933 13.129810 c
|
||||
15.178860 10.572121 l
|
||||
15.297341 10.605284 15.422654 10.605284 15.541137 10.572121 c
|
||||
16.257063 13.129810 l
|
||||
h
|
||||
29.391996 8.089657 m
|
||||
29.391996 6.773550 29.390678 5.878414 29.331465 5.225739 c
|
||||
29.302572 4.907269 29.263607 4.697414 29.222763 4.557758 c
|
||||
29.183647 4.424007 29.152615 4.389011 29.156288 4.393593 c
|
||||
31.228294 2.731930 l
|
||||
31.750763 3.383423 31.906212 4.209911 31.976601 4.985760 c
|
||||
32.049313 5.787212 32.047997 6.826513 32.047997 8.089657 c
|
||||
29.391996 8.089657 l
|
||||
h
|
||||
23.621094 4.078705 m
|
||||
24.601437 3.282177 25.407223 2.625778 26.075096 2.176819 c
|
||||
26.721630 1.742203 27.461105 1.341671 28.296202 1.336342 c
|
||||
28.313154 3.992287 l
|
||||
28.319027 3.992249 28.272297 3.990234 28.143824 4.044216 c
|
||||
28.009682 4.100582 27.822239 4.202671 27.556849 4.381073 c
|
||||
27.012959 4.746689 26.317398 5.310135 25.295948 6.140064 c
|
||||
23.621094 4.078705 l
|
||||
h
|
||||
29.156288 4.393593 m
|
||||
28.951328 4.138020 28.640755 3.990196 28.313154 3.992287 c
|
||||
28.296202 1.336342 l
|
||||
29.435471 1.329071 30.515524 1.843143 31.228294 2.731930 c
|
||||
29.156288 4.393593 l
|
||||
h
|
||||
20.479986 37.093937 m
|
||||
22.294069 37.093937 23.574766 37.092903 24.575359 37.011150 c
|
||||
25.560450 36.930668 26.156532 36.778614 26.622637 36.541122 c
|
||||
27.828436 38.907635 l
|
||||
26.925505 39.367702 25.940983 39.564426 24.791643 39.658329 c
|
||||
23.657806 39.750969 22.250244 39.749935 20.479986 39.749935 c
|
||||
20.479986 37.093937 l
|
||||
h
|
||||
32.047997 28.181934 m
|
||||
32.047997 29.952190 32.049030 31.359749 31.956390 32.493584 c
|
||||
31.862486 33.642921 31.665760 34.627445 31.205694 35.530376 c
|
||||
28.839182 34.324577 l
|
||||
29.076674 33.858471 29.228727 33.262390 29.309212 32.277302 c
|
||||
29.390965 31.276711 29.391996 29.996016 29.391996 28.181934 c
|
||||
32.047997 28.181934 l
|
||||
h
|
||||
26.622637 36.541122 m
|
||||
27.576994 36.054852 28.352911 35.278934 28.839182 34.324577 c
|
||||
31.205694 35.530376 l
|
||||
30.464785 36.984489 29.282551 38.166725 27.828436 38.907635 c
|
||||
26.622637 36.541122 l
|
||||
h
|
||||
10.240000 39.749935 m
|
||||
8.469745 39.749935 7.062186 39.750969 5.928351 39.658329 c
|
||||
4.779013 39.564426 3.794492 39.367702 2.891561 38.907635 c
|
||||
4.097360 36.541122 l
|
||||
4.563464 36.778614 5.159545 36.930668 6.144634 37.011150 c
|
||||
7.145226 37.092903 8.425919 37.093937 10.240000 37.093937 c
|
||||
10.240000 39.749935 l
|
||||
h
|
||||
1.328000 28.181942 m
|
||||
1.328000 29.996021 1.329033 31.276712 1.410784 32.277302 c
|
||||
1.491269 33.262390 1.643323 33.858471 1.880815 34.324577 c
|
||||
-0.485698 35.530376 l
|
||||
-0.945765 34.627445 -1.142490 33.642925 -1.236395 32.493587 c
|
||||
-1.329033 31.359753 -1.328000 29.952194 -1.328000 28.181942 c
|
||||
1.328000 28.181942 l
|
||||
h
|
||||
2.891561 38.907635 m
|
||||
1.437445 38.166725 0.255211 36.984489 -0.485698 35.530376 c
|
||||
1.880815 34.324577 l
|
||||
2.367085 35.278934 3.143002 36.054852 4.097360 36.541122 c
|
||||
2.891561 38.907635 l
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
5667
|
||||
endobj
|
||||
|
||||
4 0 obj
|
||||
<< /Annots []
|
||||
/Type /Page
|
||||
/MediaBox [ 0.000000 0.000000 48.000000 48.000000 ]
|
||||
/Resources 1 0 R
|
||||
/Contents 2 0 R
|
||||
/Parent 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
5 0 obj
|
||||
<< /Kids [ 4 0 R ]
|
||||
/Count 1
|
||||
/Type /Pages
|
||||
>>
|
||||
endobj
|
||||
|
||||
6 0 obj
|
||||
<< /Pages 5 0 R
|
||||
/Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
|
||||
xref
|
||||
0 7
|
||||
0000000000 65535 f
|
||||
0000000010 00000 n
|
||||
0000000034 00000 n
|
||||
0000005757 00000 n
|
||||
0000005780 00000 n
|
||||
0000005953 00000 n
|
||||
0000006027 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 6 0 R
|
||||
/Size 7
|
||||
>>
|
||||
startxref
|
||||
6086
|
||||
%%EOF
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "settings_48.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,198 +0,0 @@
|
||||
%PDF-1.7
|
||||
|
||||
1 0 obj
|
||||
<< >>
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
<< /Length 3 0 R >>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 3.500000 3.500000 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
22.000000 39.500000 m
|
||||
22.000000 40.328426 21.328428 41.000000 20.500000 41.000000 c
|
||||
19.671574 41.000000 19.000000 40.328426 19.000000 39.500000 c
|
||||
19.000000 38.338337 l
|
||||
19.000000 37.690460 18.579983 37.117363 17.962181 36.922268 c
|
||||
17.088881 36.646984 l
|
||||
16.504770 36.524204 15.932035 36.370529 15.372461 36.187752 c
|
||||
14.486683 35.991013 l
|
||||
13.854101 35.851067 13.203807 36.137375 12.879869 36.698452 c
|
||||
12.299038 37.704483 l
|
||||
11.884825 38.421921 10.967439 38.667736 10.250000 38.253521 c
|
||||
9.532561 37.839306 9.286749 36.921921 9.700962 36.204483 c
|
||||
10.281794 35.198452 l
|
||||
10.605731 34.637375 10.528535 33.931049 10.091049 33.453190 c
|
||||
9.444299 32.748505 l
|
||||
9.026765 32.371395 8.628606 31.973236 8.251495 31.555702 c
|
||||
7.546809 30.908951 l
|
||||
7.068950 30.471466 6.362623 30.394268 5.801547 30.718206 c
|
||||
4.795517 31.299038 l
|
||||
4.078078 31.713251 3.160693 31.467438 2.746479 30.750000 c
|
||||
2.332266 30.032562 2.578078 29.115175 3.295517 28.700962 c
|
||||
4.301547 28.120131 l
|
||||
4.862623 27.796192 5.148933 27.145899 5.008989 26.513317 c
|
||||
4.812248 25.627539 l
|
||||
4.629469 25.067965 4.475796 24.495230 4.353016 23.911119 c
|
||||
4.077733 23.037819 l
|
||||
3.882637 22.420017 3.309538 22.000000 2.661662 22.000000 c
|
||||
1.500000 22.000000 l
|
||||
0.671573 22.000000 0.000000 21.328426 0.000000 20.500000 c
|
||||
0.000000 19.671572 0.671573 19.000000 1.500000 19.000000 c
|
||||
2.661662 19.000000 l
|
||||
3.309538 19.000000 3.882637 18.579983 4.077733 17.962181 c
|
||||
4.353333 17.087372 l
|
||||
4.475950 16.504307 4.629352 15.932577 4.811759 15.373960 c
|
||||
5.008989 14.486683 l
|
||||
5.148933 13.854101 4.862623 13.203808 4.301547 12.879869 c
|
||||
3.295517 12.299038 l
|
||||
2.578078 11.884825 2.332266 10.967440 2.746479 10.250000 c
|
||||
3.160693 9.532560 4.078078 9.286747 4.795517 9.700962 c
|
||||
5.801547 10.281792 l
|
||||
6.362623 10.605730 7.068950 10.528536 7.546809 10.091049 c
|
||||
8.250140 9.445797 l
|
||||
8.627652 9.027718 9.026265 8.629059 9.444299 8.251495 c
|
||||
10.091049 7.546806 l
|
||||
10.528535 7.068951 10.605731 6.362625 10.281794 5.801548 c
|
||||
9.700962 4.795517 l
|
||||
9.286749 4.078079 9.532561 3.160690 10.250000 2.746479 c
|
||||
10.967439 2.332264 11.884825 2.578079 12.299038 3.295517 c
|
||||
12.879869 4.301548 l
|
||||
13.203807 4.862625 13.854101 5.148933 14.486683 5.008987 c
|
||||
15.384456 4.808334 l
|
||||
15.943589 4.626175 16.515841 4.473072 17.099430 4.350803 c
|
||||
17.962181 4.077732 l
|
||||
18.125601 4.015381 l
|
||||
18.652878 3.777821 19.000000 3.250641 19.000000 2.661663 c
|
||||
19.000000 1.500000 l
|
||||
19.010092 1.325066 l
|
||||
19.096739 0.579060 19.730747 0.000000 20.500000 0.000000 c
|
||||
21.328428 0.000000 22.000000 0.671574 22.000000 1.500000 c
|
||||
22.000000 2.661663 l
|
||||
22.010246 2.836273 l
|
||||
22.078001 3.410614 22.476181 3.900372 23.037819 4.077732 c
|
||||
23.905090 4.351749 l
|
||||
24.486071 4.473644 25.055811 4.626099 25.612547 4.807358 c
|
||||
26.513317 5.008987 l
|
||||
27.145899 5.148933 27.796192 4.862625 28.120131 4.301548 c
|
||||
28.700962 3.295517 l
|
||||
29.115175 2.578079 30.032560 2.332264 30.750000 2.746479 c
|
||||
31.467440 3.160690 31.713253 4.078079 31.299038 4.795517 c
|
||||
30.718208 5.801548 l
|
||||
30.394270 6.362625 30.471464 7.068951 30.908951 7.546806 c
|
||||
31.555702 8.251495 l
|
||||
31.973736 8.629059 32.372349 9.027718 32.749863 9.445797 c
|
||||
33.453194 10.091049 l
|
||||
33.931049 10.528536 34.637375 10.605730 35.198452 10.281792 c
|
||||
36.204483 9.700962 l
|
||||
36.921921 9.286747 37.839310 9.532560 38.253521 10.250000 c
|
||||
38.667736 10.967440 38.421921 11.884825 37.704483 12.299038 c
|
||||
36.698452 12.879869 l
|
||||
36.137375 13.203808 35.851067 13.854101 35.991013 14.486683 c
|
||||
36.192642 15.387453 l
|
||||
36.373901 15.944189 36.526356 16.513929 36.648251 17.094910 c
|
||||
36.922268 17.962181 l
|
||||
37.117363 18.579983 37.690460 19.000000 38.338337 19.000000 c
|
||||
39.500000 19.000000 l
|
||||
40.328426 19.000000 41.000000 19.671572 41.000000 20.500000 c
|
||||
41.000000 21.328426 40.328426 22.000000 39.500000 22.000000 c
|
||||
38.338337 22.000000 l
|
||||
37.690460 22.000000 37.117363 22.420017 36.922268 23.037819 c
|
||||
36.648884 23.902077 l
|
||||
36.526775 24.484623 36.373940 25.055870 36.192154 25.614044 c
|
||||
35.991013 26.513317 l
|
||||
35.851067 27.145899 36.137375 27.796192 36.698452 28.120131 c
|
||||
37.704483 28.700962 l
|
||||
38.421921 29.115175 38.667736 30.032562 38.253521 30.750000 c
|
||||
37.839310 31.467438 36.921921 31.713251 36.204483 31.299038 c
|
||||
35.198452 30.718206 l
|
||||
34.637375 30.394268 33.931049 30.471466 33.453194 30.908951 c
|
||||
32.748505 31.555702 l
|
||||
32.370941 31.973736 31.972282 32.372349 31.554203 32.749859 c
|
||||
30.908951 33.453190 l
|
||||
30.471464 33.931049 30.394270 34.637375 30.718208 35.198452 c
|
||||
31.299038 36.204483 l
|
||||
31.713253 36.921921 31.467440 37.839306 30.750000 38.253521 c
|
||||
30.032560 38.667736 29.115175 38.421921 28.700962 37.704483 c
|
||||
28.120131 36.698452 l
|
||||
27.796192 36.137375 27.145899 35.851067 26.513317 35.991013 c
|
||||
25.626040 36.188240 l
|
||||
25.067423 36.370647 24.495693 36.524048 23.912628 36.646667 c
|
||||
23.037819 36.922268 l
|
||||
22.420017 37.117363 22.000000 37.690460 22.000000 38.338337 c
|
||||
22.000000 39.500000 l
|
||||
h
|
||||
6.999939 20.500244 m
|
||||
6.999939 27.956089 13.044094 34.000244 20.499939 34.000244 c
|
||||
27.955784 34.000244 33.999939 27.956089 33.999939 20.500244 c
|
||||
33.999939 13.044399 27.955784 7.000244 20.499939 7.000244 c
|
||||
13.044094 7.000244 6.999939 13.044399 6.999939 20.500244 c
|
||||
h
|
||||
14.233011 30.086567 m
|
||||
14.833106 30.510162 15.662971 30.367085 16.086567 29.766989 c
|
||||
21.689148 21.830000 l
|
||||
30.500000 21.830000 l
|
||||
31.234539 21.830000 31.830000 21.234539 31.830000 20.500000 c
|
||||
31.830000 19.765461 31.234539 19.170000 30.500000 19.170000 c
|
||||
21.689148 19.170000 l
|
||||
16.086567 11.233011 l
|
||||
15.662971 10.632917 14.833106 10.489836 14.233011 10.913433 c
|
||||
13.632916 11.337029 13.489837 12.166895 13.913433 12.766989 c
|
||||
19.372028 20.500000 l
|
||||
13.913433 28.233011 l
|
||||
13.489837 28.833107 13.632916 29.662971 14.233011 30.086567 c
|
||||
h
|
||||
f*
|
||||
n
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
5648
|
||||
endobj
|
||||
|
||||
4 0 obj
|
||||
<< /Annots []
|
||||
/Type /Page
|
||||
/MediaBox [ 0.000000 0.000000 48.000000 48.000000 ]
|
||||
/Resources 1 0 R
|
||||
/Contents 2 0 R
|
||||
/Parent 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
5 0 obj
|
||||
<< /Kids [ 4 0 R ]
|
||||
/Count 1
|
||||
/Type /Pages
|
||||
>>
|
||||
endobj
|
||||
|
||||
6 0 obj
|
||||
<< /Type /Catalog
|
||||
/Pages 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
xref
|
||||
0 7
|
||||
0000000000 65535 f
|
||||
0000000010 00000 n
|
||||
0000000034 00000 n
|
||||
0000005738 00000 n
|
||||
0000005761 00000 n
|
||||
0000005934 00000 n
|
||||
0000006008 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 6 0 R
|
||||
/Size 7
|
||||
>>
|
||||
startxref
|
||||
6067
|
||||
%%EOF
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "stickers_48.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,123 +0,0 @@
|
||||
%PDF-1.7
|
||||
|
||||
1 0 obj
|
||||
<< >>
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
<< /Length 3 0 R >>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 4.270020 4.152344 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
16.315697 39.500134 m
|
||||
17.465136 39.695385 18.643398 39.519531 19.692223 38.997250 c
|
||||
20.036819 38.810360 l
|
||||
20.329382 38.633312 l
|
||||
22.423059 37.333458 25.297297 34.879963 28.991110 31.253437 c
|
||||
30.068821 30.185352 l
|
||||
30.611883 29.639896 l
|
||||
34.713905 25.501024 37.402637 22.349218 38.705769 20.126995 c
|
||||
39.294643 19.122784 39.547707 17.960588 39.433071 16.802202 c
|
||||
39.381195 16.416437 l
|
||||
39.289803 15.914349 l
|
||||
39.216812 15.566687 l
|
||||
39.100006 15.079699 l
|
||||
36.891888 6.359375 29.005989 0.117638 19.853556 0.117638 c
|
||||
8.888740 0.117638 0.000000 9.006048 0.000000 19.970463 c
|
||||
0.000000 29.125599 6.246058 37.013073 14.970581 39.218063 c
|
||||
15.710625 39.388660 l
|
||||
16.315697 39.500134 l
|
||||
h
|
||||
12.798756 35.489426 m
|
||||
12.631100 35.425148 l
|
||||
12.241472 35.242031 l
|
||||
6.578289 32.429054 2.786009 26.584171 2.786009 19.970726 c
|
||||
2.786009 10.544853 10.427470 2.903671 19.853691 2.903671 c
|
||||
26.466494 2.903671 32.311123 6.694832 35.134140 12.353510 c
|
||||
35.125557 12.358789 l
|
||||
35.308681 12.748402 l
|
||||
35.384480 12.909666 35.423779 13.085659 35.423779 13.263847 c
|
||||
35.423779 13.877327 34.967880 14.384329 34.376385 14.464569 c
|
||||
34.211948 14.475632 l
|
||||
32.160770 14.475632 l
|
||||
22.489969 14.475632 14.620218 22.186560 14.364793 31.795357 c
|
||||
14.358393 32.277351 l
|
||||
14.358393 34.328457 l
|
||||
14.358393 34.506645 14.319095 34.682640 14.243299 34.843903 c
|
||||
13.984495 35.394527 13.364433 35.659653 12.798756 35.489426 c
|
||||
h
|
||||
16.782263 36.753235 m
|
||||
17.411953 36.860195 18.059189 36.741272 18.609720 36.417446 c
|
||||
18.873783 36.257626 l
|
||||
19.147327 36.083416 l
|
||||
21.103546 34.807701 23.928543 32.350906 27.572746 28.738895 c
|
||||
28.098915 28.215038 l
|
||||
29.130342 27.174446 l
|
||||
32.797047 23.440453 35.195877 20.604664 36.302593 18.717381 c
|
||||
36.625195 18.167248 36.743385 17.520950 36.636360 16.892254 c
|
||||
36.563797 16.495956 l
|
||||
35.903824 16.976896 35.090961 17.260666 34.211819 17.260666 c
|
||||
32.160641 17.260666 l
|
||||
31.717884 17.267069 l
|
||||
23.629288 17.501270 17.144138 24.131626 17.144138 32.276615 c
|
||||
17.144138 34.327721 l
|
||||
17.128656 34.679214 l
|
||||
17.087467 35.145836 16.964489 35.602531 16.764452 36.028126 c
|
||||
16.655125 36.260727 16.526255 36.477886 16.380722 36.678566 c
|
||||
16.574390 36.716927 l
|
||||
16.782263 36.753235 l
|
||||
h
|
||||
f*
|
||||
n
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
2244
|
||||
endobj
|
||||
|
||||
4 0 obj
|
||||
<< /Annots []
|
||||
/Type /Page
|
||||
/MediaBox [ 0.000000 0.000000 48.000000 48.000000 ]
|
||||
/Resources 1 0 R
|
||||
/Contents 2 0 R
|
||||
/Parent 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
5 0 obj
|
||||
<< /Kids [ 4 0 R ]
|
||||
/Count 1
|
||||
/Type /Pages
|
||||
>>
|
||||
endobj
|
||||
|
||||
6 0 obj
|
||||
<< /Type /Catalog
|
||||
/Pages 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
xref
|
||||
0 7
|
||||
0000000000 65535 f
|
||||
0000000010 00000 n
|
||||
0000000034 00000 n
|
||||
0000002334 00000 n
|
||||
0000002357 00000 n
|
||||
0000002530 00000 n
|
||||
0000002604 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 6 0 R
|
||||
/Size 7
|
||||
>>
|
||||
startxref
|
||||
2663
|
||||
%%EOF
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "trending_48.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,110 +0,0 @@
|
||||
%PDF-1.7
|
||||
|
||||
1 0 obj
|
||||
<< >>
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
<< /Length 3 0 R >>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 4.170044 0.499023 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
32.698776 36.649349 m
|
||||
33.196007 37.230061 33.128334 38.103909 32.547619 38.601139 c
|
||||
24.752439 45.275715 13.077241 44.850506 5.778737 37.552002 c
|
||||
-1.926246 29.847019 -1.926246 17.354773 5.778737 9.649792 c
|
||||
13.483720 1.944809 25.975967 1.944809 33.680950 9.649792 c
|
||||
35.733494 11.702333 37.280899 14.138113 38.257706 16.806875 c
|
||||
38.402122 17.201443 38.533802 17.600437 38.652599 18.003250 c
|
||||
38.868858 18.736530 38.449730 19.506285 37.716450 19.722542 c
|
||||
36.983170 19.938799 36.213417 19.519670 35.997158 18.786390 c
|
||||
35.895077 18.440252 35.781937 18.097435 35.657864 17.758453 c
|
||||
34.818737 15.465839 33.489719 13.373833 31.723314 11.607428 c
|
||||
25.099504 4.983616 14.360184 4.983616 7.736373 11.607428 c
|
||||
1.112563 18.231237 1.112563 28.970556 7.736373 35.594368 c
|
||||
14.010414 41.868408 24.048201 42.233982 30.746983 36.498192 c
|
||||
31.327696 36.000961 32.201546 36.068634 32.698776 36.649349 c
|
||||
h
|
||||
38.615009 32.391445 m
|
||||
38.529594 33.073990 37.947231 33.602066 37.241535 33.602066 c
|
||||
28.902636 33.602066 l
|
||||
28.728996 33.591278 l
|
||||
28.046450 33.505859 27.518377 32.923504 27.518377 32.217808 c
|
||||
27.529161 32.044167 l
|
||||
27.614580 31.361622 28.196938 30.833549 28.902636 30.833549 c
|
||||
34.177799 30.834362 l
|
||||
25.567074 22.223354 l
|
||||
20.660971 27.129120 l
|
||||
20.471394 27.300470 l
|
||||
19.490988 28.100105 18.044804 28.042988 17.130936 27.129120 c
|
||||
8.744342 18.742527 l
|
||||
8.620458 18.600773 l
|
||||
8.207510 18.058197 8.248805 17.280428 8.744342 16.784891 c
|
||||
8.886098 16.661007 l
|
||||
9.428673 16.248058 10.206441 16.289354 10.701978 16.784891 c
|
||||
18.894285 24.980196 l
|
||||
23.802057 20.072762 l
|
||||
23.991632 19.901411 l
|
||||
24.972040 19.101778 26.418222 19.158894 27.332090 20.072762 c
|
||||
35.857254 28.599537 l
|
||||
35.857281 23.878904 l
|
||||
35.868065 23.705265 l
|
||||
35.953484 23.022720 36.535839 22.494646 37.241535 22.494646 c
|
||||
38.006042 22.494646 38.625793 23.114401 38.625793 23.878904 c
|
||||
38.625793 32.217808 l
|
||||
38.615009 32.391445 l
|
||||
h
|
||||
f*
|
||||
n
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
1977
|
||||
endobj
|
||||
|
||||
4 0 obj
|
||||
<< /Annots []
|
||||
/Type /Page
|
||||
/MediaBox [ 0.000000 0.000000 48.000000 48.000000 ]
|
||||
/Resources 1 0 R
|
||||
/Contents 2 0 R
|
||||
/Parent 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
5 0 obj
|
||||
<< /Kids [ 4 0 R ]
|
||||
/Count 1
|
||||
/Type /Pages
|
||||
>>
|
||||
endobj
|
||||
|
||||
6 0 obj
|
||||
<< /Type /Catalog
|
||||
/Pages 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
xref
|
||||
0 7
|
||||
0000000000 65535 f
|
||||
0000000010 00000 n
|
||||
0000000034 00000 n
|
||||
0000002067 00000 n
|
||||
0000002090 00000 n
|
||||
0000002263 00000 n
|
||||
0000002337 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 6 0 R
|
||||
/Size 7
|
||||
>>
|
||||
startxref
|
||||
2396
|
||||
%%EOF
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "add_48.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,95 +0,0 @@
|
||||
%PDF-1.7
|
||||
|
||||
1 0 obj
|
||||
<< >>
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
<< /Length 3 0 R >>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 4.272095 4.271973 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
19.728001 36.800056 m
|
||||
10.299395 36.800056 2.656000 29.156660 2.656000 19.728054 c
|
||||
2.656000 10.299450 10.299395 2.656055 19.728001 2.656055 c
|
||||
29.156605 2.656055 36.799999 10.299450 36.799999 19.728054 c
|
||||
36.799999 29.156660 29.156605 36.800056 19.728001 36.800056 c
|
||||
h
|
||||
0.000000 19.728054 m
|
||||
0.000000 30.623528 8.832526 39.456055 19.728001 39.456055 c
|
||||
30.623474 39.456055 39.455997 30.623528 39.455997 19.728054 c
|
||||
39.455997 8.832581 30.623474 0.000057 19.728001 0.000057 c
|
||||
8.832526 0.000057 0.000000 8.832581 0.000000 19.728054 c
|
||||
h
|
||||
19.728001 29.056055 m
|
||||
20.461435 29.056055 21.056002 28.461489 21.056002 27.728054 c
|
||||
21.056002 21.056053 l
|
||||
27.728001 21.056053 l
|
||||
28.461435 21.056053 29.056002 20.461487 29.056002 19.728054 c
|
||||
29.056002 18.994619 28.461435 18.400053 27.728001 18.400053 c
|
||||
21.056002 18.400053 l
|
||||
21.056002 11.728054 l
|
||||
21.056002 10.994619 20.461435 10.400053 19.728001 10.400053 c
|
||||
18.994568 10.400053 18.400002 10.994619 18.400002 11.728054 c
|
||||
18.400002 18.400053 l
|
||||
11.728000 18.400053 l
|
||||
10.994566 18.400053 10.400000 18.994619 10.400000 19.728054 c
|
||||
10.400000 20.461487 10.994566 21.056053 11.728000 21.056053 c
|
||||
18.400002 21.056053 l
|
||||
18.400002 27.728054 l
|
||||
18.400002 28.461489 18.994568 29.056055 19.728001 29.056055 c
|
||||
h
|
||||
f*
|
||||
n
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
1349
|
||||
endobj
|
||||
|
||||
4 0 obj
|
||||
<< /Annots []
|
||||
/Type /Page
|
||||
/MediaBox [ 0.000000 0.000000 48.000000 48.000000 ]
|
||||
/Resources 1 0 R
|
||||
/Contents 2 0 R
|
||||
/Parent 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
5 0 obj
|
||||
<< /Kids [ 4 0 R ]
|
||||
/Count 1
|
||||
/Type /Pages
|
||||
>>
|
||||
endobj
|
||||
|
||||
6 0 obj
|
||||
<< /Type /Catalog
|
||||
/Pages 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
xref
|
||||
0 7
|
||||
0000000000 65535 f
|
||||
0000000010 00000 n
|
||||
0000000034 00000 n
|
||||
0000001439 00000 n
|
||||
0000001462 00000 n
|
||||
0000001635 00000 n
|
||||
0000001709 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 6 0 R
|
||||
/Size 7
|
||||
>>
|
||||
startxref
|
||||
1768
|
||||
%%EOF
|
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "bold@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "bold@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 603 B |
Before Width: | Height: | Size: 906 B |
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "italic@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "italic@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 443 B |
Before Width: | Height: | Size: 696 B |
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "link@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "link@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 858 B |
Before Width: | Height: | Size: 1.3 KiB |
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "markdown@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "markdown@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 573 B |
Before Width: | Height: | Size: 831 B |
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "strike@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "strike@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 688 B |
Before Width: | Height: | Size: 974 B |
Before Width: | Height: | Size: 26 KiB |
@ -1,21 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "ChannelIntro@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
},
|
||||
"properties" : {
|
||||
"provides-namespace" : true
|
||||
}
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
},
|
||||
"properties" : {
|
||||
"provides-namespace" : true
|
||||
}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "ic_unlikelongtap_l.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "ic_unlikelongtap_r.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "ic_likelongtap.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "ic_likemsg.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "ic_likedmsg.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "ic_unlikeswipe.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "ic_likeswipe.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "LaunchLogo@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "LaunchLogo@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 7.7 KiB |
Before Width: | Height: | Size: 12 KiB |
@ -1,12 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "ic_secretchat.pdf"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "MusicPlayerArrow@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "MusicPlayerArrow@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 640 B |
Before Width: | Height: | Size: 864 B |
@ -1,9 +1,9 @@
|
||||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
},
|
||||
"properties" : {
|
||||
"provides-namespace" : true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "MusicPlayerMinimizedPause@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "MusicPlayerMinimizedPause@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 119 B |
Before Width: | Height: | Size: 151 B |
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "MusicPlayerMinimizedPlay@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "MusicPlayerMinimizedPlay@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 308 B |
Before Width: | Height: | Size: 421 B |
Before Width: | Height: | Size: 448 B |
Before Width: | Height: | Size: 596 B |
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "ChannelVerifiedIconMedium@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "ChannelVerifiedIconMedium@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "ModernMenuCheck@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 239 B |
@ -1,9 +0,0 @@
|
||||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
},
|
||||
"properties" : {
|
||||
"provides-namespace" : true
|
||||
}
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "SharedMediaDocumentStatusDownload@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "SharedMediaDocumentStatusDownload@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 165 B |
Before Width: | Height: | Size: 325 B |
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "SlowDown@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "SlowDown@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 727 B |
Before Width: | Height: | Size: 1.1 KiB |
@ -1,9 +1,9 @@
|
||||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
},
|
||||
"properties" : {
|
||||
"provides-namespace" : true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +0,0 @@
|
||||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
},
|
||||
"properties" : {
|
||||
"provides-namespace" : true
|
||||
}
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "SharedMediaEmptyFilesIcon@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 8.7 KiB |
@ -1,21 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "SharedMediaEmptyIcon@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.2 KiB |
@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "SharedMediaEmptyLinks@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "SharedMediaEmptyLinks@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 1.8 KiB |