From 7cd4c4e48946d5af773d5b10f44b64f7bde7615b Mon Sep 17 00:00:00 2001 From: Ali <> Date: Fri, 28 Jan 2022 01:59:28 +0400 Subject: [PATCH] Update reactions --- submodules/Postbox/Sources/Postbox.swift | 49 +++++++++- submodules/ReactionSelectionNode/BUILD | 3 + .../Sources/ReactionContextNode.swift | 56 ++++++++++- .../Reactions/ReactionChatPreviewItem.swift | 1 + ...InstallInteractiveReadMessagesAction.swift | 86 ++++++++++++++++- .../Messages/TelegramEngineMessages.swift | 4 + .../Resources/Animations/effectavatar.json | 1 + .../TelegramUI/Sources/ChatController.swift | 19 ++-- .../Sources/ChatHistoryListNode.swift | 93 +++++++++++++------ 9 files changed, 268 insertions(+), 44 deletions(-) create mode 100644 submodules/TelegramUI/Resources/Animations/effectavatar.json diff --git a/submodules/Postbox/Sources/Postbox.swift b/submodules/Postbox/Sources/Postbox.swift index 452cf92738..4b2b3d5646 100644 --- a/submodules/Postbox/Sources/Postbox.swift +++ b/submodules/Postbox/Sources/Postbox.swift @@ -15,6 +15,10 @@ public enum PostboxUpdateMessage { case skip } +public protocol StoreOrUpdateMessageAction: AnyObject { + func addOrUpdate(messages: [StoreMessage], transaction: Transaction) +} + public final class Transaction { private let queue: Queue private weak var postbox: PostboxImpl? @@ -507,7 +511,7 @@ public final class Transaction { public func updateMessage(_ id: MessageId, update: (Message) -> PostboxUpdateMessage) { assert(!self.disposed) - self.postbox?.updateMessage(id, update: update) + self.postbox?.updateMessage(transaction: self, id: id, update: update) } public func offsetPendingMessagesTimestamps(lowerBound: MessageId, excludeIds: Set, timestamp: Int32) { @@ -1452,6 +1456,7 @@ final class PostboxImpl { let peerRatingTable: RatingTable var installedMessageActionsByPeerId: [PeerId: Bag<([StoreMessage], Transaction) -> Void>] = [:] + var installedStoreOrUpdateMessageActionsByPeerId: [PeerId: Bag] = [:] init(queue: Queue, basePath: String, seedConfiguration: SeedConfiguration, valueBox: SqliteValueBox, timestampForAbsoluteTimeBasedOperations: Int32, isTemporary: Bool, tempDir: TempBoxDirectory?, useCaches: Bool) { assert(queue.isCurrent()) @@ -1750,6 +1755,12 @@ final class PostboxImpl { f(peerMessages, transaction) } } + + if let bag = self.installedStoreOrUpdateMessageActionsByPeerId[peerId] { + for f in bag.copyItems() { + f.addOrUpdate(messages: peerMessages, transaction: transaction) + } + } } return addResult @@ -2255,11 +2266,17 @@ final class PostboxImpl { self.peerRatingTable.replace(items: peerIds) } - fileprivate func updateMessage(_ id: MessageId, update: (Message) -> PostboxUpdateMessage) { + fileprivate func updateMessage(transaction: Transaction, id: MessageId, update: (Message) -> PostboxUpdateMessage) { if let index = self.messageHistoryIndexTable.getIndex(id), let intermediateMessage = self.messageHistoryTable.getMessage(index) { let message = self.renderIntermediateMessage(intermediateMessage) if case let .update(updatedMessage) = update(message) { self.messageHistoryTable.updateMessage(id, message: updatedMessage, operationsByPeerId: &self.currentOperationsByPeerId, updatedMedia: &self.currentUpdatedMedia, unsentMessageOperations: &self.currentUnsentOperations, updatedPeerReadStateOperations: &self.currentUpdatedSynchronizeReadStateOperations, globalTagsOperations: &self.currentGlobalTagsOperations, pendingActionsOperations: &self.currentPendingMessageActionsOperations, updatedMessageActionsSummaries: &self.currentUpdatedMessageActionsSummaries, updatedMessageTagSummaries: &self.currentUpdatedMessageTagSummaries, invalidateMessageTagSummaries: &self.currentInvalidateMessageTagSummaries, localTagsOperations: &self.currentLocalTagsOperations, timestampBasedMessageAttributesOperations: &self.currentTimestampBasedMessageAttributesOperations) + + if let bag = self.installedStoreOrUpdateMessageActionsByPeerId[id.peerId] { + for f in bag.copyItems() { + f.addOrUpdate(messages: [updatedMessage], transaction: transaction) + } + } } } } @@ -3397,6 +3414,24 @@ final class PostboxImpl { return disposable } + public func installStoreOrUpdateMessageAction(peerId: PeerId, action: StoreOrUpdateMessageAction) -> Disposable { + let disposable = MetaDisposable() + self.queue.async { + if self.installedStoreOrUpdateMessageActionsByPeerId[peerId] == nil { + self.installedStoreOrUpdateMessageActionsByPeerId[peerId] = Bag() + } + let index = self.installedStoreOrUpdateMessageActionsByPeerId[peerId]!.add(action) + disposable.set(ActionDisposable { + self.queue.async { + if let bag = self.installedStoreOrUpdateMessageActionsByPeerId[peerId] { + bag.remove(index) + } + } + }) + } + return disposable + } + fileprivate func scanMessages(peerId: PeerId, namespace: MessageId.Namespace, tag: MessageTags, _ f: (Message) -> Bool) { var index = MessageIndex.lowerBound(peerId: peerId, namespace: namespace) while true { @@ -4139,6 +4174,16 @@ public class Postbox { return disposable } + + public func installStoreOrUpdateMessageAction(peerId: PeerId, action: StoreOrUpdateMessageAction) -> Disposable { + let disposable = MetaDisposable() + + self.impl.with { impl in + disposable.set(impl.installStoreOrUpdateMessageAction(peerId: peerId, action: action)) + } + + return disposable + } public func isMasterClient() -> Signal { return Signal { subscriber in diff --git a/submodules/ReactionSelectionNode/BUILD b/submodules/ReactionSelectionNode/BUILD index 34077a9831..276f2931c4 100644 --- a/submodules/ReactionSelectionNode/BUILD +++ b/submodules/ReactionSelectionNode/BUILD @@ -21,6 +21,9 @@ swift_library( "//submodules/StickerResources:StickerResources", "//submodules/AccountContext:AccountContext", "//submodules/Components/ReactionButtonListComponent:ReactionButtonListComponent", + "//submodules/lottie-ios:Lottie", + "//submodules/AppBundle:AppBundle", + "//submodules/AvatarNode:AvatarNode", ], visibility = [ "//visibility:public", diff --git a/submodules/ReactionSelectionNode/Sources/ReactionContextNode.swift b/submodules/ReactionSelectionNode/Sources/ReactionContextNode.swift index caf93b607c..7a17d294d6 100644 --- a/submodules/ReactionSelectionNode/Sources/ReactionContextNode.swift +++ b/submodules/ReactionSelectionNode/Sources/ReactionContextNode.swift @@ -8,6 +8,9 @@ import AccountContext import TelegramAnimatedStickerNode import ReactionButtonListComponent import SwiftSignalKit +import Lottie +import AppBundle +import AvatarNode public final class ReactionContextItem { public struct Reaction: Equatable { @@ -656,6 +659,7 @@ public final class ReactionContextNode: ASDisplayNode, UIScrollViewDelegate { context: strongSelf.context, theme: strongSelf.context.sharedContext.currentPresentationData.with({ $0 }).theme, reaction: itemNode.item, + avatarPeers: [], isLarge: false, targetView: targetView, addStandaloneReactionAnimation: nil, @@ -859,17 +863,19 @@ public final class StandaloneReactionAnimation: ASDisplayNode { private weak var targetView: UIView? + private var colorCallbacks: [LOTColorValueCallback] = [] + override public init() { super.init() self.isUserInteractionEnabled = false } - public func animateReactionSelection(context: AccountContext, theme: PresentationTheme, reaction: ReactionContextItem, isLarge: Bool, targetView: UIView, addStandaloneReactionAnimation: ((StandaloneReactionAnimation) -> Void)?, completion: @escaping () -> Void) { - self.animateReactionSelection(context: context, theme: theme, reaction: reaction, isLarge: isLarge, targetView: targetView, addStandaloneReactionAnimation: addStandaloneReactionAnimation, currentItemNode: nil, completion: completion) + public func animateReactionSelection(context: AccountContext, theme: PresentationTheme, reaction: ReactionContextItem, avatarPeers: [EnginePeer], isLarge: Bool, targetView: UIView, addStandaloneReactionAnimation: ((StandaloneReactionAnimation) -> Void)?, completion: @escaping () -> Void) { + self.animateReactionSelection(context: context, theme: theme, reaction: reaction, avatarPeers: avatarPeers, isLarge: isLarge, targetView: targetView, addStandaloneReactionAnimation: addStandaloneReactionAnimation, currentItemNode: nil, completion: completion) } - func animateReactionSelection(context: AccountContext, theme: PresentationTheme, reaction: ReactionContextItem, isLarge: Bool, targetView: UIView, addStandaloneReactionAnimation: ((StandaloneReactionAnimation) -> Void)?, currentItemNode: ReactionNode?, completion: @escaping () -> Void) { + func animateReactionSelection(context: AccountContext, theme: PresentationTheme, reaction: ReactionContextItem, avatarPeers: [EnginePeer], isLarge: Bool, targetView: UIView, addStandaloneReactionAnimation: ((StandaloneReactionAnimation) -> Void)?, currentItemNode: ReactionNode?, completion: @escaping () -> Void) { guard let sourceSnapshotView = targetView.snapshotContentTree() else { completion() return @@ -960,6 +966,45 @@ public final class StandaloneReactionAnimation: ASDisplayNode { additionalAnimationNode.updateLayout(size: effectFrame.size) self.addSubnode(additionalAnimationNode) + if !isLarge, let url = getAppBundle().url(forResource: "effectavatar", withExtension: "json"), let composition = LOTComposition(filePath: url.path) { + let view = LOTAnimationView(model: composition, in: getAppBundle()) + view.animationSpeed = 1.0 + view.backgroundColor = nil + view.isOpaque = false + + var avatarIndex = 0 + + let keypathIndices: [Int] = Array((1 ... 3).map({ $0 }).shuffled()) + for i in keypathIndices { + var peer: EnginePeer? + if avatarIndex < avatarPeers.count { + peer = avatarPeers[avatarIndex] + } + avatarIndex += 1 + + if let peer = peer { + let avatarNode = AvatarNode(font: avatarPlaceholderFont(size: 16.0)) + + let avatarContainer = UIView(frame: CGRect(origin: CGPoint(x: -100.0, y: -100.0), size: CGSize(width: 200.0, height: 200.0))) + + avatarNode.frame = CGRect(origin: CGPoint(x: floor((200.0 - 40.0) / 2.0), y: floor((200.0 - 40.0) / 2.0)), size: CGSize(width: 40.0, height: 40.0)) + avatarNode.setPeer(context: context, theme: context.sharedContext.currentPresentationData.with({ $0 }).theme, peer: peer) + avatarNode.transform = CATransform3DMakeScale(200.0 / 40.0, 200.0 / 40.0, 1.0) + avatarContainer.addSubnode(avatarNode) + + view.addSubview(avatarContainer, toKeypathLayer: LOTKeypath(string: "Avatar \(i).Ellipse 1")) + } + + let colorCallback = LOTColorValueCallback(color: UIColor.clear.cgColor) + self.colorCallbacks.append(colorCallback) + view.setValueDelegate(colorCallback, for: LOTKeypath(string: "Avatar \(i).Ellipse 1.Fill 1.Color")) + } + + view.frame = additionalAnimationNode.bounds + additionalAnimationNode.view.addSubview(view) + view.play() + } + var mainAnimationCompleted = false var additionalAnimationCompleted = false let intermediateCompletion: () -> Void = { @@ -990,6 +1035,7 @@ public final class StandaloneReactionAnimation: ASDisplayNode { context: itemNode.context, theme: itemNode.context.sharedContext.currentPresentationData.with({ $0 }).theme, reaction: itemNode.item, + avatarPeers: avatarPeers, isLarge: false, targetView: targetView, addStandaloneReactionAnimation: nil, @@ -1119,7 +1165,7 @@ public final class StandaloneDismissReactionAnimation: ASDisplayNode { self.isUserInteractionEnabled = false } - public func animateReactionDismiss(sourceView: UIView, hideNode: Bool, completion: @escaping () -> Void) { + public func animateReactionDismiss(sourceView: UIView, hideNode: Bool, isIncoming: Bool, completion: @escaping () -> Void) { guard let sourceSnapshotView = sourceView.snapshotContentTree() else { completion() return @@ -1133,7 +1179,7 @@ public final class StandaloneDismissReactionAnimation: ASDisplayNode { self.view.addSubview(sourceSnapshotView) var targetOffset: CGFloat = 120.0 - if sourceRect.midX > self.bounds.width / 2.0 { + if !isIncoming { targetOffset = -targetOffset } let targetPoint = CGPoint(x: sourceRect.midX + targetOffset, y: sourceRect.midY) diff --git a/submodules/SettingsUI/Sources/Reactions/ReactionChatPreviewItem.swift b/submodules/SettingsUI/Sources/Reactions/ReactionChatPreviewItem.swift index ae1243ddbc..8d38c65f99 100644 --- a/submodules/SettingsUI/Sources/Reactions/ReactionChatPreviewItem.swift +++ b/submodules/SettingsUI/Sources/Reactions/ReactionChatPreviewItem.swift @@ -170,6 +170,7 @@ class ReactionChatPreviewItemNode: ListViewItemNode { applicationAnimation: aroundAnimation, largeApplicationAnimation: reaction.effectAnimation ), + avatarPeers: [], isLarge: false, targetView: targetView, addStandaloneReactionAnimation: nil, diff --git a/submodules/TelegramCore/Sources/TelegramEngine/Messages/InstallInteractiveReadMessagesAction.swift b/submodules/TelegramCore/Sources/TelegramEngine/Messages/InstallInteractiveReadMessagesAction.swift index 56658b5a8e..02ee5088d6 100644 --- a/submodules/TelegramCore/Sources/TelegramEngine/Messages/InstallInteractiveReadMessagesAction.swift +++ b/submodules/TelegramCore/Sources/TelegramEngine/Messages/InstallInteractiveReadMessagesAction.swift @@ -3,7 +3,6 @@ import Postbox import TelegramApi import SwiftSignalKit - func _internal_installInteractiveReadMessagesAction(postbox: Postbox, stateManager: AccountStateManager, peerId: PeerId) -> Disposable { return postbox.installStoreMessageAction(peerId: peerId, { messages, transaction in var consumeMessageIds: [MessageId] = [] @@ -17,7 +16,7 @@ func _internal_installInteractiveReadMessagesAction(postbox: Postbox, stateManag var hasUnconsumedContent = false var hasUnseenReactions = false - if message.tags.contains(.unseenPersonalMessage) { + if message.tags.contains(.unseenPersonalMessage) || message.tags.contains(.unseenReaction) { inner: for attribute in message.attributes { if let attribute = attribute as? ConsumablePersonalMentionMessageAttribute, !attribute.consumed, !attribute.pending { hasUnconsumedMention = true @@ -65,7 +64,9 @@ func _internal_installInteractiveReadMessagesAction(postbox: Postbox, stateManag } } } - return .update(StoreMessage(id: currentMessage.id, globallyUniqueId: currentMessage.globallyUniqueId, groupingKey: currentMessage.groupingKey, threadId: currentMessage.threadId, timestamp: currentMessage.timestamp, flags: StoreMessageFlags(currentMessage.flags), tags: currentMessage.tags, globalTags: currentMessage.globalTags, localTags: currentMessage.localTags, forwardInfo: currentMessage.forwardInfo.flatMap(StoreMessageForwardInfo.init), authorId: currentMessage.author?.id, text: currentMessage.text, attributes: attributes, media: currentMessage.media)) + var tags = currentMessage.tags + tags.remove(.unseenReaction) + return .update(StoreMessage(id: currentMessage.id, globallyUniqueId: currentMessage.globallyUniqueId, groupingKey: currentMessage.groupingKey, threadId: currentMessage.threadId, timestamp: currentMessage.timestamp, flags: StoreMessageFlags(currentMessage.flags), tags: tags, globalTags: currentMessage.globalTags, localTags: currentMessage.localTags, forwardInfo: currentMessage.forwardInfo.flatMap(StoreMessageForwardInfo.init), authorId: currentMessage.author?.id, text: currentMessage.text, attributes: attributes, media: currentMessage.media)) }) if consumeMessageIds.contains(id) { @@ -81,3 +82,82 @@ func _internal_installInteractiveReadMessagesAction(postbox: Postbox, stateManag } }) } + +public struct VisibleMessageRange { + public var lowerBound: MessageIndex + public var upperBound: MessageIndex? + + public init(lowerBound: MessageIndex, upperBound: MessageIndex?) { + self.lowerBound = lowerBound + self.upperBound = upperBound + } + + fileprivate func contains(index: MessageIndex) -> Bool { + if index < lowerBound { + return false + } + if let upperBound = self.upperBound { + if index > upperBound { + return false + } + } + return true + } +} + +private final class StoreOrUpdateMessageActionImpl: StoreOrUpdateMessageAction { + private let getVisibleRange: () -> VisibleMessageRange? + private let didReadReactionsInMessages: ([MessageId: [ReactionsMessageAttribute.RecentPeer]]) -> Void + + init(getVisibleRange: @escaping () -> VisibleMessageRange?, didReadReactionsInMessages: @escaping ([MessageId: [ReactionsMessageAttribute.RecentPeer]]) -> Void) { + self.getVisibleRange = getVisibleRange + self.didReadReactionsInMessages = didReadReactionsInMessages + } + + func addOrUpdate(messages: [StoreMessage], transaction: Transaction) { + var readReactionIds: [MessageId: [ReactionsMessageAttribute.RecentPeer]] = [:] + + guard let visibleRange = self.getVisibleRange() else { + return + } + + for message in messages { + guard let index = message.index else { + continue + } + if !visibleRange.contains(index: index) { + continue + } + + if message.tags.contains(.unseenReaction) { + inner: for attribute in message.attributes { + if let attribute = attribute as? ReactionsMessageAttribute, attribute.hasUnseen { + readReactionIds[index.id] = attribute.recentPeers + } + } + } + } + + for id in readReactionIds.keys { + transaction.updateMessage(id, update: { currentMessage in + var attributes = currentMessage.attributes + reactionsLoop: for j in 0 ..< attributes.count { + if let attribute = attributes[j] as? ReactionsMessageAttribute { + attributes[j] = attribute.withAllSeen() + break reactionsLoop + } + } + var tags = currentMessage.tags + tags.remove(.unseenReaction) + return .update(StoreMessage(id: currentMessage.id, globallyUniqueId: currentMessage.globallyUniqueId, groupingKey: currentMessage.groupingKey, threadId: currentMessage.threadId, timestamp: currentMessage.timestamp, flags: StoreMessageFlags(currentMessage.flags), tags: currentMessage.tags, globalTags: currentMessage.globalTags, localTags: currentMessage.localTags, forwardInfo: currentMessage.forwardInfo.flatMap(StoreMessageForwardInfo.init), authorId: currentMessage.author?.id, text: currentMessage.text, attributes: attributes, media: currentMessage.media)) + }) + transaction.setPendingMessageAction(type: .readReaction, id: id, action: ReadReactionAction()) + } + + self.didReadReactionsInMessages(readReactionIds) + } +} + +func _internal_installInteractiveReadReactionsAction(postbox: Postbox, stateManager: AccountStateManager, peerId: PeerId, getVisibleRange: @escaping () -> VisibleMessageRange?, didReadReactionsInMessages: @escaping ([MessageId: [ReactionsMessageAttribute.RecentPeer]]) -> Void) -> Disposable { + return postbox.installStoreOrUpdateMessageAction(peerId: peerId, action: StoreOrUpdateMessageActionImpl(getVisibleRange: getVisibleRange, didReadReactionsInMessages: didReadReactionsInMessages)) +} diff --git a/submodules/TelegramCore/Sources/TelegramEngine/Messages/TelegramEngineMessages.swift b/submodules/TelegramCore/Sources/TelegramEngine/Messages/TelegramEngineMessages.swift index 077f491f67..65601b42d7 100644 --- a/submodules/TelegramCore/Sources/TelegramEngine/Messages/TelegramEngineMessages.swift +++ b/submodules/TelegramCore/Sources/TelegramEngine/Messages/TelegramEngineMessages.swift @@ -131,6 +131,10 @@ public extension TelegramEngine { public func installInteractiveReadMessagesAction(peerId: PeerId) -> Disposable { return _internal_installInteractiveReadMessagesAction(postbox: self.account.postbox, stateManager: self.account.stateManager, peerId: peerId) } + + public func installInteractiveReadReactionsAction(peerId: PeerId, getVisibleRange: @escaping () -> VisibleMessageRange?, didReadReactionsInMessages: @escaping ([MessageId: [ReactionsMessageAttribute.RecentPeer]]) -> Void) -> Disposable { + return _internal_installInteractiveReadReactionsAction(postbox: self.account.postbox, stateManager: self.account.stateManager, peerId: peerId, getVisibleRange: getVisibleRange, didReadReactionsInMessages: didReadReactionsInMessages) + } public func requestMessageSelectPollOption(messageId: MessageId, opaqueIdentifiers: [Data]) -> Signal { return _internal_requestMessageSelectPollOption(account: self.account, messageId: messageId, opaqueIdentifiers: opaqueIdentifiers) diff --git a/submodules/TelegramUI/Resources/Animations/effectavatar.json b/submodules/TelegramUI/Resources/Animations/effectavatar.json new file mode 100644 index 0000000000..7a94e861cd --- /dev/null +++ b/submodules/TelegramUI/Resources/Animations/effectavatar.json @@ -0,0 +1 @@ +{"v":"5.8.1","fr":60,"ip":0,"op":90,"w":800,"h":800,"nm":"Effects Avatar","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Avatar 3","parent":4,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":40,"s":[100]},{"t":45.884765625,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[265.19,255.771,0],"ix":2,"l":2},"a":{"a":0,"k":[-68.273,-192.273,0],"ix":1,"l":2},"s":{"a":0,"k":[77.143,77.143,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-68.273,-192.273],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":2,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Avatar 2","parent":5,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":52,"s":[100]},{"t":61.68359375,"s":[0]}],"ix":11},"r":{"a":0,"k":0.042,"ix":10},"p":{"a":0,"k":[264.933,241.93,0],"ix":2,"l":2},"a":{"a":0,"k":[-68.273,-192.273,0],"ix":1,"l":2},"s":{"a":0,"k":[75.752,75.752,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-68.273,-192.273],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":2,"op":180,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Avatar 1","parent":6,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":67,"s":[100]},{"t":75.6953125,"s":[0]}],"ix":11},"r":{"a":0,"k":7.934,"ix":10},"p":{"a":0,"k":[265.913,241.957,0],"ix":2,"l":2},"a":{"a":0,"k":[-68.273,-192.273,0],"ix":1,"l":2},"s":{"a":0,"k":[86.845,86.845,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-55.228,0],[0,-55.228],[55.228,0],[0,55.228]],"o":[[55.228,0],[0,55.228],[-55.228,0],[0,-55.228]],"v":[[0,-100],[100,0],[0,100],[-100,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-68.273,-192.273],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":2,"op":180,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":3,"nm":"Avatar 3 Move","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":40,"s":[100]},{"t":45.884765625,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.357,"y":0.943},"o":{"x":0.106,"y":0},"t":1,"s":[383.146,388.091,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.539,"y":1},"o":{"x":0.256,"y":0.034},"t":9,"s":[368.646,260.813,0],"to":[0,0,0],"ti":[0,0,0]},{"t":55,"s":[347.146,755.511,0]}],"ix":2,"l":2},"a":{"a":0,"k":[260.172,233.755,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":4,"s":[66.667,66.667,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":12,"s":[80,80,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":36,"s":[120,120,100]},{"t":46,"s":[30,30,100]}],"ix":6,"l":2}},"ao":0,"ip":2,"op":62,"st":-36,"bm":0},{"ddd":0,"ind":5,"ty":3,"nm":"Avatar 2 Move","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":52.184,"s":[100]},{"t":61.8671875,"s":[0]}],"ix":11},"r":{"a":0,"k":-0.042,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":0.648},"o":{"x":0.02,"y":0},"t":2,"s":[358.174,373.771,0],"to":[0,0,0],"ti":[92.2,-4.28,0]},{"i":{"x":0.733,"y":1},"o":{"x":0.385,"y":0.203},"t":16,"s":[209.774,224.421,0],"to":[-123.704,5.742,0],"ti":[0,0,0]},{"t":69.47265625,"s":[58.914,752.091,0]}],"ix":2,"l":2},"a":{"a":0,"k":[260.172,233.755,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":2,"s":[40,40,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":21,"s":[110,110,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":47,"s":[115,115,100]},{"t":62,"s":[30,30,100]}],"ix":6,"l":2}},"ao":0,"ip":2,"op":63,"st":-20,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Avatar 1 Move","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":67.604,"s":[100]},{"t":76.298828125,"s":[0]}],"ix":11},"r":{"a":0,"k":7.934,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.4,"y":0.94},"o":{"x":0.02,"y":0},"t":2,"s":[399.234,328.591,0],"to":[0,0,0],"ti":[-33.987,-0.077,0]},{"i":{"x":0.675,"y":0.538},"o":{"x":0.342,"y":0.183},"t":10,"s":[490.704,77.781,0],"to":[11.937,0.027,0],"ti":[-6.58,-49.357,0]},{"i":{"x":0.679,"y":0.934},"o":{"x":0.359,"y":0.3},"t":24,"s":[518.062,158.138,0],"to":[21.98,164.887,0],"ti":[-2.546,-106.968,0]},{"t":84,"s":[539.321,800.061,0]}],"ix":2,"l":2},"a":{"a":0,"k":[260.172,233.755,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":2,"s":[-60,60,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":19,"s":[-120,120,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":63,"s":[-120,120,100]},{"t":76,"s":[-30,30,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-0.885,"s":[{"i":[[4.405,-1.793],[27.61,-8.833],[-21.724,-8.982],[-32.694,21.946]],"o":[[-41.589,16.93],[-29.225,9.349],[22.801,9.427],[8.313,-5.58]],"v":[[128.104,-22.002],[62.477,-9.097],[59.33,44.496],[163.852,30.481]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.232,"s":[{"i":[[3.944,-2.658],[27.61,-8.833],[9.146,-12.231],[-22.715,18.343]],"o":[[-16.739,11.281],[0.999,12.791],[22.8,9.427],[7.79,-6.291]],"v":[[111.773,-22.425],[69.035,-12.149],[57.317,43.944],[143.82,32.299]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.348,"s":[{"i":[[3.673,-3.022],[5.706,-3.281],[4.031,-14.552],[-6.043,8.7]],"o":[[-5.246,4.316],[0.999,12.791],[16.353,3.662],[5.712,-8.223]],"v":[[84.987,-24.567],[72.071,-13.577],[69.103,44.301],[113.463,28.192]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.684,"s":[{"i":[[-0.323,-4.745],[0.147,-0.245],[4.031,-14.552],[-1.603,3.7]],"o":[[0.087,1.281],[0.999,12.791],[5.436,-3.481],[3.98,-9.188]],"v":[[86.237,-25.103],[87.964,-16.97],[83.745,46.087],[95.963,31.585]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.807,"s":[{"i":[[6.756,-0.724],[24.325,-13.571],[-6.956,-4.976],[-3.823,-0.536]],"o":[[-10,1.071],[-32.889,18.349],[0.999,0.714],[14.165,1.985]],"v":[[-28.954,-60.43],[-115.74,-45.43],[-136.163,15.82],[-128.485,17.428]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.924,"s":[{"i":[[6.756,-0.724],[30.375,-11.381],[-14.665,-1.607],[-10.209,1.071]],"o":[[-10,1.071],[-35.267,13.214],[14.535,1.593],[14.225,-1.493]],"v":[[-10.74,-66.501],[-106.097,-51.144],[-119.556,14.035],[-93.485,14.57]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24.037,"s":[{"i":[[6.756,-0.724],[30.375,-11.381],[-14.665,-1.607],[-25.469,2.143]],"o":[[-10,1.071],[-35.267,13.214],[14.535,1.593],[14.253,-1.199]],"v":[[5.689,-66.858],[-89.311,-51.144],[-102.77,14.035],[-42.056,13.856]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27.152,"s":[{"i":[[6.756,-0.724],[30.357,-11.429],[-23.326,5.893],[-25.469,2.143]],"o":[[-10,1.071],[-67.811,25.529],[16.665,-4.21],[14.253,-1.199]],"v":[[46.046,-67.572],[-37.883,-53.644],[-56.699,24.035],[35.087,12.07]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30.268,"s":[{"i":[[6.113,-0.17],[26.459,-12.336],[-30.205,-1.071],[-22.922,1.929]],"o":[[-10.89,0.304],[-35.756,16.67],[17.299,0.614],[12.828,-1.079]],"v":[[66.986,-58.233],[-20.648,-50.671],[-22.27,22.07],[81.408,18.803]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":33.385,"s":[{"i":[[4.865,-2.426],[23.519,-10.965],[-24.827,-10.265],[-20.744,3.679]],"o":[[-16.138,8.048],[-31.783,14.817],[26.058,10.774],[11.267,-1.998]],"v":[[107.668,-42.406],[37.499,-34.225],[33.15,29.511],[134.237,29.82]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36.5,"s":[{"i":[[4.405,-1.793],[27.61,-8.833],[-21.724,-8.982],[-32.694,21.946]],"o":[[-41.589,16.93],[-29.225,9.349],[22.8,9.427],[8.313,-5.58]],"v":[[143.104,-24.145],[54.977,-11.597],[51.83,41.996],[174.567,31.553]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39.615,"s":[{"i":[[4.405,-1.793],[27.61,-8.833],[-21.724,-8.982],[-32.694,21.946]],"o":[[-41.589,16.93],[-29.225,9.349],[22.801,9.427],[8.313,-5.58]],"v":[[128.104,-22.002],[62.477,-9.097],[59.33,44.496],[163.852,30.481]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42.732,"s":[{"i":[[3.944,-2.658],[27.61,-8.833],[9.146,-12.231],[-22.715,18.343]],"o":[[-16.739,11.281],[0.999,12.791],[22.8,9.427],[7.79,-6.291]],"v":[[111.773,-22.425],[69.035,-12.149],[57.317,43.944],[143.82,32.299]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45.848,"s":[{"i":[[3.673,-3.022],[5.706,-3.281],[4.031,-14.552],[-6.043,8.7]],"o":[[-5.246,4.316],[0.999,12.791],[16.353,3.662],[5.712,-8.223]],"v":[[84.987,-24.567],[72.071,-13.577],[69.103,44.301],[113.463,28.192]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48.184,"s":[{"i":[[-0.323,-4.745],[0.147,-0.245],[4.031,-14.552],[-1.603,3.7]],"o":[[0.087,1.281],[0.999,12.791],[5.436,-3.481],[3.98,-9.188]],"v":[[86.237,-25.103],[87.964,-16.97],[83.745,46.087],[95.963,31.585]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58.309,"s":[{"i":[[6.756,-0.724],[24.325,-13.571],[-6.956,-4.976],[-3.823,-0.536]],"o":[[-10,1.071],[-32.889,18.349],[0.999,0.714],[14.165,1.985]],"v":[[-28.954,-60.43],[-115.74,-45.43],[-136.163,15.82],[-128.485,17.428]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":61.424,"s":[{"i":[[6.756,-0.724],[30.375,-11.381],[-14.665,-1.607],[-10.209,1.071]],"o":[[-10,1.071],[-35.267,13.214],[14.535,1.593],[14.225,-1.493]],"v":[[-10.74,-66.501],[-106.097,-51.144],[-119.556,14.035],[-93.485,14.57]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64.537,"s":[{"i":[[6.756,-0.724],[30.375,-11.381],[-14.665,-1.607],[-25.469,2.143]],"o":[[-10,1.071],[-35.267,13.214],[14.535,1.593],[14.253,-1.199]],"v":[[5.689,-66.858],[-89.311,-51.144],[-102.77,14.035],[-42.056,13.856]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":67.654,"s":[{"i":[[6.756,-0.724],[30.357,-11.429],[-23.326,5.893],[-25.469,2.143]],"o":[[-10,1.071],[-67.811,25.529],[16.665,-4.21],[14.253,-1.199]],"v":[[46.046,-67.572],[-37.883,-53.644],[-56.699,24.035],[35.087,12.07]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70.768,"s":[{"i":[[6.113,-0.17],[26.459,-12.336],[-30.205,-1.071],[-22.922,1.929]],"o":[[-10.89,0.304],[-35.756,16.67],[17.299,0.614],[12.828,-1.079]],"v":[[66.986,-58.233],[-20.648,-50.671],[-22.27,22.07],[81.408,18.803]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":73.885,"s":[{"i":[[4.865,-2.426],[23.519,-10.965],[-24.827,-10.265],[-20.744,3.679]],"o":[[-16.138,8.048],[-31.783,14.817],[26.058,10.774],[11.267,-1.998]],"v":[[107.668,-42.406],[37.499,-34.225],[33.15,29.511],[134.237,29.82]],"c":false}]},{"t":77,"s":[{"i":[[4.405,-1.793],[27.61,-8.833],[-21.724,-8.982],[-32.694,21.946]],"o":[[-41.589,16.93],[-29.225,9.349],[22.8,9.427],[8.313,-5.58]],"v":[[143.104,-24.145],[54.977,-11.597],[51.83,41.996],[174.567,31.553]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-0.885,"s":[{"i":[[6.897,-3.428],[-20.612,-11.256],[-39.659,20.99]],"o":[[-21.029,10.451],[19.717,10.767],[6.611,-3.499]],"v":[[48.862,37.824],[52.458,92.933],[161.251,94.295]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.232,"s":[{"i":[[3.374,-6.923],[3.323,-12.323],[-33.002,11.023]],"o":[[-7.465,15.317],[27.609,18.391],[7.094,-2.369]],"v":[[57.856,43.539],[37.782,86.536],[131.608,95.691]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.348,"s":[{"i":[[0.873,-7.652],[5.53,-11.252],[-9.367,3.701]],"o":[[-1.686,14.782],[16.601,18.927],[6.956,-2.749]],"v":[[68.927,45.86],[55.461,83.501],[108.393,88.905]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.684,"s":[{"i":[[0.109,-7.701],[1.756,-9.109],[-1.533,2.808]],"o":[[-0.192,13.532],[5.506,-3.573],[3.584,-6.565]],"v":[[81.963,55.503],[78.854,92.251],[86.965,83.548]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.807,"s":[{"i":[[8.036,-7.515],[-20.519,-18.214],[-2.394,0]],"o":[[-13.175,12.321],[1.428,1.267],[10.686,0]],"v":[[-136.275,16.892],[-130.181,85.285],[-123.663,86.713]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.924,"s":[{"i":[[9.737,-5.122],[-24.028,-5.442],[-15.291,1.072]],"o":[[-29.196,15.357],[19.71,4.464],[10.66,-0.747]],"v":[[-122.168,15.285],[-117.145,86.535],[-79.377,89.213]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24.037,"s":[{"i":[[9.737,-5.122],[-24.028,-5.442],[-15.291,1.072]],"o":[[-29.196,15.357],[19.71,4.464],[10.66,-0.747]],"v":[[-105.383,15.285],[-100.36,86.535],[-37.592,89.213]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27.152,"s":[{"i":[[9.922,-4.754],[-24.62,0.893],[-15.291,1.071]],"o":[[-34.286,16.429],[24.62,-0.893],[10.66,-0.747]],"v":[[-66.454,28.499],[-59.288,93.678],[37.765,87.785]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30.268,"s":[{"i":[[9.268,-3.486],[-28.583,-15.528],[-17.285,2.893]],"o":[[-27.059,10.179],[22.483,12.214],[9.485,-1.588]],"v":[[-28.987,22.963],[-29.244,88.428],[79.81,88.106]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":33.385,"s":[{"i":[[8.375,-2.709],[-23.556,-12.864],[-21.813,9.754]],"o":[[-23.676,7.659],[22.534,12.306],[7.804,-3.49]],"v":[[27.884,32.269],[23.46,90.836],[132.807,91.602]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36.5,"s":[{"i":[[6.897,-3.428],[-20.612,-11.256],[-45.092,22.062]],"o":[[-21.029,10.451],[19.717,10.767],[6.719,-3.287]],"v":[[39.22,37.824],[43.529,94.004],[173.036,93.223]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39.615,"s":[{"i":[[6.897,-3.428],[-20.612,-11.256],[-39.659,20.99]],"o":[[-21.029,10.451],[19.717,10.767],[6.611,-3.499]],"v":[[48.862,37.824],[52.458,92.933],[161.251,94.295]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42.732,"s":[{"i":[[3.374,-6.923],[3.323,-12.323],[-33.002,11.023]],"o":[[-7.465,15.317],[27.609,18.391],[7.094,-2.369]],"v":[[57.856,43.539],[37.782,86.536],[131.608,95.691]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45.848,"s":[{"i":[[0.873,-7.652],[5.53,-11.252],[-9.367,3.701]],"o":[[-1.686,14.782],[16.601,18.927],[6.956,-2.749]],"v":[[68.927,45.86],[55.461,83.501],[108.393,88.905]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48.184,"s":[{"i":[[0.109,-7.701],[1.756,-9.109],[-1.533,2.808]],"o":[[-0.192,13.532],[5.506,-3.573],[3.584,-6.565]],"v":[[81.963,55.503],[78.854,92.251],[86.965,83.548]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58.309,"s":[{"i":[[8.036,-7.515],[-20.519,-18.214],[-2.394,0]],"o":[[-13.175,12.321],[1.428,1.267],[10.686,0]],"v":[[-136.275,16.892],[-130.181,85.285],[-123.663,86.713]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":61.424,"s":[{"i":[[9.737,-5.122],[-24.028,-5.442],[-15.291,1.072]],"o":[[-29.196,15.357],[19.71,4.464],[10.66,-0.747]],"v":[[-122.168,15.285],[-117.145,86.535],[-79.377,89.213]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64.537,"s":[{"i":[[9.737,-5.122],[-24.028,-5.442],[-15.291,1.072]],"o":[[-29.196,15.357],[19.71,4.464],[10.66,-0.747]],"v":[[-105.383,15.285],[-100.36,86.535],[-37.592,89.213]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":67.654,"s":[{"i":[[9.922,-4.754],[-24.62,0.893],[-15.291,1.071]],"o":[[-34.286,16.429],[24.62,-0.893],[10.66,-0.747]],"v":[[-66.454,28.499],[-59.288,93.678],[37.765,87.785]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70.768,"s":[{"i":[[9.268,-3.486],[-28.583,-15.528],[-17.285,2.893]],"o":[[-27.059,10.179],[22.483,12.214],[9.485,-1.588]],"v":[[-28.987,22.963],[-29.244,88.428],[79.81,88.106]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":73.885,"s":[{"i":[[8.375,-2.709],[-23.556,-12.864],[-21.813,9.754]],"o":[[-23.676,7.659],[22.534,12.306],[7.804,-3.49]],"v":[[27.884,32.269],[23.46,90.836],[132.807,91.602]],"c":false}]},{"t":77,"s":[{"i":[[6.897,-3.428],[-20.612,-11.256],[-45.092,22.062]],"o":[[-21.029,10.451],[19.717,10.767],[6.719,-3.287]],"v":[[39.22,37.824],[43.529,94.004],[173.036,93.223]],"c":false}]}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-0.885,"s":[{"i":[[3.477,-7.398],[-33.54,10.391]],"o":[[-31.18,66.343],[7.145,-2.214]],"v":[[38.843,92.156],[140.846,148.465]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.232,"s":[{"i":[[5.203,-6.304],[-24.61,4.677]],"o":[[-17.315,59.752],[7.348,-1.396]],"v":[[41.992,94.818],[115.359,148.108]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.348,"s":[{"i":[[5.203,-6.304],[-5.26,4.677]],"o":[[5.07,6.717],[5.59,-4.97]],"v":[[63.956,132.854],[91.787,131.858]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.684,"s":[{"i":[[-1.56,-3.641],[-3.498,4.855]],"o":[[2.547,-1.676],[4.373,-6.068]],"v":[[73.063,136.783],[81.609,128.644]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.807,"s":[{"i":[[2.476,-11.412],[-5.073,-0.893]],"o":[[-8.175,37.679],[10.524,1.852]],"v":[[-130.74,86.178],[-104.199,136.178]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.924,"s":[{"i":[[2.222,-11.464],[-8.959,-0.536]],"o":[[-10.454,53.929],[10.667,0.638]],"v":[[-117.525,87.428],[-61.52,143.678]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24.037,"s":[{"i":[[2.124,-11.482],[-18.058,2.321]],"o":[[-11.696,63.214],[10.599,-1.363]],"v":[[-100.74,87.428],[-17.949,143.32]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27.152,"s":[{"i":[[3.966,-10.983],[-21.719,2.321]],"o":[[-27.857,77.143],[10.625,-1.136]],"v":[[-67.525,95.285],[39.551,145.106]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30.268,"s":[{"i":[[5.124,-9.176],[-30.851,4.214]],"o":[[-37.803,67.696],[9.529,-1.302]],"v":[[-37.529,90.088],[79.09,144.642]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":33.385,"s":[{"i":[[4.012,-8.436],[-37.278,9.044]],"o":[[-32.386,68.091],[8.308,-2.015]],"v":[[16.237,93.622],[127.914,149.813]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36.5,"s":[{"i":[[2.823,-7.671],[-39.688,13.248]],"o":[[-23.756,64.557],[7.095,-2.368]],"v":[[28.843,93.584],[152.274,148.465]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39.615,"s":[{"i":[[3.477,-7.398],[-33.54,10.391]],"o":[[-31.18,66.343],[7.145,-2.214]],"v":[[38.843,92.156],[140.846,148.465]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42.732,"s":[{"i":[[5.203,-6.304],[-24.61,4.677]],"o":[[-17.315,59.752],[7.348,-1.396]],"v":[[41.992,94.818],[115.359,148.108]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45.848,"s":[{"i":[[5.203,-6.304],[-5.26,4.677]],"o":[[5.07,6.717],[5.59,-4.97]],"v":[[63.956,132.854],[91.787,131.858]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48.184,"s":[{"i":[[-1.56,-3.641],[-3.498,4.855]],"o":[[2.547,-1.676],[4.373,-6.068]],"v":[[73.063,136.783],[81.609,128.644]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58.309,"s":[{"i":[[2.476,-11.412],[-5.073,-0.893]],"o":[[-8.175,37.679],[10.524,1.852]],"v":[[-130.74,86.178],[-104.199,136.178]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":61.424,"s":[{"i":[[2.222,-11.464],[-8.959,-0.536]],"o":[[-10.454,53.929],[10.667,0.638]],"v":[[-117.525,87.428],[-61.52,143.678]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64.537,"s":[{"i":[[2.124,-11.482],[-18.058,2.321]],"o":[[-11.696,63.214],[10.599,-1.363]],"v":[[-100.74,87.428],[-17.949,143.32]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":67.654,"s":[{"i":[[3.966,-10.983],[-21.719,2.321]],"o":[[-27.857,77.143],[10.625,-1.136]],"v":[[-67.525,95.285],[39.551,145.106]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70.768,"s":[{"i":[[5.124,-9.176],[-30.851,4.214]],"o":[[-37.803,67.696],[9.529,-1.302]],"v":[[-37.529,90.088],[79.09,144.642]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":73.885,"s":[{"i":[[4.012,-8.436],[-37.278,9.044]],"o":[[-32.386,68.091],[8.308,-2.015]],"v":[[16.237,93.622],[127.914,149.813]],"c":false}]},{"t":77,"s":[{"i":[[2.823,-7.671],[-39.688,13.248]],"o":[[-23.756,64.557],[7.095,-2.368]],"v":[[28.843,93.584],[152.274,148.465]],"c":false}]}],"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-0.885,"s":[{"i":[[4.818,-6.603],[-30.969,-5.575]],"o":[[-12.965,17.772],[14.43,2.598]],"v":[[40.271,139.299],[67.917,188.002]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.232,"s":[{"i":[[3.761,-7.253],[-19.636,-4.406]],"o":[[-9.653,18.616],[13.946,4.047]],"v":[[37.544,137.383],[50.742,181.476]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.348,"s":[{"i":[[2.294,-7.842],[8.821,-8.87]],"o":[[-4.767,16.295],[13.946,4.047]],"v":[[62.008,138.812],[40.027,175.226]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":7.684,"s":[{"i":[[3.629,-7.321],[8.083,-6.549]],"o":[[-6.041,12.187],[13.946,4.047]],"v":[[71.83,141.312],[52.706,169.512]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.807,"s":[{"i":[[1.711,-9.184],[-38.865,-3.905]],"o":[[-5.467,29.341],[16.672,1.675]],"v":[[-109.834,135.765],[-48.443,184.725]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.924,"s":[{"i":[[1.711,-9.184],[-22.036,-2.298]],"o":[[-5.467,29.341],[16.666,1.738]],"v":[[-82.334,141.479],[-44.157,186.154]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[1.092,-9.277],[-22.734,-3.886]],"o":[[-3.164,26.871],[16.517,2.822]],"v":[[-66.102,140.773],[-27.748,185.801]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27.152,"s":[{"i":[[1.736,-9.179],[-30.868,-2.298]],"o":[[-5.548,29.341],[16.71,1.244]],"v":[[-48.763,150.051],[6.021,191.69]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30.268,"s":[{"i":[[4.899,-7.954],[-33.318,-9.976]],"o":[[-11.034,17.913],[16.052,4.806]],"v":[[-25.191,138.086],[4.95,187.761]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":33.385,"s":[{"i":[[3.354,-8.719],[-33.063,-8.369]],"o":[[-7.922,20.591],[16.244,4.112]],"v":[[17.309,139.872],[51.914,191.154]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36.5,"s":[{"i":[[5.203,-6.304],[-19.616,-9.86]],"o":[[-11.776,14.267],[13.1,6.585]],"v":[[28.843,135.013],[47.203,184.788]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39.615,"s":[{"i":[[4.818,-6.603],[-30.969,-5.575]],"o":[[-12.965,17.772],[14.43,2.598]],"v":[[40.271,139.299],[67.917,188.002]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42.732,"s":[{"i":[[3.761,-7.253],[-19.636,-4.406]],"o":[[-9.653,18.616],[13.946,4.047]],"v":[[37.544,137.383],[50.742,181.476]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45.848,"s":[{"i":[[2.294,-7.842],[8.821,-8.87]],"o":[[-4.767,16.295],[13.946,4.047]],"v":[[62.008,138.812],[40.027,175.226]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48.184,"s":[{"i":[[3.629,-7.321],[8.083,-6.549]],"o":[[-6.041,12.187],[13.946,4.047]],"v":[[71.83,141.312],[52.706,169.512]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58.309,"s":[{"i":[[1.711,-9.184],[-38.865,-3.905]],"o":[[-5.467,29.341],[16.672,1.675]],"v":[[-109.834,135.765],[-48.443,184.725]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":61.424,"s":[{"i":[[1.711,-9.184],[-22.036,-2.298]],"o":[[-5.467,29.341],[16.666,1.738]],"v":[[-82.334,141.479],[-44.157,186.154]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64.537,"s":[{"i":[[1.084,-9.278],[-22.742,-3.905]],"o":[[-3.137,26.841],[16.515,2.836]],"v":[[-65.906,140.765],[-27.55,185.797]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":67.654,"s":[{"i":[[1.736,-9.179],[-30.868,-2.298]],"o":[[-5.548,29.341],[16.71,1.244]],"v":[[-48.763,150.051],[6.021,191.69]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70.768,"s":[{"i":[[4.899,-7.954],[-33.318,-9.976]],"o":[[-11.034,17.913],[16.052,4.806]],"v":[[-25.191,138.086],[4.95,187.761]],"c":false}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":73.885,"s":[{"i":[[3.354,-8.719],[-33.063,-8.369]],"o":[[-7.922,20.591],[16.244,4.112]],"v":[[17.309,139.872],[51.914,191.154]],"c":false}]},{"t":77,"s":[{"i":[[5.203,-6.304],[-19.616,-9.86]],"o":[[-11.776,14.267],[13.1,6.585]],"v":[[28.843,135.013],[47.203,184.788]],"c":false}]}],"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.796078491211,0.482352971096,0.333333333333,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":18,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":7.684,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":8.191,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":17.029,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":17.807,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48.184,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48.691,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":57.529,"s":[0]},{"t":58.30859375,"s":[100]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[224.844,263.134],"ix":2},"a":{"a":0,"k":[-72.859,72.455],"ix":1},"s":{"a":0,"k":[35,35],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Fingers","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-0.885,"s":[{"i":[[17.491,10.395],[39.247,15.4],[2.469,27.66],[3.528,42.788],[26.192,-13.822],[9.976,-31.038],[28.103,-36.451],[0.547,-26.841],[-4.31,-12.328],[-3.444,-11.309],[-16.36,-6.8],[-32.808,3.418],[10.11,44.939],[9.426,20.912]],"o":[[16.089,-12.156],[-35.959,-14.123],[-1.922,-22.416],[-3.48,-42.21],[-23.921,12.609],[-11.582,35.244],[-20.75,26.784],[-0.524,25.717],[0.941,11.99],[5.722,18.791],[27.881,11.51],[43.264,15.739],[19.064,-7.644],[21.569,-13.373]],"v":[[164.534,29.118],[138.261,-43.47],[50.323,-67.214],[61.759,-158.465],[5.011,-214.65],[-9.68,-131.559],[-82.165,-46.447],[-110.297,37.73],[-98.405,95.943],[-89.482,133.994],[-50.327,176.685],[40.19,182.224],[145.665,147.431],[165.661,92.447]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.232,"s":[{"i":[[13.001,11.837],[36.774,14.662],[6.246,27.323],[3.528,42.788],[27.829,-14.085],[9.827,-35.912],[27.883,-32.145],[3.432,-26.465],[-3.863,-16.296],[-5.664,-10.776],[-16.395,-6.333],[-34.441,5.039],[16.87,38.593],[9.426,20.912]],"o":[[13.715,-13.163],[-35.886,-14.308],[-4.931,-21.57],[-3.48,-42.21],[-26.048,13.183],[-9.928,36.28],[-21.493,24.778],[-3.289,25.357],[1.054,10.035],[10.897,20.73],[30.586,11.814],[46.988,19.325],[19.064,-7.644],[21.569,-13.373]],"v":[[145.962,30.233],[122.19,-43.305],[62.466,-67.073],[65.688,-158.616],[11.44,-214.684],[-5.395,-133.495],[-77.522,-45.733],[-112.288,34.083],[-109.12,99.158],[-98.508,131.165],[-53.765,177.399],[29.833,177.032],[116.379,147.763],[135.304,93.493]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.348,"s":[{"i":[[17.361,11.837],[34.83,16.998],[2.286,22.001],[0.589,42.929],[27.955,-10.388],[-3.813,-25.555],[28.524,-32.743],[1.871,-26.368],[-2.475,-16.822],[-3.418,-10.254],[-14.967,-9.215],[-24.367,11.825],[9.801,20.736],[8.377,10.363]],"o":[[4.861,-12.091],[-13.866,-6.767],[-2.287,-22.008],[-0.579,-42.171],[-22.543,8.377],[8.718,58.422],[-20.908,24.001],[-1.793,25.264],[2.179,9.984],[6.576,19.728],[22.088,13.6],[51.347,0.753],[15.873,1.45],[15.163,-10.351]],"v":[[114.891,28.805],[93.261,-45.091],[60.323,-65.645],[62.116,-159.33],[15.725,-215.398],[-8.252,-134.209],[-54.308,-45.639],[-84.802,32.867],[-80.548,98.592],[-72.328,129.482],[-41.265,176.685],[36.619,176.675],[92.093,131.692],[109.232,89.207]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.463,"s":[{"i":[[1.341,7.971],[8.118,23.621],[4.837,13.641],[2.058,42.859],[26.694,-4.578],[-9.037,-28.918],[37.184,-33.628],[-6.012,-25.277],[-4.44,-9.944],[-6.843,-9.084],[-13.535,-5.385],[-21.846,20.072],[-1.091,14.189],[2.435,7.468]],"o":[[3.483,-12.744],[-2.127,-6.188],[-11.64,-25.57],[-2.029,-42.19],[-22.83,3.629],[21.673,68.404],[-23.447,21.782],[-12.798,24.723],[-0.868,13.627],[4.445,24.131],[27.249,8.881],[13.542,-13.719],[5.338,-9.74],[3.863,-13.961]],"v":[[90.962,30.528],[88.715,-38.17],[77.466,-65.856],[66.759,-158.823],[25.725,-216.923],[-3.252,-135.262],[-82.096,-45.223],[-102.042,27.348],[-97.543,94.872],[-79.999,138.654],[-32.648,178.47],[59.833,166.504],[78.751,126.096],[80.583,80.317]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.578,"s":[{"i":[[0.306,8.241],[7.879,28.766],[9.982,13.852],[3.528,42.789],[25.433,1.232],[-14.261,-32.282],[45.844,-34.514],[-15.591,-28.046],[-12.657,-11.224],[-12.682,-8.404],[-12.294,-1.579],[-19.325,28.32],[-3.527,16.761],[-0.537,4.893]],"o":[[0.307,-12.008],[-6.721,-24.538],[-20.994,-29.132],[-3.48,-42.21],[-23.117,-1.12],[34.628,78.386],[-21.944,16.521],[-18.448,33.383],[-2.3,18.776],[6.246,34.453],[32.409,4.162],[6.989,-10.242],[0.944,-4.485],[0.811,-7.385]],"v":[[102.748,77.967],[117.741,-21.249],[94.609,-66.067],[71.402,-158.315],[35.725,-218.447],[1.748,-136.315],[-109.885,-44.807],[-120.175,26.902],[-110.609,96.509],[-92.727,137.975],[-24.032,180.256],[83.047,156.333],[99.695,115.501],[101.933,101.427]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.693,"s":[{"i":[[-0.643,6.579],[1.983,29.934],[22.395,28.359],[0.928,46.587],[25.423,1.418],[-13.669,-29.325],[43.779,-38.55],[-15.3,-27.005],[-19.06,-26.058],[-15.127,-9.415],[-8.819,-1.974],[-28.995,28.961],[-4.424,15.339],[-0.835,4.243]],"o":[[1.101,-12.853],[-1.586,-23.937],[-24.667,-31.236],[-1.13,-39.498],[-30.897,-1.723],[39.866,85.528],[-10.736,9.454],[-16.728,24.781],[-2.988,12.87],[-1.199,38.443],[26.642,6.501],[11.32,-11.775],[1.184,-4.105],[1.261,-6.405]],"v":[[136.32,84.129],[143.181,17.126],[111.395,-62.762],[66.045,-159.386],[36.44,-218.349],[-1.823,-128.101],[-103.237,-40.094],[-110.229,22.289],[-105.398,94.915],[-87.902,138.628],[-25.103,182.756],[107.69,157.496],[130.503,116.182],[133.516,103.647]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.807,"s":[{"i":[[-1.247,6.471],[2.86,29.92],[22.588,29.56],[-1.672,50.385],[25.421,1.457],[-21.964,-46.75],[60.036,-33.174],[-12.587,-29.375],[-12.203,-13.934],[-14.265,-7.197],[-14.572,-2.99],[-38.317,29.841],[-6.929,16.182],[-1.43,4.415]],"o":[[1.895,-13.697],[-2.287,-23.926],[-26.537,-34.728],[1.221,-36.786],[-26.426,-1.515],[41.837,89.05],[-13.346,7.375],[-19.016,28.84],[-6.132,22.495],[-7.122,46.017],[22.017,4.517],[13.513,-10.524],[1.854,-4.331],[2.158,-6.664]],"v":[[152.034,89.941],[158.086,22.456],[124.609,-58.826],[55.688,-160.051],[32.154,-217.844],[-7.895,-119.837],[-116.808,-45.469],[-136.684,17.517],[-130.64,85.29],[-110.364,134.268],[-47.603,185.256],[111.619,164.737],[142.023,122.913],[146.944,109.761]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.924,"s":[{"i":[[1.243,6.472],[12.872,20.619],[9.479,10.043],[-1.672,50.385],[25.458,0.512],[-27.761,-33.809],[99.186,-34.246],[-21.652,-34.375],[-19.125,-8.576],[-27.972,-4.697],[-14.514,-2.029],[-44.278,28.03],[-5.622,13.837],[-0.408,15.237]],"o":[[-3.689,-19.208],[-10.856,-17.389],[-25.446,-26.96],[1.221,-36.786],[-39.776,-0.8],[48.487,59.05],[-15.907,5.492],[-32.724,27.411],[-6.132,22.495],[-6.544,38.16],[23.195,3.243],[17.188,-10.881],[5.042,-12.408],[0.434,-16.218]],"v":[[167.853,22.707],[147.792,-32.191],[118.537,-71.326],[50.688,-160.765],[27.154,-217.844],[-5.752,-101.265],[-106.094,-51.184],[-123.47,14.659],[-118.497,87.433],[-82.507,140.696],[-44.389,186.328],[120.547,160.094],[159.428,114.662],[171.357,66.476]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[1.243,6.472],[12.872,20.619],[10.444,11.24],[5.517,50.104],[25.459,0.451],[-21.756,-32.396],[112.78,-31.07],[-21.652,-34.375],[-19.125,-8.576],[-27.972,-4.697],[-14.514,-2.029],[-44.278,28.03],[-7.554,19.483],[-0.408,15.237]],"o":[[-3.689,-19.208],[-10.856,-17.389],[-22.949,-24.696],[-3.777,-34.337],[-45.238,-0.8],[37.973,56.544],[-16.223,4.471],[-32.723,27.411],[-6.132,22.495],[-6.544,38.16],[23.195,3.243],[17.188,-10.881],[4.843,-12.487],[0.434,-16.218]],"v":[[163.618,22.707],[143.557,-32.191],[114.303,-71.326],[50.688,-160.765],[20.096,-217.138],[-3.282,-101.265],[-89.861,-51.889],[-107.237,13.954],[-102.265,86.727],[-66.274,139.991],[-28.156,185.622],[117.724,161.506],[158.017,117.485],[167.122,66.476]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27.152,"s":[{"i":[[0.993,6.515],[11.826,21.17],[11.703,9.951],[11.479,49.089],[20.678,-1.157],[-22.925,-42.571],[51.425,-18.123],[-27.27,-27.895],[-19.125,-8.576],[-23.233,-8.575],[-15.279,-0.635],[-37.895,24.409],[-4.096,20.031],[-0.408,15.237]],"o":[[-3.235,-21.229],[-9.997,-17.896],[-21.063,-17.909],[-7.856,-33.593],[-34.995,1.959],[21.798,40.478],[-34.971,12.325],[-34.77,22.105],[-10.814,20.76],[-8.233,36.068],[23.401,0.972],[23.356,-15.044],[2.684,-13.122],[0.434,-16.218]],"v":[[142.852,22.585],[123.506,-36.242],[92.466,-72.877],[51.759,-157.193],[12.154,-219.272],[-9.323,-116.622],[-46.451,-50.52],[-68.827,25.68],[-67.426,94.525],[-49.65,149.217],[5.611,191.991],[105.547,168.9],[141.214,115.254],[145.642,66.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30.268,"s":[{"i":[[12.53,11.688],[19.376,17.658],[11.29,10.417],[11.479,49.089],[26.434,-1.476],[-18.703,-46.535],[5.404,-12.052],[-26.148,-23.61],[-18.621,-2.454],[-23.539,-5.003],[-20.09,-4.69],[-26.593,12.099],[3.097,17.59],[4.383,12.205]],"o":[[2.173,-14.74],[-11.129,-10.142],[-7.798,-7.195],[-7.856,-33.593],[-40.343,2.252],[16.491,41.031],[-22.453,12.234],[-30.434,15.676],[-20.764,7.546],[-16.397,27.497],[18.7,4.365],[25.288,-11.505],[10.24,-8.838],[22.597,-19.224]],"v":[[126.067,6.097],[108.863,-54.159],[77.108,-86.092],[44.616,-157.032],[5.011,-219.111],[-21.466,-116.104],[-23.951,-50.163],[-32.399,22.823],[-31.712,86.667],[-25.007,136.717],[4.897,187.705],[98.404,184.614],[125.5,133.409],[128.142,72.723]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31.826,"s":[{"i":[[15.745,13.618],[24.906,13.707],[23.693,20.822],[9.725,47.448],[26.648,-0.431],[-10.411,-37.531],[21.538,-37.214],[-1.802,-22.451],[-10.397,-15.457],[-2.035,-16.54],[-18.203,-12.267],[-39.567,10.389],[6.086,17.199],[8.183,11.828]],"o":[[5.388,-18.882],[-12.257,-7.216],[-15.387,-13.523],[-7.167,-35.411],[-33.528,0.821],[10.623,38.295],[-8.909,15.393],[1.802,22.451],[2.817,15.614],[2.786,22.647],[20.737,13.975],[25.2,-8.504],[12.628,-14.051],[18.361,-20.493]],"v":[[144.05,7.024],[125.961,-53.779],[70.858,-76.252],[45.33,-159.67],[5.725,-219.492],[-28.966,-136.113],[-34.129,-48.572],[-48.68,21.048],[-23.266,85.028],[-22.164,133.709],[10.968,182.195],[115.904,186.682],[141.923,139.336],[146.255,78.457]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32.605,"s":[{"i":[[17.352,14.583],[29.456,13.874],[19.422,19.668],[8.848,46.628],[26.755,0.092],[-6.159,-35.431],[29.491,-50.51],[-3.995,-23.398],[-4.697,-9.437],[-2.638,-15.842],[-13.689,-9.584],[-16.44,-2.966],[7.58,17.004],[10.082,11.64]],"o":[[6.995,-20.953],[-17.999,-8.509],[-15.037,-15.734],[-6.822,-36.32],[-30.121,0.105],[6.363,37.53],[-8.737,14.995],[4.933,27.086],[0.761,10.014],[3.336,20.401],[12.524,8.609],[121.418,13.105],[12.28,-12.014],[16.243,-21.128]],"v":[[153.042,7.488],[131.653,-55.732],[61.662,-77.76],[45.688,-160.989],[6.083,-219.682],[-30.93,-146.118],[-40.29,-44.92],[-53.963,27.661],[-25.829,91.351],[-26.992,133.276],[0.432,177.654],[38.94,190.037],[151.921,138.013],[156.026,80.252]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":33.385,"s":[{"i":[[18.96,15.548],[34.006,14.041],[15.151,18.513],[7.97,45.808],[26.861,0.614],[-1.906,-33.331],[37.445,-63.806],[-6.188,-24.346],[1.003,-3.417],[-3.241,-15.144],[-9.175,-6.902],[-21.419,-3.749],[9.075,16.808],[11.982,11.451]],"o":[[8.603,-23.024],[-23.741,-9.802],[-14.687,-17.946],[-6.478,-37.229],[-26.713,-0.611],[2.103,36.764],[-8.566,14.596],[8.063,31.722],[-1.296,4.414],[3.886,18.155],[4.311,3.243],[139.375,24.393],[11.932,-9.978],[14.125,-21.763]],"v":[[162.034,7.951],[137.345,-57.685],[52.466,-79.269],[46.045,-162.308],[6.44,-219.873],[-32.895,-156.122],[-46.451,-41.267],[-59.247,34.274],[-28.392,97.674],[-31.821,132.844],[-10.103,173.113],[30.547,188.392],[161.919,136.691],[165.797,82.048]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34.941,"s":[{"i":[[20.397,11.809],[33.813,6.419],[4.664,27.637],[2.815,36.1],[24.555,-13.559],[-1.528,-28.013],[22.454,-32.239],[-3.189,-27.92],[-4.757,-8.361],[-4.32,-10.657],[-16.325,-7.266],[-20.258,0.011],[11.052,53.785],[14.985,16.984]],"o":[[11.826,-19.619],[-37.955,-7.206],[-4.677,-27.717],[-3.293,-42.225],[-21.794,12.034],[2.469,45.264],[-20.037,28.77],[2.522,22.08],[0.48,15.013],[8.311,20.502],[25.176,11.206],[59.384,12.511],[14.623,-10.501],[21.569,-13.373]],"v":[[170.963,23.475],[149.333,-47.206],[43.18,-73.07],[52.116,-158.315],[-2.132,-214.617],[-23.966,-129.622],[-63.951,-47.833],[-84.019,37.848],[-62.691,94.2],[-60.457,136.151],[-22.603,176.013],[35.904,188.488],[158.522,143.286],[168.518,88.301]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36.5,"s":[{"i":[[21.981,8.952],[41.721,16.139],[-1.308,27.997],[3.528,42.788],[24.555,-13.559],[10.124,-26.164],[28.324,-40.758],[-2.339,-27.217],[-4.757,-8.361],[-4.32,-10.657],[-16.325,-7.266],[-31.175,1.797],[3.35,51.285],[9.426,20.912]],"o":[[18.462,-11.149],[-36.032,-13.938],[1.086,-23.261],[-3.48,-42.21],[-21.794,12.034],[-13.237,34.208],[-20.007,28.791],[2.241,26.077],[0.828,13.944],[8.311,20.502],[25.176,11.206],[39.54,12.154],[19.065,-7.644],[21.569,-13.373]],"v":[[175.963,29.904],[154.333,-43.635],[38.18,-67.355],[57.831,-158.315],[-1.418,-214.617],[-13.966,-129.622],[-86.808,-47.162],[-108.305,41.377],[-93.405,97.015],[-85.457,133.965],[-46.889,175.97],[50.547,187.416],[154.951,147.571],[176.018,91.872]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39.615,"s":[{"i":[[17.491,10.395],[39.247,15.4],[2.469,27.66],[3.528,42.788],[26.192,-13.822],[9.976,-31.038],[28.103,-36.451],[0.547,-26.841],[-4.31,-12.328],[-3.444,-11.309],[-16.36,-6.8],[-32.808,3.418],[10.11,44.939],[9.426,20.912]],"o":[[16.089,-12.156],[-35.959,-14.123],[-1.922,-22.416],[-3.48,-42.21],[-23.921,12.609],[-11.582,35.244],[-20.75,26.784],[-0.524,25.717],[0.941,11.99],[5.722,18.791],[27.881,11.51],[43.264,15.739],[19.064,-7.644],[21.569,-13.373]],"v":[[164.534,29.118],[138.261,-43.47],[50.323,-67.214],[61.759,-158.465],[5.011,-214.65],[-9.68,-131.559],[-82.165,-46.447],[-110.297,37.73],[-98.405,95.943],[-89.482,133.994],[-50.327,176.685],[40.19,182.224],[145.665,147.431],[165.661,92.447]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42.732,"s":[{"i":[[13.001,11.837],[36.774,14.662],[6.246,27.323],[3.528,42.788],[27.829,-14.085],[9.827,-35.912],[27.883,-32.145],[3.432,-26.465],[-3.863,-16.296],[-5.664,-10.776],[-16.395,-6.333],[-34.441,5.039],[16.87,38.593],[9.426,20.912]],"o":[[13.715,-13.163],[-35.886,-14.308],[-4.931,-21.57],[-3.48,-42.21],[-26.048,13.183],[-9.928,36.28],[-21.493,24.778],[-3.289,25.357],[1.054,10.035],[10.897,20.73],[30.586,11.814],[46.988,19.325],[19.064,-7.644],[21.569,-13.373]],"v":[[145.962,30.233],[122.19,-43.305],[62.466,-67.073],[65.688,-158.616],[11.44,-214.684],[-5.395,-133.495],[-77.522,-45.733],[-112.288,34.083],[-109.12,99.158],[-98.508,131.165],[-53.765,177.399],[29.833,177.032],[116.379,147.763],[135.304,93.493]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45.848,"s":[{"i":[[17.361,11.837],[34.83,16.998],[2.286,22.001],[0.589,42.929],[27.955,-10.388],[-3.813,-25.555],[28.524,-32.743],[1.871,-26.368],[-2.475,-16.822],[-3.418,-10.254],[-14.967,-9.215],[-24.367,11.825],[9.801,20.736],[8.377,10.363]],"o":[[4.861,-12.091],[-13.866,-6.767],[-2.287,-22.008],[-0.579,-42.171],[-22.543,8.377],[8.718,58.422],[-20.908,24.001],[-1.793,25.264],[2.179,9.984],[6.576,19.728],[22.088,13.6],[51.347,0.753],[15.873,1.45],[15.163,-10.351]],"v":[[114.891,28.805],[93.261,-45.091],[60.323,-65.645],[62.116,-159.33],[15.725,-215.398],[-8.252,-134.209],[-54.308,-45.639],[-84.802,32.867],[-80.548,98.592],[-72.328,129.482],[-41.265,176.685],[36.619,176.675],[92.093,131.692],[109.232,89.207]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48.963,"s":[{"i":[[1.341,7.971],[8.118,23.621],[4.837,13.641],[2.058,42.859],[26.694,-4.578],[-9.037,-28.918],[37.184,-33.628],[-6.012,-25.277],[-4.44,-9.944],[-6.843,-9.084],[-13.535,-5.385],[-21.846,20.072],[-1.091,14.189],[2.435,7.468]],"o":[[3.483,-12.744],[-2.127,-6.188],[-11.64,-25.57],[-2.029,-42.19],[-22.83,3.629],[21.673,68.404],[-23.447,21.782],[-12.798,24.723],[-0.868,13.627],[4.445,24.131],[27.249,8.881],[13.542,-13.719],[5.338,-9.74],[3.863,-13.961]],"v":[[90.962,30.528],[88.715,-38.17],[77.466,-65.856],[66.759,-158.823],[25.725,-216.923],[-3.252,-135.262],[-82.096,-45.223],[-102.042,27.348],[-97.543,94.872],[-79.999,138.654],[-32.648,178.47],[59.833,166.504],[78.751,126.096],[80.583,80.317]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52.078,"s":[{"i":[[0.306,8.241],[7.879,28.766],[9.982,13.852],[3.528,42.789],[25.433,1.232],[-14.261,-32.282],[45.844,-34.514],[-15.591,-28.046],[-12.657,-11.224],[-12.682,-8.404],[-12.294,-1.579],[-19.325,28.32],[-3.527,16.761],[-0.537,4.893]],"o":[[0.307,-12.008],[-6.721,-24.538],[-20.994,-29.132],[-3.48,-42.21],[-23.117,-1.12],[34.628,78.386],[-21.944,16.521],[-18.448,33.383],[-2.3,18.776],[6.246,34.453],[32.409,4.162],[6.989,-10.242],[0.944,-4.485],[0.811,-7.385]],"v":[[102.748,77.967],[117.741,-21.249],[94.609,-66.067],[71.402,-158.315],[35.725,-218.447],[1.748,-136.315],[-109.885,-44.807],[-120.175,26.902],[-110.609,96.509],[-92.727,137.975],[-24.032,180.256],[83.047,156.333],[99.695,115.501],[101.933,101.427]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":55.193,"s":[{"i":[[-0.643,6.579],[1.983,29.934],[22.395,28.359],[0.928,46.587],[25.423,1.418],[-13.669,-29.325],[43.779,-38.55],[-15.3,-27.005],[-19.06,-26.058],[-15.127,-9.415],[-8.819,-1.974],[-28.995,28.961],[-4.424,15.339],[-0.835,4.243]],"o":[[1.101,-12.853],[-1.586,-23.937],[-24.667,-31.236],[-1.13,-39.498],[-30.897,-1.723],[39.866,85.528],[-10.736,9.454],[-16.728,24.781],[-2.988,12.87],[-1.199,38.443],[26.642,6.501],[11.32,-11.775],[1.184,-4.105],[1.261,-6.405]],"v":[[136.32,84.129],[143.181,17.126],[111.395,-62.762],[66.045,-159.386],[36.44,-218.349],[-1.823,-128.101],[-103.237,-40.094],[-110.229,22.289],[-105.398,94.915],[-87.902,138.628],[-25.103,182.756],[107.69,157.496],[130.503,116.182],[133.516,103.647]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58.309,"s":[{"i":[[-1.247,6.471],[2.86,29.92],[22.588,29.56],[-1.672,50.385],[25.421,1.457],[-21.964,-46.75],[60.036,-33.174],[-12.587,-29.375],[-12.203,-13.934],[-14.265,-7.197],[-14.572,-2.99],[-38.317,29.841],[-6.929,16.182],[-1.43,4.415]],"o":[[1.895,-13.697],[-2.287,-23.926],[-26.537,-34.728],[1.221,-36.786],[-26.426,-1.515],[41.837,89.05],[-13.346,7.375],[-19.016,28.84],[-6.132,22.495],[-7.122,46.017],[22.017,4.517],[13.513,-10.524],[1.854,-4.331],[2.158,-6.664]],"v":[[152.034,89.941],[158.086,22.456],[124.609,-58.826],[55.688,-160.051],[32.154,-217.844],[-7.895,-119.837],[-116.808,-45.469],[-136.684,17.517],[-130.64,85.29],[-110.364,134.268],[-47.603,185.256],[111.619,164.737],[142.023,122.913],[146.944,109.761]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":61.424,"s":[{"i":[[1.243,6.472],[12.872,20.619],[9.479,10.043],[-1.672,50.385],[25.458,0.512],[-27.761,-33.809],[99.186,-34.246],[-21.652,-34.375],[-19.125,-8.576],[-27.972,-4.697],[-14.514,-2.029],[-44.278,28.03],[-5.622,13.837],[-0.408,15.237]],"o":[[-3.689,-19.208],[-10.856,-17.389],[-25.446,-26.96],[1.221,-36.786],[-39.776,-0.8],[48.487,59.05],[-15.907,5.492],[-32.724,27.411],[-6.132,22.495],[-6.544,38.16],[23.195,3.243],[17.188,-10.881],[5.042,-12.408],[0.434,-16.218]],"v":[[167.853,22.707],[147.792,-32.191],[118.537,-71.326],[50.688,-160.765],[27.154,-217.844],[-5.752,-101.265],[-106.094,-51.184],[-123.47,14.659],[-118.497,87.433],[-82.507,140.696],[-44.389,186.328],[120.547,160.094],[159.428,114.662],[171.357,66.476]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64.537,"s":[{"i":[[1.243,6.472],[12.872,20.619],[10.456,11.254],[5.604,50.101],[25.459,0.45],[-21.683,-32.379],[112.944,-31.031],[-21.652,-34.375],[-19.125,-8.576],[-27.972,-4.697],[-14.514,-2.029],[-44.278,28.03],[-7.578,19.551],[-0.408,15.237]],"o":[[-3.689,-19.208],[-10.856,-17.389],[-22.919,-24.669],[-3.837,-34.307],[-45.303,-0.8],[37.846,56.514],[-16.227,4.458],[-32.723,27.411],[-6.132,22.495],[-6.544,38.16],[23.195,3.243],[17.188,-10.881],[4.84,-12.488],[0.434,-16.218]],"v":[[163.567,22.707],[143.506,-32.191],[114.252,-71.326],[50.688,-160.765],[20.011,-217.129],[-3.252,-101.265],[-89.665,-51.898],[-107.042,13.945],[-102.069,86.718],[-66.079,139.982],[-27.961,185.613],[117.69,161.523],[158,117.519],[167.071,66.476]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":67.654,"s":[{"i":[[0.993,6.515],[11.826,21.17],[11.703,9.951],[11.479,49.089],[20.678,-1.157],[-22.925,-42.571],[51.425,-18.123],[-27.27,-27.895],[-19.125,-8.576],[-23.233,-8.575],[-15.279,-0.635],[-37.895,24.409],[-4.096,20.031],[-0.408,15.237]],"o":[[-3.235,-21.229],[-9.997,-17.896],[-21.063,-17.909],[-7.856,-33.593],[-34.995,1.959],[21.798,40.478],[-34.971,12.325],[-34.77,22.105],[-10.814,20.76],[-8.233,36.068],[23.401,0.972],[23.356,-15.044],[2.684,-13.122],[0.434,-16.218]],"v":[[142.852,22.585],[123.506,-36.242],[92.466,-72.877],[51.759,-157.193],[12.154,-219.272],[-9.323,-116.622],[-46.451,-50.52],[-68.827,25.68],[-67.426,94.525],[-49.65,149.217],[5.611,191.991],[105.547,168.9],[141.214,115.254],[145.642,66.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70.768,"s":[{"i":[[12.53,11.688],[19.376,17.658],[11.29,10.417],[11.479,49.089],[26.434,-1.476],[-18.703,-46.535],[5.404,-12.052],[-26.148,-23.61],[-18.621,-2.454],[-23.539,-5.003],[-20.09,-4.69],[-26.593,12.099],[3.097,17.59],[4.383,12.205]],"o":[[2.173,-14.74],[-11.129,-10.142],[-7.798,-7.195],[-7.856,-33.593],[-40.343,2.252],[16.491,41.031],[-22.453,12.234],[-30.434,15.676],[-20.764,7.546],[-16.397,27.497],[18.7,4.365],[25.288,-11.505],[10.24,-8.838],[22.597,-19.224]],"v":[[126.067,6.097],[108.863,-54.159],[77.108,-86.092],[44.616,-157.032],[5.011,-219.111],[-21.466,-116.104],[-23.951,-50.163],[-32.399,22.823],[-31.712,86.667],[-25.007,136.717],[4.897,187.705],[98.404,184.614],[125.5,133.409],[128.142,72.723]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72.326,"s":[{"i":[[15.745,13.618],[24.906,13.707],[23.693,20.822],[9.725,47.448],[26.648,-0.431],[-10.411,-37.531],[21.538,-37.214],[-1.802,-22.451],[-10.397,-15.457],[-2.035,-16.54],[-18.203,-12.267],[-39.567,10.389],[6.086,17.199],[8.183,11.828]],"o":[[5.388,-18.882],[-12.257,-7.216],[-15.387,-13.523],[-7.167,-35.411],[-33.528,0.821],[10.623,38.295],[-8.909,15.393],[1.802,22.451],[2.817,15.614],[2.786,22.647],[20.737,13.975],[25.2,-8.504],[12.628,-14.051],[18.361,-20.493]],"v":[[144.05,7.024],[125.961,-53.779],[70.858,-76.252],[45.33,-159.67],[5.725,-219.492],[-28.966,-136.113],[-34.129,-48.572],[-48.68,21.048],[-23.266,85.028],[-22.164,133.709],[10.968,182.195],[115.904,186.682],[141.923,139.336],[146.255,78.457]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":73.105,"s":[{"i":[[17.352,14.583],[29.456,13.874],[19.422,19.668],[8.848,46.628],[26.755,0.092],[-6.159,-35.431],[29.491,-50.51],[-3.995,-23.398],[-4.697,-9.437],[-2.638,-15.842],[-13.689,-9.584],[-16.44,-2.966],[7.58,17.004],[10.082,11.64]],"o":[[6.995,-20.953],[-17.999,-8.509],[-15.037,-15.734],[-6.822,-36.32],[-30.121,0.105],[6.363,37.53],[-8.737,14.995],[4.933,27.086],[0.761,10.014],[3.336,20.401],[12.524,8.609],[121.418,13.105],[12.28,-12.014],[16.243,-21.128]],"v":[[153.042,7.488],[131.653,-55.732],[61.662,-77.76],[45.688,-160.989],[6.083,-219.682],[-30.93,-146.118],[-40.29,-44.92],[-53.963,27.661],[-25.829,91.351],[-26.992,133.276],[0.432,177.654],[38.94,190.037],[151.921,138.013],[156.026,80.252]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":73.885,"s":[{"i":[[18.96,15.548],[34.006,14.041],[15.151,18.513],[7.97,45.808],[26.861,0.614],[-1.906,-33.331],[37.445,-63.806],[-6.188,-24.346],[1.003,-3.417],[-3.241,-15.144],[-9.175,-6.902],[-21.419,-3.749],[9.075,16.808],[11.982,11.451]],"o":[[8.603,-23.024],[-23.741,-9.802],[-14.687,-17.946],[-6.478,-37.229],[-26.713,-0.611],[2.103,36.764],[-8.566,14.596],[8.063,31.722],[-1.296,4.414],[3.886,18.155],[4.311,3.243],[139.375,24.393],[11.932,-9.978],[14.125,-21.763]],"v":[[162.034,7.951],[137.345,-57.685],[52.466,-79.269],[46.045,-162.308],[6.44,-219.873],[-32.895,-156.122],[-46.451,-41.267],[-59.247,34.274],[-28.392,97.674],[-31.821,132.844],[-10.103,173.113],[30.547,188.392],[161.919,136.691],[165.797,82.048]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":75.441,"s":[{"i":[[20.397,11.809],[33.813,6.419],[4.664,27.637],[2.815,36.1],[24.555,-13.559],[-1.528,-28.013],[22.454,-32.239],[-3.189,-27.92],[-4.757,-8.361],[-4.32,-10.657],[-16.325,-7.266],[-20.258,0.011],[11.052,53.785],[14.985,16.984]],"o":[[11.826,-19.619],[-37.955,-7.206],[-4.677,-27.717],[-3.293,-42.225],[-21.794,12.034],[2.469,45.264],[-20.037,28.77],[2.522,22.08],[0.48,15.013],[8.311,20.502],[25.176,11.206],[59.384,12.511],[14.623,-10.501],[21.569,-13.373]],"v":[[170.963,23.475],[149.333,-47.206],[43.18,-73.07],[52.116,-158.315],[-2.132,-214.617],[-23.966,-129.622],[-63.951,-47.833],[-84.019,37.848],[-62.691,94.2],[-60.457,136.151],[-22.603,176.013],[35.904,188.488],[158.522,143.286],[168.518,88.301]],"c":true}]},{"t":77,"s":[{"i":[[21.981,8.952],[41.721,16.139],[-1.308,27.997],[3.528,42.788],[24.555,-13.559],[10.124,-26.164],[28.324,-40.758],[-2.339,-27.217],[-4.757,-8.361],[-4.32,-10.657],[-16.325,-7.266],[-31.175,1.797],[3.35,51.285],[9.426,20.912]],"o":[[18.462,-11.149],[-36.032,-13.938],[1.086,-23.261],[-3.48,-42.21],[-21.794,12.034],[-13.237,34.208],[-20.007,28.791],[2.241,26.077],[0.828,13.944],[8.311,20.502],[25.176,11.206],[39.54,12.154],[19.065,-7.644],[21.569,-13.373]],"v":[[175.963,29.904],[154.333,-43.635],[38.18,-67.355],[57.831,-158.315],[-1.418,-214.617],[-13.966,-129.622],[-86.808,-47.162],[-108.305,41.377],[-93.405,97.015],[-85.457,133.965],[-46.889,175.97],[50.547,187.416],[154.951,147.571],[176.018,91.872]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.796078491211,0.482352971096,0.333333333333,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":18,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Stroke","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[224.844,263.134],"ix":2},"a":{"a":0,"k":[-72.859,72.455],"ix":1},"s":{"a":0,"k":[35,35],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Main","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":-0.885,"s":[{"i":[[17.491,10.395],[39.247,15.4],[2.469,27.66],[3.528,42.788],[26.192,-13.822],[9.976,-31.038],[28.103,-36.451],[0.547,-26.841],[-4.31,-12.328],[-3.444,-11.309],[-16.36,-6.8],[-32.808,3.418],[10.11,44.939],[9.426,20.912]],"o":[[16.089,-12.156],[-35.959,-14.123],[-1.922,-22.416],[-3.48,-42.21],[-23.921,12.609],[-11.582,35.244],[-20.75,26.784],[-0.524,25.717],[0.941,11.99],[5.722,18.791],[27.881,11.51],[43.264,15.739],[19.064,-7.644],[21.569,-13.373]],"v":[[164.534,29.118],[138.261,-43.47],[50.323,-67.214],[61.759,-158.465],[5.011,-214.65],[-9.68,-131.559],[-82.165,-46.447],[-110.297,37.73],[-98.405,95.943],[-89.482,133.994],[-50.327,176.685],[40.19,182.224],[145.665,147.431],[165.661,92.447]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":2.232,"s":[{"i":[[13.001,11.837],[36.774,14.662],[6.246,27.323],[3.528,42.788],[27.829,-14.085],[9.827,-35.912],[27.883,-32.145],[3.432,-26.465],[-3.863,-16.296],[-5.664,-10.776],[-16.395,-6.333],[-34.441,5.039],[16.87,38.593],[9.426,20.912]],"o":[[13.715,-13.163],[-35.886,-14.308],[-4.931,-21.57],[-3.48,-42.21],[-26.048,13.183],[-9.928,36.28],[-21.493,24.778],[-3.289,25.357],[1.054,10.035],[10.897,20.73],[30.586,11.814],[46.988,19.325],[19.064,-7.644],[21.569,-13.373]],"v":[[145.962,30.233],[122.19,-43.305],[62.466,-67.073],[65.688,-158.616],[11.44,-214.684],[-5.395,-133.495],[-77.522,-45.733],[-112.288,34.083],[-109.12,99.158],[-98.508,131.165],[-53.765,177.399],[29.833,177.032],[116.379,147.763],[135.304,93.493]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5.348,"s":[{"i":[[17.361,11.837],[34.83,16.998],[2.286,22.001],[0.589,42.929],[27.955,-10.388],[-3.813,-25.555],[28.524,-32.743],[1.871,-26.368],[-2.475,-16.822],[-3.418,-10.254],[-14.967,-9.215],[-24.367,11.825],[9.801,20.736],[8.377,10.363]],"o":[[4.861,-12.091],[-13.866,-6.767],[-2.287,-22.008],[-0.579,-42.171],[-22.543,8.377],[8.718,58.422],[-20.908,24.001],[-1.793,25.264],[2.179,9.984],[6.576,19.728],[22.088,13.6],[51.347,0.753],[15.873,1.45],[15.163,-10.351]],"v":[[114.891,28.805],[93.261,-45.091],[60.323,-65.645],[62.116,-159.33],[15.725,-215.398],[-8.252,-134.209],[-54.308,-45.639],[-84.802,32.867],[-80.548,98.592],[-72.328,129.482],[-41.265,176.685],[36.619,176.675],[92.093,131.692],[109.232,89.207]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":8.463,"s":[{"i":[[1.341,7.971],[8.118,23.621],[4.837,13.641],[2.058,42.859],[26.694,-4.578],[-9.037,-28.918],[37.184,-33.628],[-6.012,-25.277],[-4.44,-9.944],[-6.843,-9.084],[-13.535,-5.385],[-21.846,20.072],[-1.091,14.189],[2.435,7.468]],"o":[[3.483,-12.744],[-2.127,-6.188],[-11.64,-25.57],[-2.029,-42.19],[-22.83,3.629],[21.673,68.404],[-23.447,21.782],[-12.798,24.723],[-0.868,13.627],[4.445,24.131],[27.249,8.881],[13.542,-13.719],[5.338,-9.74],[3.863,-13.961]],"v":[[90.962,30.528],[88.715,-38.17],[77.466,-65.856],[66.759,-158.823],[25.725,-216.923],[-3.252,-135.262],[-82.096,-45.223],[-102.042,27.348],[-97.543,94.872],[-79.999,138.654],[-32.648,178.47],[59.833,166.504],[78.751,126.096],[80.583,80.317]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":11.578,"s":[{"i":[[0.306,8.241],[7.879,28.766],[9.982,13.852],[3.528,42.789],[25.433,1.232],[-14.261,-32.282],[45.844,-34.514],[-15.591,-28.046],[-12.657,-11.224],[-12.682,-8.404],[-12.294,-1.579],[-19.325,28.32],[-3.527,16.761],[-0.537,4.893]],"o":[[0.307,-12.008],[-6.721,-24.538],[-20.994,-29.132],[-3.48,-42.21],[-23.117,-1.12],[34.628,78.386],[-21.944,16.521],[-18.448,33.383],[-2.3,18.776],[6.246,34.453],[32.409,4.162],[6.989,-10.242],[0.944,-4.485],[0.811,-7.385]],"v":[[102.748,77.967],[117.741,-21.249],[94.609,-66.067],[71.402,-158.315],[35.725,-218.447],[1.748,-136.315],[-109.885,-44.807],[-120.175,26.902],[-110.609,96.509],[-92.727,137.975],[-24.032,180.256],[83.047,156.333],[99.695,115.501],[101.933,101.427]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":14.693,"s":[{"i":[[-0.643,6.579],[1.983,29.934],[22.395,28.359],[0.928,46.587],[25.423,1.418],[-13.669,-29.325],[43.779,-38.55],[-15.3,-27.005],[-19.06,-26.058],[-15.127,-9.415],[-8.819,-1.974],[-28.995,28.961],[-4.424,15.339],[-0.835,4.243]],"o":[[1.101,-12.853],[-1.586,-23.937],[-24.667,-31.236],[-1.13,-39.498],[-30.897,-1.723],[39.866,85.528],[-10.736,9.454],[-16.728,24.781],[-2.988,12.87],[-1.199,38.443],[26.642,6.501],[11.32,-11.775],[1.184,-4.105],[1.261,-6.405]],"v":[[136.32,84.129],[143.181,17.126],[111.395,-62.762],[66.045,-159.386],[36.44,-218.349],[-1.823,-128.101],[-103.237,-40.094],[-110.229,22.289],[-105.398,94.915],[-87.902,138.628],[-25.103,182.756],[107.69,157.496],[130.503,116.182],[133.516,103.647]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":17.807,"s":[{"i":[[-1.247,6.471],[2.86,29.92],[22.588,29.56],[-1.672,50.385],[25.421,1.457],[-21.964,-46.75],[60.036,-33.174],[-12.587,-29.375],[-12.203,-13.934],[-14.265,-7.197],[-14.572,-2.99],[-38.317,29.841],[-6.929,16.182],[-1.43,4.415]],"o":[[1.895,-13.697],[-2.287,-23.926],[-26.537,-34.728],[1.221,-36.786],[-26.426,-1.515],[41.837,89.05],[-13.346,7.375],[-19.016,28.84],[-6.132,22.495],[-7.122,46.017],[22.017,4.517],[13.513,-10.524],[1.854,-4.331],[2.158,-6.664]],"v":[[152.034,89.941],[158.086,22.456],[124.609,-58.826],[55.688,-160.051],[32.154,-217.844],[-7.895,-119.837],[-116.808,-45.469],[-136.684,17.517],[-130.64,85.29],[-110.364,134.268],[-47.603,185.256],[111.619,164.737],[142.023,122.913],[146.944,109.761]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20.924,"s":[{"i":[[1.243,6.472],[12.872,20.619],[9.479,10.043],[-1.672,50.385],[25.458,0.512],[-27.761,-33.809],[99.186,-34.246],[-21.652,-34.375],[-19.125,-8.576],[-27.972,-4.697],[-14.514,-2.029],[-44.278,28.03],[-5.622,13.837],[-0.408,15.237]],"o":[[-3.689,-19.208],[-10.856,-17.389],[-25.446,-26.96],[1.221,-36.786],[-39.776,-0.8],[48.487,59.05],[-15.907,5.492],[-32.724,27.411],[-6.132,22.495],[-6.544,38.16],[23.195,3.243],[17.188,-10.881],[5.042,-12.408],[0.434,-16.218]],"v":[[167.853,22.707],[147.792,-32.191],[118.537,-71.326],[50.688,-160.765],[27.154,-217.844],[-5.752,-101.265],[-106.094,-51.184],[-123.47,14.659],[-118.497,87.433],[-82.507,140.696],[-44.389,186.328],[120.547,160.094],[159.428,114.662],[171.357,66.476]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":24,"s":[{"i":[[1.243,6.472],[12.872,20.619],[10.444,11.24],[5.517,50.104],[25.459,0.451],[-21.756,-32.396],[112.78,-31.07],[-21.652,-34.375],[-19.125,-8.576],[-27.972,-4.697],[-14.514,-2.029],[-44.278,28.03],[-7.554,19.483],[-0.408,15.237]],"o":[[-3.689,-19.208],[-10.856,-17.389],[-22.949,-24.696],[-3.777,-34.337],[-45.238,-0.8],[37.973,56.544],[-16.223,4.471],[-32.723,27.411],[-6.132,22.495],[-6.544,38.16],[23.195,3.243],[17.188,-10.881],[4.843,-12.487],[0.434,-16.218]],"v":[[163.618,22.707],[143.557,-32.191],[114.303,-71.326],[50.688,-160.765],[20.096,-217.138],[-3.282,-101.265],[-89.861,-51.889],[-107.237,13.954],[-102.265,86.727],[-66.274,139.991],[-28.156,185.622],[117.724,161.506],[158.017,117.485],[167.122,66.476]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":27.152,"s":[{"i":[[0.993,6.515],[11.826,21.17],[11.703,9.951],[11.479,49.089],[20.678,-1.157],[-22.925,-42.571],[51.425,-18.123],[-27.27,-27.895],[-19.125,-8.576],[-23.233,-8.575],[-15.279,-0.635],[-37.895,24.409],[-4.096,20.031],[-0.408,15.237]],"o":[[-3.235,-21.229],[-9.997,-17.896],[-21.063,-17.909],[-7.856,-33.593],[-34.995,1.959],[21.798,40.478],[-34.971,12.325],[-34.77,22.105],[-10.814,20.76],[-8.233,36.068],[23.401,0.972],[23.356,-15.044],[2.684,-13.122],[0.434,-16.218]],"v":[[142.852,22.585],[123.506,-36.242],[92.466,-72.877],[51.759,-157.193],[12.154,-219.272],[-9.323,-116.622],[-46.451,-50.52],[-68.827,25.68],[-67.426,94.525],[-49.65,149.217],[5.611,191.991],[105.547,168.9],[141.214,115.254],[145.642,66.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":30.268,"s":[{"i":[[12.53,11.688],[19.376,17.658],[11.29,10.417],[11.479,49.089],[26.434,-1.476],[-18.703,-46.535],[5.404,-12.052],[-26.148,-23.61],[-18.621,-2.454],[-23.539,-5.003],[-20.09,-4.69],[-26.593,12.099],[3.097,17.59],[4.383,12.205]],"o":[[2.173,-14.74],[-11.129,-10.142],[-7.798,-7.195],[-7.856,-33.593],[-40.343,2.252],[16.491,41.031],[-22.453,12.234],[-30.434,15.676],[-20.764,7.546],[-16.397,27.497],[18.7,4.365],[25.288,-11.505],[10.24,-8.838],[22.597,-19.224]],"v":[[126.067,6.097],[108.863,-54.159],[77.108,-86.092],[44.616,-157.032],[5.011,-219.111],[-21.466,-116.104],[-23.951,-50.163],[-32.399,22.823],[-31.712,86.667],[-25.007,136.717],[4.897,187.705],[98.404,184.614],[125.5,133.409],[128.142,72.723]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":31.826,"s":[{"i":[[15.745,13.618],[24.906,13.707],[23.693,20.822],[9.725,47.448],[26.648,-0.431],[-10.411,-37.531],[21.538,-37.214],[-1.802,-22.451],[-10.397,-15.457],[-2.035,-16.54],[-18.203,-12.267],[-39.567,10.389],[6.086,17.199],[8.183,11.828]],"o":[[5.388,-18.882],[-12.257,-7.216],[-15.387,-13.523],[-7.167,-35.411],[-33.528,0.821],[10.623,38.295],[-8.909,15.393],[1.802,22.451],[2.817,15.614],[2.786,22.647],[20.737,13.975],[25.2,-8.504],[12.628,-14.051],[18.361,-20.493]],"v":[[144.05,7.024],[125.961,-53.779],[70.858,-76.252],[45.33,-159.67],[5.725,-219.492],[-28.966,-136.113],[-34.129,-48.572],[-48.68,21.048],[-23.266,85.028],[-22.164,133.709],[10.968,182.195],[115.904,186.682],[141.923,139.336],[146.255,78.457]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":32.605,"s":[{"i":[[17.352,14.583],[29.456,13.874],[19.422,19.668],[8.848,46.628],[26.755,0.092],[-6.159,-35.431],[29.491,-50.51],[-3.995,-23.398],[-4.697,-9.437],[-2.638,-15.842],[-13.689,-9.584],[-16.44,-2.966],[7.58,17.004],[10.082,11.64]],"o":[[6.995,-20.953],[-17.999,-8.509],[-15.037,-15.734],[-6.822,-36.32],[-30.121,0.105],[6.363,37.53],[-8.737,14.995],[4.933,27.086],[0.761,10.014],[3.336,20.401],[12.524,8.609],[121.418,13.105],[12.28,-12.014],[16.243,-21.128]],"v":[[153.042,7.488],[131.653,-55.732],[61.662,-77.76],[45.688,-160.989],[6.083,-219.682],[-30.93,-146.118],[-40.29,-44.92],[-53.963,27.661],[-25.829,91.351],[-26.992,133.276],[0.432,177.654],[38.94,190.037],[151.921,138.013],[156.026,80.252]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":33.385,"s":[{"i":[[18.96,15.548],[34.006,14.041],[15.151,18.513],[7.97,45.808],[26.861,0.614],[-1.906,-33.331],[37.445,-63.806],[-6.188,-24.346],[1.003,-3.417],[-3.241,-15.144],[-9.175,-6.902],[-21.419,-3.749],[9.075,16.808],[11.982,11.451]],"o":[[8.603,-23.024],[-23.741,-9.802],[-14.687,-17.946],[-6.478,-37.229],[-26.713,-0.611],[2.103,36.764],[-8.566,14.596],[8.063,31.722],[-1.296,4.414],[3.886,18.155],[4.311,3.243],[139.375,24.393],[11.932,-9.978],[14.125,-21.763]],"v":[[162.034,7.951],[137.345,-57.685],[52.466,-79.269],[46.045,-162.308],[6.44,-219.873],[-32.895,-156.122],[-46.451,-41.267],[-59.247,34.274],[-28.392,97.674],[-31.821,132.844],[-10.103,173.113],[30.547,188.392],[161.919,136.691],[165.797,82.048]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":34.941,"s":[{"i":[[20.397,11.809],[33.813,6.419],[4.664,27.637],[2.815,36.1],[24.555,-13.559],[-1.528,-28.013],[22.454,-32.239],[-3.189,-27.92],[-4.757,-8.361],[-4.32,-10.657],[-16.325,-7.266],[-20.258,0.011],[11.052,53.785],[14.985,16.984]],"o":[[11.826,-19.619],[-37.955,-7.206],[-4.677,-27.717],[-3.293,-42.225],[-21.794,12.034],[2.469,45.264],[-20.037,28.77],[2.522,22.08],[0.48,15.013],[8.311,20.502],[25.176,11.206],[59.384,12.511],[14.623,-10.501],[21.569,-13.373]],"v":[[170.963,23.475],[149.333,-47.206],[43.18,-73.07],[52.116,-158.315],[-2.132,-214.617],[-23.966,-129.622],[-63.951,-47.833],[-84.019,37.848],[-62.691,94.2],[-60.457,136.151],[-22.603,176.013],[35.904,188.488],[158.522,143.286],[168.518,88.301]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36.5,"s":[{"i":[[21.981,8.952],[41.721,16.139],[-1.308,27.997],[3.528,42.788],[24.555,-13.559],[10.124,-26.164],[28.324,-40.758],[-2.339,-27.217],[-4.757,-8.361],[-4.32,-10.657],[-16.325,-7.266],[-31.175,1.797],[3.35,51.285],[9.426,20.912]],"o":[[18.462,-11.149],[-36.032,-13.938],[1.086,-23.261],[-3.48,-42.21],[-21.794,12.034],[-13.237,34.208],[-20.007,28.791],[2.241,26.077],[0.828,13.944],[8.311,20.502],[25.176,11.206],[39.54,12.154],[19.065,-7.644],[21.569,-13.373]],"v":[[175.963,29.904],[154.333,-43.635],[38.18,-67.355],[57.831,-158.315],[-1.418,-214.617],[-13.966,-129.622],[-86.808,-47.162],[-108.305,41.377],[-93.405,97.015],[-85.457,133.965],[-46.889,175.97],[50.547,187.416],[154.951,147.571],[176.018,91.872]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":39.615,"s":[{"i":[[17.491,10.395],[39.247,15.4],[2.469,27.66],[3.528,42.788],[26.192,-13.822],[9.976,-31.038],[28.103,-36.451],[0.547,-26.841],[-4.31,-12.328],[-3.444,-11.309],[-16.36,-6.8],[-32.808,3.418],[10.11,44.939],[9.426,20.912]],"o":[[16.089,-12.156],[-35.959,-14.123],[-1.922,-22.416],[-3.48,-42.21],[-23.921,12.609],[-11.582,35.244],[-20.75,26.784],[-0.524,25.717],[0.941,11.99],[5.722,18.791],[27.881,11.51],[43.264,15.739],[19.064,-7.644],[21.569,-13.373]],"v":[[164.534,29.118],[138.261,-43.47],[50.323,-67.214],[61.759,-158.465],[5.011,-214.65],[-9.68,-131.559],[-82.165,-46.447],[-110.297,37.73],[-98.405,95.943],[-89.482,133.994],[-50.327,176.685],[40.19,182.224],[145.665,147.431],[165.661,92.447]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":42.732,"s":[{"i":[[13.001,11.837],[36.774,14.662],[6.246,27.323],[3.528,42.788],[27.829,-14.085],[9.827,-35.912],[27.883,-32.145],[3.432,-26.465],[-3.863,-16.296],[-5.664,-10.776],[-16.395,-6.333],[-34.441,5.039],[16.87,38.593],[9.426,20.912]],"o":[[13.715,-13.163],[-35.886,-14.308],[-4.931,-21.57],[-3.48,-42.21],[-26.048,13.183],[-9.928,36.28],[-21.493,24.778],[-3.289,25.357],[1.054,10.035],[10.897,20.73],[30.586,11.814],[46.988,19.325],[19.064,-7.644],[21.569,-13.373]],"v":[[145.962,30.233],[122.19,-43.305],[62.466,-67.073],[65.688,-158.616],[11.44,-214.684],[-5.395,-133.495],[-77.522,-45.733],[-112.288,34.083],[-109.12,99.158],[-98.508,131.165],[-53.765,177.399],[29.833,177.032],[116.379,147.763],[135.304,93.493]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":45.848,"s":[{"i":[[17.361,11.837],[34.83,16.998],[2.286,22.001],[0.589,42.929],[27.955,-10.388],[-3.813,-25.555],[28.524,-32.743],[1.871,-26.368],[-2.475,-16.822],[-3.418,-10.254],[-14.967,-9.215],[-24.367,11.825],[9.801,20.736],[8.377,10.363]],"o":[[4.861,-12.091],[-13.866,-6.767],[-2.287,-22.008],[-0.579,-42.171],[-22.543,8.377],[8.718,58.422],[-20.908,24.001],[-1.793,25.264],[2.179,9.984],[6.576,19.728],[22.088,13.6],[51.347,0.753],[15.873,1.45],[15.163,-10.351]],"v":[[114.891,28.805],[93.261,-45.091],[60.323,-65.645],[62.116,-159.33],[15.725,-215.398],[-8.252,-134.209],[-54.308,-45.639],[-84.802,32.867],[-80.548,98.592],[-72.328,129.482],[-41.265,176.685],[36.619,176.675],[92.093,131.692],[109.232,89.207]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48.963,"s":[{"i":[[1.341,7.971],[8.118,23.621],[4.837,13.641],[2.058,42.859],[26.694,-4.578],[-9.037,-28.918],[37.184,-33.628],[-6.012,-25.277],[-4.44,-9.944],[-6.843,-9.084],[-13.535,-5.385],[-21.846,20.072],[-1.091,14.189],[2.435,7.468]],"o":[[3.483,-12.744],[-2.127,-6.188],[-11.64,-25.57],[-2.029,-42.19],[-22.83,3.629],[21.673,68.404],[-23.447,21.782],[-12.798,24.723],[-0.868,13.627],[4.445,24.131],[27.249,8.881],[13.542,-13.719],[5.338,-9.74],[3.863,-13.961]],"v":[[90.962,30.528],[88.715,-38.17],[77.466,-65.856],[66.759,-158.823],[25.725,-216.923],[-3.252,-135.262],[-82.096,-45.223],[-102.042,27.348],[-97.543,94.872],[-79.999,138.654],[-32.648,178.47],[59.833,166.504],[78.751,126.096],[80.583,80.317]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52.078,"s":[{"i":[[0.306,8.241],[7.879,28.766],[9.982,13.852],[3.528,42.789],[25.433,1.232],[-14.261,-32.282],[45.844,-34.514],[-15.591,-28.046],[-12.657,-11.224],[-12.682,-8.404],[-12.294,-1.579],[-19.325,28.32],[-3.527,16.761],[-0.537,4.893]],"o":[[0.307,-12.008],[-6.721,-24.538],[-20.994,-29.132],[-3.48,-42.21],[-23.117,-1.12],[34.628,78.386],[-21.944,16.521],[-18.448,33.383],[-2.3,18.776],[6.246,34.453],[32.409,4.162],[6.989,-10.242],[0.944,-4.485],[0.811,-7.385]],"v":[[102.748,77.967],[117.741,-21.249],[94.609,-66.067],[71.402,-158.315],[35.725,-218.447],[1.748,-136.315],[-109.885,-44.807],[-120.175,26.902],[-110.609,96.509],[-92.727,137.975],[-24.032,180.256],[83.047,156.333],[99.695,115.501],[101.933,101.427]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":55.193,"s":[{"i":[[-0.643,6.579],[1.983,29.934],[22.395,28.359],[0.928,46.587],[25.423,1.418],[-13.669,-29.325],[43.779,-38.55],[-15.3,-27.005],[-19.06,-26.058],[-15.127,-9.415],[-8.819,-1.974],[-28.995,28.961],[-4.424,15.339],[-0.835,4.243]],"o":[[1.101,-12.853],[-1.586,-23.937],[-24.667,-31.236],[-1.13,-39.498],[-30.897,-1.723],[39.866,85.528],[-10.736,9.454],[-16.728,24.781],[-2.988,12.87],[-1.199,38.443],[26.642,6.501],[11.32,-11.775],[1.184,-4.105],[1.261,-6.405]],"v":[[136.32,84.129],[143.181,17.126],[111.395,-62.762],[66.045,-159.386],[36.44,-218.349],[-1.823,-128.101],[-103.237,-40.094],[-110.229,22.289],[-105.398,94.915],[-87.902,138.628],[-25.103,182.756],[107.69,157.496],[130.503,116.182],[133.516,103.647]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58.309,"s":[{"i":[[-1.247,6.471],[2.86,29.92],[22.588,29.56],[-1.672,50.385],[25.421,1.457],[-21.964,-46.75],[60.036,-33.174],[-12.587,-29.375],[-12.203,-13.934],[-14.265,-7.197],[-14.572,-2.99],[-38.317,29.841],[-6.929,16.182],[-1.43,4.415]],"o":[[1.895,-13.697],[-2.287,-23.926],[-26.537,-34.728],[1.221,-36.786],[-26.426,-1.515],[41.837,89.05],[-13.346,7.375],[-19.016,28.84],[-6.132,22.495],[-7.122,46.017],[22.017,4.517],[13.513,-10.524],[1.854,-4.331],[2.158,-6.664]],"v":[[152.034,89.941],[158.086,22.456],[124.609,-58.826],[55.688,-160.051],[32.154,-217.844],[-7.895,-119.837],[-116.808,-45.469],[-136.684,17.517],[-130.64,85.29],[-110.364,134.268],[-47.603,185.256],[111.619,164.737],[142.023,122.913],[146.944,109.761]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":61.424,"s":[{"i":[[1.243,6.472],[12.872,20.619],[9.479,10.043],[-1.672,50.385],[25.458,0.512],[-27.761,-33.809],[99.186,-34.246],[-21.652,-34.375],[-19.125,-8.576],[-27.972,-4.697],[-14.514,-2.029],[-44.278,28.03],[-5.622,13.837],[-0.408,15.237]],"o":[[-3.689,-19.208],[-10.856,-17.389],[-25.446,-26.96],[1.221,-36.786],[-39.776,-0.8],[48.487,59.05],[-15.907,5.492],[-32.724,27.411],[-6.132,22.495],[-6.544,38.16],[23.195,3.243],[17.188,-10.881],[5.042,-12.408],[0.434,-16.218]],"v":[[167.853,22.707],[147.792,-32.191],[118.537,-71.326],[50.688,-160.765],[27.154,-217.844],[-5.752,-101.265],[-106.094,-51.184],[-123.47,14.659],[-118.497,87.433],[-82.507,140.696],[-44.389,186.328],[120.547,160.094],[159.428,114.662],[171.357,66.476]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":64.537,"s":[{"i":[[1.243,6.472],[12.872,20.619],[10.456,11.254],[5.604,50.101],[25.459,0.45],[-21.683,-32.379],[112.944,-31.031],[-21.652,-34.375],[-19.125,-8.576],[-27.972,-4.697],[-14.514,-2.029],[-44.278,28.03],[-7.578,19.551],[-0.408,15.237]],"o":[[-3.689,-19.208],[-10.856,-17.389],[-22.919,-24.669],[-3.837,-34.307],[-45.303,-0.8],[37.846,56.514],[-16.227,4.458],[-32.723,27.411],[-6.132,22.495],[-6.544,38.16],[23.195,3.243],[17.188,-10.881],[4.84,-12.488],[0.434,-16.218]],"v":[[163.567,22.707],[143.506,-32.191],[114.252,-71.326],[50.688,-160.765],[20.011,-217.129],[-3.252,-101.265],[-89.665,-51.898],[-107.042,13.945],[-102.069,86.718],[-66.079,139.982],[-27.961,185.613],[117.69,161.523],[158,117.519],[167.071,66.476]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":67.654,"s":[{"i":[[0.993,6.515],[11.826,21.17],[11.703,9.951],[11.479,49.089],[20.678,-1.157],[-22.925,-42.571],[51.425,-18.123],[-27.27,-27.895],[-19.125,-8.576],[-23.233,-8.575],[-15.279,-0.635],[-37.895,24.409],[-4.096,20.031],[-0.408,15.237]],"o":[[-3.235,-21.229],[-9.997,-17.896],[-21.063,-17.909],[-7.856,-33.593],[-34.995,1.959],[21.798,40.478],[-34.971,12.325],[-34.77,22.105],[-10.814,20.76],[-8.233,36.068],[23.401,0.972],[23.356,-15.044],[2.684,-13.122],[0.434,-16.218]],"v":[[142.852,22.585],[123.506,-36.242],[92.466,-72.877],[51.759,-157.193],[12.154,-219.272],[-9.323,-116.622],[-46.451,-50.52],[-68.827,25.68],[-67.426,94.525],[-49.65,149.217],[5.611,191.991],[105.547,168.9],[141.214,115.254],[145.642,66.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":70.768,"s":[{"i":[[12.53,11.688],[19.376,17.658],[11.29,10.417],[11.479,49.089],[26.434,-1.476],[-18.703,-46.535],[5.404,-12.052],[-26.148,-23.61],[-18.621,-2.454],[-23.539,-5.003],[-20.09,-4.69],[-26.593,12.099],[3.097,17.59],[4.383,12.205]],"o":[[2.173,-14.74],[-11.129,-10.142],[-7.798,-7.195],[-7.856,-33.593],[-40.343,2.252],[16.491,41.031],[-22.453,12.234],[-30.434,15.676],[-20.764,7.546],[-16.397,27.497],[18.7,4.365],[25.288,-11.505],[10.24,-8.838],[22.597,-19.224]],"v":[[126.067,6.097],[108.863,-54.159],[77.108,-86.092],[44.616,-157.032],[5.011,-219.111],[-21.466,-116.104],[-23.951,-50.163],[-32.399,22.823],[-31.712,86.667],[-25.007,136.717],[4.897,187.705],[98.404,184.614],[125.5,133.409],[128.142,72.723]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":72.326,"s":[{"i":[[15.745,13.618],[24.906,13.707],[23.693,20.822],[9.725,47.448],[26.648,-0.431],[-10.411,-37.531],[21.538,-37.214],[-1.802,-22.451],[-10.397,-15.457],[-2.035,-16.54],[-18.203,-12.267],[-39.567,10.389],[6.086,17.199],[8.183,11.828]],"o":[[5.388,-18.882],[-12.257,-7.216],[-15.387,-13.523],[-7.167,-35.411],[-33.528,0.821],[10.623,38.295],[-8.909,15.393],[1.802,22.451],[2.817,15.614],[2.786,22.647],[20.737,13.975],[25.2,-8.504],[12.628,-14.051],[18.361,-20.493]],"v":[[144.05,7.024],[125.961,-53.779],[70.858,-76.252],[45.33,-159.67],[5.725,-219.492],[-28.966,-136.113],[-34.129,-48.572],[-48.68,21.048],[-23.266,85.028],[-22.164,133.709],[10.968,182.195],[115.904,186.682],[141.923,139.336],[146.255,78.457]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":73.105,"s":[{"i":[[17.352,14.583],[29.456,13.874],[19.422,19.668],[8.848,46.628],[26.755,0.092],[-6.159,-35.431],[29.491,-50.51],[-3.995,-23.398],[-4.697,-9.437],[-2.638,-15.842],[-13.689,-9.584],[-16.44,-2.966],[7.58,17.004],[10.082,11.64]],"o":[[6.995,-20.953],[-17.999,-8.509],[-15.037,-15.734],[-6.822,-36.32],[-30.121,0.105],[6.363,37.53],[-8.737,14.995],[4.933,27.086],[0.761,10.014],[3.336,20.401],[12.524,8.609],[121.418,13.105],[12.28,-12.014],[16.243,-21.128]],"v":[[153.042,7.488],[131.653,-55.732],[61.662,-77.76],[45.688,-160.989],[6.083,-219.682],[-30.93,-146.118],[-40.29,-44.92],[-53.963,27.661],[-25.829,91.351],[-26.992,133.276],[0.432,177.654],[38.94,190.037],[151.921,138.013],[156.026,80.252]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":73.885,"s":[{"i":[[18.96,15.548],[34.006,14.041],[15.151,18.513],[7.97,45.808],[26.861,0.614],[-1.906,-33.331],[37.445,-63.806],[-6.188,-24.346],[1.003,-3.417],[-3.241,-15.144],[-9.175,-6.902],[-21.419,-3.749],[9.075,16.808],[11.982,11.451]],"o":[[8.603,-23.024],[-23.741,-9.802],[-14.687,-17.946],[-6.478,-37.229],[-26.713,-0.611],[2.103,36.764],[-8.566,14.596],[8.063,31.722],[-1.296,4.414],[3.886,18.155],[4.311,3.243],[139.375,24.393],[11.932,-9.978],[14.125,-21.763]],"v":[[162.034,7.951],[137.345,-57.685],[52.466,-79.269],[46.045,-162.308],[6.44,-219.873],[-32.895,-156.122],[-46.451,-41.267],[-59.247,34.274],[-28.392,97.674],[-31.821,132.844],[-10.103,173.113],[30.547,188.392],[161.919,136.691],[165.797,82.048]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":75.441,"s":[{"i":[[20.397,11.809],[33.813,6.419],[4.664,27.637],[2.815,36.1],[24.555,-13.559],[-1.528,-28.013],[22.454,-32.239],[-3.189,-27.92],[-4.757,-8.361],[-4.32,-10.657],[-16.325,-7.266],[-20.258,0.011],[11.052,53.785],[14.985,16.984]],"o":[[11.826,-19.619],[-37.955,-7.206],[-4.677,-27.717],[-3.293,-42.225],[-21.794,12.034],[2.469,45.264],[-20.037,28.77],[2.522,22.08],[0.48,15.013],[8.311,20.502],[25.176,11.206],[59.384,12.511],[14.623,-10.501],[21.569,-13.373]],"v":[[170.963,23.475],[149.333,-47.206],[43.18,-73.07],[52.116,-158.315],[-2.132,-214.617],[-23.966,-129.622],[-63.951,-47.833],[-84.019,37.848],[-62.691,94.2],[-60.457,136.151],[-22.603,176.013],[35.904,188.488],[158.522,143.286],[168.518,88.301]],"c":true}]},{"t":77,"s":[{"i":[[21.981,8.952],[41.721,16.139],[-1.308,27.997],[3.528,42.788],[24.555,-13.559],[10.124,-26.164],[28.324,-40.758],[-2.339,-27.217],[-4.757,-8.361],[-4.32,-10.657],[-16.325,-7.266],[-31.175,1.797],[3.35,51.285],[9.426,20.912]],"o":[[18.462,-11.149],[-36.032,-13.938],[1.086,-23.261],[-3.48,-42.21],[-21.794,12.034],[-13.237,34.208],[-20.007,28.791],[2.241,26.077],[0.828,13.944],[8.311,20.502],[25.176,11.206],[39.54,12.154],[19.065,-7.644],[21.569,-13.373]],"v":[[175.963,29.904],[154.333,-43.635],[38.18,-67.355],[57.831,-158.315],[-1.418,-214.617],[-13.966,-129.622],[-86.808,-47.162],[-108.305,41.377],[-93.405,97.015],[-85.457,133.965],[-46.889,175.97],[50.547,187.416],[154.951,147.571],[176.018,91.872]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.803921628466,0.654901960784,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Stroke","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[224.844,263.134],"ix":2},"a":{"a":0,"k":[-72.859,72.455],"ix":1},"s":{"a":0,"k":[35,35],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Fill","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.667,"y":0.724},"o":{"x":0.333,"y":0},"t":-4,"s":[260,242],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.315,"y":1},"t":8.506,"s":[269.622,242],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":0.66},"o":{"x":0.333,"y":0},"t":17.857,"s":[271.5,242],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0.346},"t":30.467,"s":[263.622,242],"to":[0,0],"ti":[0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":36.352,"s":[260,242],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":0.724},"o":{"x":0.333,"y":0},"t":36.5,"s":[260,242],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.315,"y":1},"t":49.006,"s":[269.622,242],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":0.66},"o":{"x":0.333,"y":0},"t":58.357,"s":[271.5,242],"to":[0,0],"ti":[0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0.346},"t":70.967,"s":[263.622,242],"to":[0,0],"ti":[0,0]},{"t":76.8515625,"s":[260,242]}],"ix":2},"a":{"a":0,"k":[260.008,233.611],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":2,"op":77,"st":-33,"bm":0}],"markers":[{"tm":2,"cm":"1","dr":0}]} \ No newline at end of file diff --git a/submodules/TelegramUI/Sources/ChatController.swift b/submodules/TelegramUI/Sources/ChatController.swift index 623811c589..149302d1c4 100644 --- a/submodules/TelegramUI/Sources/ChatController.swift +++ b/submodules/TelegramUI/Sources/ChatController.swift @@ -1294,6 +1294,7 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G applicationAnimation: aroundAnimation, largeApplicationAnimation: reaction.effectAnimation ), + avatarPeers: [], isLarge: false, targetView: targetView, addStandaloneReactionAnimation: { standaloneReactionAnimation in @@ -1331,7 +1332,7 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G let standaloneDismissAnimation = StandaloneDismissReactionAnimation() standaloneDismissAnimation.frame = strongSelf.chatDisplayNode.bounds strongSelf.chatDisplayNode.addSubnode(standaloneDismissAnimation) - standaloneDismissAnimation.animateReactionDismiss(sourceView: targetView, hideNode: hideRemovedReaction, completion: { [weak standaloneDismissAnimation] in + standaloneDismissAnimation.animateReactionDismiss(sourceView: targetView, hideNode: hideRemovedReaction, isIncoming: message.effectivelyIncoming(strongSelf.context.account.peerId), completion: { [weak standaloneDismissAnimation] in standaloneDismissAnimation?.removeFromSupernode() }) } @@ -4682,7 +4683,7 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G ) |> map { scrolledToMessageId, topVisibleMessageRange -> ReferenceMessage? in let topVisibleMessage: MessageId? - topVisibleMessage = topVisibleMessageRange?.upperBound + topVisibleMessage = topVisibleMessageRange?.upperBound.id if let scrolledToMessageId = scrolledToMessageId { if let topVisibleMessage = topVisibleMessage { @@ -5909,20 +5910,25 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G guard item.message.id == messageId else { return } - var maybeUpdatedReaction: String? + var maybeUpdatedReaction: (String, Bool, EnginePeer?)? if let attribute = item.message.reactionsAttribute { for recentPeer in attribute.recentPeers { if recentPeer.isUnseen { - maybeUpdatedReaction = recentPeer.value + maybeUpdatedReaction = (recentPeer.value, recentPeer.isLarge, item.message.peers[recentPeer.peerId].flatMap(EnginePeer.init)) break } } } - guard let updatedReaction = maybeUpdatedReaction else { + guard let (updatedReaction, updatedReactionIsLarge, updatedReactionPeer) = maybeUpdatedReaction else { return } + var avatarPeers: [EnginePeer] = [] + if let updatedReactionPeer = updatedReactionPeer { + avatarPeers.append(updatedReactionPeer) + } + guard let availableReactions = item.associatedData.availableReactions, let targetView = itemNode.targetReactionView(value: updatedReaction) else { return } @@ -5953,7 +5959,8 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G applicationAnimation: aroundAnimation, largeApplicationAnimation: reaction.effectAnimation ), - isLarge: false, + avatarPeers: avatarPeers, + isLarge: updatedReactionIsLarge, targetView: targetView, addStandaloneReactionAnimation: { standaloneReactionAnimation in guard let strongSelf = self else { diff --git a/submodules/TelegramUI/Sources/ChatHistoryListNode.swift b/submodules/TelegramUI/Sources/ChatHistoryListNode.swift index d998da2471..e1807c70ac 100644 --- a/submodules/TelegramUI/Sources/ChatHistoryListNode.swift +++ b/submodules/TelegramUI/Sources/ChatHistoryListNode.swift @@ -27,8 +27,8 @@ extension ChatReplyThreadMessage { } struct ChatTopVisibleMessageRange: Equatable { - var lowerBound: MessageId - var upperBound: MessageId + var lowerBound: MessageIndex + var upperBound: MessageIndex var isLast: Bool } @@ -549,6 +549,8 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode { public var isScrollAtBottomPositionUpdated: (() -> Void)? private var interactiveReadActionDisposable: Disposable? + private var interactiveReadReactionsDisposable: Disposable? + private var displayUnseenReactionAnimationsTimestamps: [MessageId: Double] = [:] public var contentPositionChanged: (ListViewVisibleContentOffset) -> Void = { _ in } @@ -578,23 +580,8 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode { private let preloadAdPeerDisposable = MetaDisposable() private var refreshDisplayedItemRangeTimer: SwiftSignalKit.Timer? - - /*var historyScrollingArea: SparseDiscreteScrollingArea? { - didSet { - oldValue?.navigateToPosition = nil - if let historyScrollingArea = self.historyScrollingArea { - historyScrollingArea.navigateToPosition = { [weak self] position in - guard let strongSelf = self else { - return - } - strongSelf.navigateToAbsolutePosition(position: position) - } - } - } - }*/ - //private var scrollingState: ListView.ScrollingIndicatorState? - //private let sparseScrollingContext: SparseMessageScrollingContext? - //private let scrollNavigationDisposable = MetaDisposable() + + private var visibleMessageRange = Atomic(value: nil) private let clientId: Atomic @@ -1554,6 +1541,7 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode { self.historyDisposable.dispose() self.readHistoryDisposable.dispose() self.interactiveReadActionDisposable?.dispose() + self.interactiveReadReactionsDisposable?.dispose() self.canReadHistoryDisposable?.dispose() self.loadedMessagesFromCachedDataDisposable?.dispose() self.preloadAdPeerDisposable.dispose() @@ -1904,9 +1892,9 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode { isTopReplyThreadMessageShownValue = true } if let topVisibleMessageRangeValue = topVisibleMessageRange { - topVisibleMessageRange = ChatTopVisibleMessageRange(lowerBound: topVisibleMessageRangeValue.lowerBound, upperBound: message.id, isLast: i == historyView.filteredEntries.count - 1) + topVisibleMessageRange = ChatTopVisibleMessageRange(lowerBound: topVisibleMessageRangeValue.lowerBound, upperBound: message.index, isLast: i == historyView.filteredEntries.count - 1) } else { - topVisibleMessageRange = ChatTopVisibleMessageRange(lowerBound: message.id, upperBound: message.id, isLast: i == historyView.filteredEntries.count - 1) + topVisibleMessageRange = ChatTopVisibleMessageRange(lowerBound: message.index, upperBound: message.index, isLast: i == historyView.filteredEntries.count - 1) } case let .MessageGroupEntry(_, messages, _): for (message, _, _, _, _) in messages { @@ -1945,9 +1933,9 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode { isTopReplyThreadMessageShownValue = true } if let topVisibleMessageRangeValue = topVisibleMessageRange { - topVisibleMessageRange = ChatTopVisibleMessageRange(lowerBound: topVisibleMessageRangeValue.lowerBound, upperBound: message.id, isLast: i == historyView.filteredEntries.count - 1) + topVisibleMessageRange = ChatTopVisibleMessageRange(lowerBound: topVisibleMessageRangeValue.lowerBound, upperBound: message.index, isLast: i == historyView.filteredEntries.count - 1) } else { - topVisibleMessageRange = ChatTopVisibleMessageRange(lowerBound: message.id, upperBound: message.id, isLast: i == historyView.filteredEntries.count - 1) + topVisibleMessageRange = ChatTopVisibleMessageRange(lowerBound: message.index, upperBound: message.index, isLast: i == historyView.filteredEntries.count - 1) } } default: @@ -2076,6 +2064,10 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode { } if !messageIdsWithUnseenReactions.isEmpty { self.unseenReactionsProcessingManager.add(messageIdsWithUnseenReactions) + + if self.canReadHistoryValue && !self.context.sharedContext.immediateExperimentalUISettings.skipReadHistory { + let _ = self.displayUnseenReactionAnimations(messageIds: messageIdsWithUnseenReactions) + } } if !messageIdsWithPossibleReactions.isEmpty { self.messageWithReactionsProcessingManager.add(messageIdsWithPossibleReactions) @@ -2112,6 +2104,9 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode { } self.isTopReplyThreadMessageShown.set(isTopReplyThreadMessageShownValue) self.topVisibleMessageRange.set(topVisibleMessageRange) + let _ = self.visibleMessageRange.swap(topVisibleMessageRange.flatMap { range in + return VisibleMessageRange(lowerBound: range.lowerBound, upperBound: range.upperBound) + }) if let loaded = displayedRange.loadedRange, let firstEntry = historyView.filteredEntries.first, let lastEntry = historyView.filteredEntries.last { if loaded.firstIndex < 5 && historyView.originalView.laterId != nil { @@ -2657,7 +2652,21 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode { } } - private func displayUnseenReactionAnimations(messageIds: [MessageId]) -> [MessageId] { + private func displayUnseenReactionAnimations(messageIds: [MessageId], forceMapping: [MessageId: [ReactionsMessageAttribute.RecentPeer]] = [:]) -> [MessageId] { + let timestamp = CACurrentMediaTime() + var messageIds = messageIds + for i in (0 ..< messageIds.count).reversed() { + if let previousTimestamp = self.displayUnseenReactionAnimationsTimestamps[messageIds[i]], previousTimestamp + 1.0 > timestamp { + messageIds.remove(at: i) + } else { + self.displayUnseenReactionAnimationsTimestamps[messageIds[i]] = timestamp + } + } + + if messageIds.isEmpty { + return [] + } + guard let chatDisplayNode = self.controllerInteraction.chatControllerNode() as? ChatControllerNode else { return [] } @@ -2667,15 +2676,16 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode { return } - var selectedReaction: (String, Bool)? - for recentPeer in reactionsAttribute.recentPeers { + var selectedReaction: (String, EnginePeer?, Bool)? + let recentPeers = forceMapping[item.content.firstMessage.id] ?? reactionsAttribute.recentPeers + for recentPeer in recentPeers { if recentPeer.isUnseen { - selectedReaction = (recentPeer.value, recentPeer.isLarge) + selectedReaction = (recentPeer.value, item.content.firstMessage.peers[recentPeer.peerId].flatMap(EnginePeer.init), recentPeer.isLarge) break } } - guard let (updatedReaction, updatedReactionIsLarge) = selectedReaction else { + guard let (updatedReaction, updateReactionPeer, updatedReactionIsLarge) = selectedReaction else { return } @@ -2709,6 +2719,7 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode { applicationAnimation: aroundAnimation, largeApplicationAnimation: reaction.effectAnimation ), + avatarPeers: updateReactionPeer.flatMap({ [$0] }) ?? [], isLarge: updatedReactionIsLarge, targetView: targetView, addStandaloneReactionAnimation: { [weak self] standaloneReactionAnimation in @@ -2755,6 +2766,7 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode { private func updateReadHistoryActions() { let canRead = self.canReadHistoryValue && self.isScrollAtBottomPosition + if canRead != (self.interactiveReadActionDisposable != nil) { if let interactiveReadActionDisposable = self.interactiveReadActionDisposable { if !canRead { @@ -2769,6 +2781,31 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode { } } } + + if canRead != (self.interactiveReadReactionsDisposable != nil) { + if let interactiveReadReactionsDisposable = self.interactiveReadReactionsDisposable { + if !canRead { + interactiveReadReactionsDisposable.dispose() + self.interactiveReadReactionsDisposable = nil + } + } else if self.interactiveReadReactionsDisposable == nil { + if case let .peer(peerId) = self.chatLocation { + if !self.context.sharedContext.immediateExperimentalUISettings.skipReadHistory { + let visibleMessageRange = self.visibleMessageRange + self.interactiveReadReactionsDisposable = context.engine.messages.installInteractiveReadReactionsAction(peerId: peerId, getVisibleRange: { + return visibleMessageRange.with { $0 } + }, didReadReactionsInMessages: { [weak self] idsAndReactions in + Queue.mainQueue().after(0.2, { + guard let strongSelf = self else { + return + } + let _ = strongSelf.displayUnseenReactionAnimations(messageIds: Array(idsAndReactions.keys), forceMapping: idsAndReactions) + }) + }) + } + } + } + } } func lastVisbleMesssage() -> Message? {