From 0c176eccd0f9973e46fb3239da2012fcb69dd387 Mon Sep 17 00:00:00 2001
From: Brent Simmons
Date: Sun, 3 Dec 2017 11:57:53 -0800
Subject: [PATCH 1/8] =?UTF-8?q?Fetch=20all=20unread=20counts=20at=20startu?=
=?UTF-8?q?p.=20This=20is=20done=20with=20a=20single=20SQL=20call,=20and?=
=?UTF-8?q?=20it=E2=80=99s=20done=20in=20the=20background,=20so=20performa?=
=?UTF-8?q?nce=20hit=20should=20not=20be=20noticeable.=20Fix=20#138.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Frameworks/Account/Account.swift | 23 ++++++++++++++
Frameworks/Database/ArticlesTable.swift | 31 +++++++++++++++++++
Frameworks/Database/Database.swift | 7 ++++-
.../Database/UnreadCountDictionary.swift | 4 +++
4 files changed, 64 insertions(+), 1 deletion(-)
diff --git a/Frameworks/Account/Account.swift b/Frameworks/Account/Account.swift
index 0a8cbc55d..7a527d6a1 100644
--- a/Frameworks/Account/Account.swift
+++ b/Frameworks/Account/Account.swift
@@ -140,6 +140,7 @@ public final class Account: DisplayNameProvider, UnreadCountProvider, Container,
DispatchQueue.main.async {
self.updateUnreadCount()
+ self.fetchAllUnreadCounts()
}
}
@@ -622,6 +623,28 @@ private extension Account {
NotificationCenter.default.post(name: .StatusesDidChange, object: self, userInfo: [UserInfoKey.statuses: statuses, UserInfoKey.articles: articles, UserInfoKey.feeds: feeds])
}
+
+ func fetchAllUnreadCounts() {
+
+ database.fetchAllNonZeroUnreadCounts { (unreadCountDictionary) in
+
+ if unreadCountDictionary.isEmpty {
+ return
+ }
+
+ self.flattenedFeeds().forEach{ (feed) in
+
+ // When the unread count is zero, it won’t appear in unreadCountDictionary.
+
+ if let unreadCount = unreadCountDictionary[feed] {
+ feed.unreadCount = unreadCount
+ }
+ else {
+ feed.unreadCount = 0
+ }
+ }
+ }
+ }
}
// MARK: - Container Overrides
diff --git a/Frameworks/Database/ArticlesTable.swift b/Frameworks/Database/ArticlesTable.swift
index 89708a4a7..584b3a695 100644
--- a/Frameworks/Database/ArticlesTable.swift
+++ b/Frameworks/Database/ArticlesTable.swift
@@ -174,6 +174,37 @@ final class ArticlesTable: DatabaseTable {
}
}
+ func fetchAllUnreadCounts(_ completion: @escaping UnreadCountCompletionBlock) {
+
+ // Returns only where unreadCount > 0.
+
+ let cutoffDate = articleCutoffDate
+
+ queue.fetch { (database) in
+
+ let sql = "select distinct feedID, count(*) from articles natural join statuses where read=0 and userDeleted=0 and (starred=1 or dateArrived>?) group by feedID;"
+
+ guard let resultSet = database.executeQuery(sql, withArgumentsIn: [cutoffDate]) else {
+ DispatchQueue.main.async() {
+ completion(UnreadCountDictionary())
+ }
+ return
+ }
+
+ var d = UnreadCountDictionary()
+ while resultSet.next() {
+ let unreadCount = resultSet.long(forColumnIndex: 1)
+ if let feedID = resultSet.string(forColumnIndex: 0) {
+ d[feedID] = unreadCount
+ }
+ }
+
+ DispatchQueue.main.async() {
+ completion(d)
+ }
+ }
+ }
+
func fetchStarredAndUnreadCount(_ feeds: Set, _ callback: @escaping (Int) -> Void) {
if feeds.isEmpty {
diff --git a/Frameworks/Database/Database.swift b/Frameworks/Database/Database.swift
index c312cce2e..653d95003 100644
--- a/Frameworks/Database/Database.swift
+++ b/Frameworks/Database/Database.swift
@@ -57,7 +57,7 @@ public final class Database {
// MARK: - Unread Counts
public func fetchUnreadCounts(for feeds: Set, _ completion: @escaping UnreadCountCompletionBlock) {
-
+
articlesTable.fetchUnreadCounts(feeds, completion)
}
@@ -71,6 +71,11 @@ public final class Database {
articlesTable.fetchStarredAndUnreadCount(feeds, callback)
}
+ public func fetchAllNonZeroUnreadCounts(_ completion: @escaping UnreadCountCompletionBlock) {
+
+ articlesTable.fetchAllUnreadCounts(completion)
+ }
+
// MARK: - Saving and Updating Articles
public func update(feed: Feed, parsedFeed: ParsedFeed, completion: @escaping UpdateArticlesWithFeedCompletionBlock) {
diff --git a/Frameworks/Database/UnreadCountDictionary.swift b/Frameworks/Database/UnreadCountDictionary.swift
index 16b731f9b..4182d16fd 100644
--- a/Frameworks/Database/UnreadCountDictionary.swift
+++ b/Frameworks/Database/UnreadCountDictionary.swift
@@ -12,6 +12,10 @@ import Data
public struct UnreadCountDictionary {
private var dictionary = [String: Int]()
+
+ public var isEmpty: Bool {
+ return dictionary.count < 1
+ }
subscript(_ feedID: String) -> Int? {
get {
From 4e05f35f6d9330fb541366118f39578f5615ff60 Mon Sep 17 00:00:00 2001
From: Brent Simmons
Date: Sun, 3 Dec 2017 12:13:44 -0800
Subject: [PATCH 2/8] Set userAgent on detail view webview. Fix #236.
---
Evergreen/MainWindow/Detail/DetailViewController.swift | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Evergreen/MainWindow/Detail/DetailViewController.swift b/Evergreen/MainWindow/Detail/DetailViewController.swift
index 8cd070f39..157320e54 100644
--- a/Evergreen/MainWindow/Detail/DetailViewController.swift
+++ b/Evergreen/MainWindow/Detail/DetailViewController.swift
@@ -10,6 +10,7 @@ import Foundation
import WebKit
import RSCore
import Data
+import RSWeb
class DetailViewController: NSViewController, WKNavigationDelegate, WKUIDelegate {
@@ -49,6 +50,10 @@ class DetailViewController: NSViewController, WKNavigationDelegate, WKUIDelegate
webview.uiDelegate = self
webview.navigationDelegate = self
webview.translatesAutoresizingMaskIntoConstraints = false
+ if let userAgent = UserAgent.fromInfoPlist() {
+ webview.customUserAgent = userAgent
+ }
+
let boxView = self.view as! DetailBox
boxView.contentView = webview
boxView.rs_addFullSizeConstraints(forSubview: webview)
From 05b158e92f56d5965bfe833d73b6c23e99cd1f94 Mon Sep 17 00:00:00 2001
From: Brent Simmons
Date: Sun, 3 Dec 2017 12:38:44 -0800
Subject: [PATCH 3/8] Show a visual effect view, with behind-window-blending,
when there is no selected Article. Fix #214.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
After I check this in I’m going to reverse it, because it’s just too obtrusive. But this way there’s a record of having tried it, plus code.
---
.../Detail/DetailViewController.swift | 35 ++++++++++++++++---
1 file changed, 30 insertions(+), 5 deletions(-)
diff --git a/Evergreen/MainWindow/Detail/DetailViewController.swift b/Evergreen/MainWindow/Detail/DetailViewController.swift
index 157320e54..bf5a3fdf3 100644
--- a/Evergreen/MainWindow/Detail/DetailViewController.swift
+++ b/Evergreen/MainWindow/Detail/DetailViewController.swift
@@ -15,10 +15,12 @@ import RSWeb
class DetailViewController: NSViewController, WKNavigationDelegate, WKUIDelegate {
var webview: WKWebView!
-
+ var visualEffectView: NSVisualEffectView!
+
var article: Article? {
didSet {
reloadHTML()
+ showOrHideWebView()
}
}
@@ -54,11 +56,14 @@ class DetailViewController: NSViewController, WKNavigationDelegate, WKUIDelegate
webview.customUserAgent = userAgent
}
+ visualEffectView = NSVisualEffectView(frame: self.view.bounds)
+ visualEffectView.material = .appearanceBased
+ visualEffectView.blendingMode = .behindWindow
+
let boxView = self.view as! DetailBox
- boxView.contentView = webview
- boxView.rs_addFullSizeConstraints(forSubview: webview)
-
boxView.viewController = self
+
+ showOrHideWebView()
}
// MARK: Notifications
@@ -93,7 +98,27 @@ class DetailViewController: NSViewController, WKNavigationDelegate, WKUIDelegate
webview.loadHTMLString("", baseURL: nil)
}
}
-
+
+ private func showOrHideWebView() {
+
+ if let _ = article {
+ switchToView(webview)
+ }
+ else {
+ switchToView(visualEffectView)
+ }
+ }
+
+ private func switchToView(_ view: NSView) {
+
+ let boxView = self.view as! DetailBox
+ if boxView.contentView == view {
+ return
+ }
+ boxView.contentView = view
+ boxView.rs_addFullSizeConstraints(forSubview: view)
+ }
+
// MARK: WKNavigationDelegate
public func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
From bef77bc4a12c92f54e842271ccd5ed16be16b473 Mon Sep 17 00:00:00 2001
From: Brent Simmons
Date: Sun, 3 Dec 2017 12:45:34 -0800
Subject: [PATCH 4/8] =?UTF-8?q?Create=20and=20use=20a=20plain-background?=
=?UTF-8?q?=20NoSelectionView=20to=20display=20in=20the=20detail=20pane=20?=
=?UTF-8?q?when=20there=E2=80=99s=20no=20current=20article.=20Fix=20#237.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Detail/DetailViewController.swift | 34 +++++++++++++++----
Evergreen/Resources/DB5.plist | 8 +++++
2 files changed, 35 insertions(+), 7 deletions(-)
diff --git a/Evergreen/MainWindow/Detail/DetailViewController.swift b/Evergreen/MainWindow/Detail/DetailViewController.swift
index bf5a3fdf3..1d17a76f9 100644
--- a/Evergreen/MainWindow/Detail/DetailViewController.swift
+++ b/Evergreen/MainWindow/Detail/DetailViewController.swift
@@ -12,10 +12,10 @@ import RSCore
import Data
import RSWeb
-class DetailViewController: NSViewController, WKNavigationDelegate, WKUIDelegate {
+final class DetailViewController: NSViewController, WKNavigationDelegate, WKUIDelegate {
var webview: WKWebView!
- var visualEffectView: NSVisualEffectView!
+ var noSelectionView: NoSelectionView!
var article: Article? {
didSet {
@@ -56,9 +56,7 @@ class DetailViewController: NSViewController, WKNavigationDelegate, WKUIDelegate
webview.customUserAgent = userAgent
}
- visualEffectView = NSVisualEffectView(frame: self.view.bounds)
- visualEffectView.material = .appearanceBased
- visualEffectView.blendingMode = .behindWindow
+ noSelectionView = NoSelectionView(frame: self.view.bounds)
let boxView = self.view as! DetailBox
boxView.viewController = self
@@ -105,7 +103,7 @@ class DetailViewController: NSViewController, WKNavigationDelegate, WKUIDelegate
switchToView(webview)
}
else {
- switchToView(visualEffectView)
+ switchToView(noSelectionView)
}
}
@@ -172,7 +170,7 @@ extension DetailViewController: WKScriptMessageHandler {
}
}
-class DetailBox: NSBox {
+final class DetailBox: NSBox {
weak var viewController: DetailViewController?
@@ -186,3 +184,25 @@ class DetailBox: NSBox {
viewController?.viewDidEndLiveResize()
}
}
+
+final class NoSelectionView: NSView {
+
+ private var didConfigureLayer = false
+
+ override var wantsUpdateLayer: Bool {
+ return true
+ }
+
+ override func updateLayer() {
+
+ guard !didConfigureLayer else {
+ return
+ }
+ if let layer = layer {
+ let color = appDelegate.currentTheme.color(forKey: "MainWindow.Detail.noSelectionView.backgroundColor")
+ layer.backgroundColor = color.cgColor
+ didConfigureLayer = true
+ }
+ }
+}
+
diff --git a/Evergreen/Resources/DB5.plist b/Evergreen/Resources/DB5.plist
index 96d945d44..ba840b555 100644
--- a/Evergreen/Resources/DB5.plist
+++ b/Evergreen/Resources/DB5.plist
@@ -108,6 +108,14 @@
4
+ Detail
+
+ noSelectionView
+
+ backgroundColor
+ FFFFFF
+
+
From a4886835503c901d7026770bd04ce2c7a2b1de84 Mon Sep 17 00:00:00 2001
From: Brent Simmons
Date: Sun, 3 Dec 2017 12:54:51 -0800
Subject: [PATCH 5/8] Refresh all after importing OPML. Fix #59.
---
Frameworks/Account/Account.swift | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Frameworks/Account/Account.swift b/Frameworks/Account/Account.swift
index 7a527d6a1..5243ba209 100644
--- a/Frameworks/Account/Account.swift
+++ b/Frameworks/Account/Account.swift
@@ -303,6 +303,10 @@ public final class Account: DisplayNameProvider, UnreadCountProvider, Container,
}
importOPMLItems(children, parentFolder: nil)
dirty = true
+
+ DispatchQueue.main.async {
+ self.refreshAll()
+ }
}
public func updateUnreadCounts(for feeds: Set) {
From d1a82572e29b38c97a66536ec2d3d29d03042c91 Mon Sep 17 00:00:00 2001
From: Brent Simmons
Date: Mon, 4 Dec 2017 13:15:16 -0800
Subject: [PATCH 6/8] Make 1.0d22 and update the appcast.
---
Appcasts/evergreen-beta.xml | 25 ++++++++++++++++++++++++-
Evergreen/Info.plist | 4 ++--
2 files changed, 26 insertions(+), 3 deletions(-)
diff --git a/Appcasts/evergreen-beta.xml b/Appcasts/evergreen-beta.xml
index 5130baaa2..835aaa399 100755
--- a/Appcasts/evergreen-beta.xml
+++ b/Appcasts/evergreen-beta.xml
@@ -5,7 +5,30 @@
https://ranchero.com/downloads/evergreen-beta.xml
Most recent Evergreen changes with links to updates.
en
-
+
+ -
+ Version 1.0d22
+ Refresh all after importing OPML.
+ Fetch unread counts from database at startup.
+ Make resizing the timeline view marginally faster.
+ Make the favicon downloading system use a little less memory.
+ Read a newly-added feed immediately, instead of waiting for the next refresh-all.
+ Use 38-pt-wide toolbar icons, a la Mail.
+ Parse RSS 1.0 (RDF) feeds. Pinboard uses these (I couldn’t find them anywhere else).
+ Make the window title-less. You can bring back the title using a hidden pref.
+ Save feed authors.
+ Save article authors.
+ Use updated @2x next-unread icon from Brad.
+ Fix bug detecting feed type for Dr. Drang’s JSON Feed.
+ Fix bug detecting Macworld’s RSS feed as an RSS feed. The feed doesn’t start with the standard XML header.
+ Set user-agent on the detail view’s webview.
+ ]]>
+ Mon, 4 Dec 2017 13:00:00 -0800
+
+ 10.13
+
+
-
Version 1.0d20
CFBundlePackageType
APPL
CFBundleShortVersionString
- 1.0d21
+ 1.0d22
CFBundleVersion
- 513
+ 514
LSMinimumSystemVersion
$(MACOSX_DEPLOYMENT_TARGET)
NSHumanReadableCopyright
From 6be163e23b34e309ca6339e4b2778f309198625b Mon Sep 17 00:00:00 2001
From: Brent Simmons
Date: Tue, 5 Dec 2017 13:19:59 -0800
Subject: [PATCH 7/8] Use the decorated-tree icon for the month of December.
---
.../AppIcon-Normal.appiconset/Contents.json | 68 ++++++++++++++++++
.../icon_128x128.png | Bin 0 -> 11288 bytes
.../icon_128x128@2x.png | Bin 0 -> 31606 bytes
.../AppIcon-Normal.appiconset/icon_16x16.png | Bin 0 -> 1377 bytes
.../icon_16x16@2x.png | Bin 0 -> 1920 bytes
.../icon_256x256.png | Bin 0 -> 31606 bytes
.../icon_256x256@2x.png | Bin 0 -> 100285 bytes
.../AppIcon-Normal.appiconset/icon_32x32.png | Bin 0 -> 2634 bytes
.../icon_32x32@2x.png | Bin 0 -> 5168 bytes
.../icon_512x512.png | Bin 0 -> 100285 bytes
.../icon_512x512@2x.png | Bin 0 -> 315115 bytes
.../AppIcon.appiconset/icon_128x128.png | Bin 11288 -> 13676 bytes
.../AppIcon.appiconset/icon_128x128@2x.png | Bin 31606 -> 37798 bytes
.../AppIcon.appiconset/icon_16x16.png | Bin 1377 -> 1428 bytes
.../AppIcon.appiconset/icon_16x16@2x.png | Bin 1920 -> 2079 bytes
.../AppIcon.appiconset/icon_256x256.png | Bin 31606 -> 37798 bytes
.../AppIcon.appiconset/icon_256x256@2x.png | Bin 100285 -> 120584 bytes
.../AppIcon.appiconset/icon_32x32.png | Bin 2634 -> 2605 bytes
.../AppIcon.appiconset/icon_32x32@2x.png | Bin 5168 -> 5666 bytes
.../AppIcon.appiconset/icon_512x512.png | Bin 100285 -> 120584 bytes
.../AppIcon.appiconset/icon_512x512@2x.png | Bin 315115 -> 379736 bytes
Evergreen/Info.plist | 4 +-
22 files changed, 70 insertions(+), 2 deletions(-)
create mode 100644 Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/Contents.json
create mode 100644 Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_128x128.png
create mode 100644 Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_128x128@2x.png
create mode 100644 Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_16x16.png
create mode 100644 Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_16x16@2x.png
create mode 100644 Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_256x256.png
create mode 100644 Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_256x256@2x.png
create mode 100644 Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_32x32.png
create mode 100644 Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_32x32@2x.png
create mode 100644 Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_512x512.png
create mode 100644 Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_512x512@2x.png
diff --git a/Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/Contents.json b/Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/Contents.json
new file mode 100644
index 000000000..7cd4f8e12
--- /dev/null
+++ b/Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/Contents.json
@@ -0,0 +1,68 @@
+{
+ "images" : [
+ {
+ "size" : "16x16",
+ "idiom" : "mac",
+ "filename" : "icon_16x16.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "16x16",
+ "idiom" : "mac",
+ "filename" : "icon_16x16@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "32x32",
+ "idiom" : "mac",
+ "filename" : "icon_32x32.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "32x32",
+ "idiom" : "mac",
+ "filename" : "icon_32x32@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "128x128",
+ "idiom" : "mac",
+ "filename" : "icon_128x128.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "128x128",
+ "idiom" : "mac",
+ "filename" : "icon_128x128@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "256x256",
+ "idiom" : "mac",
+ "filename" : "icon_256x256.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "256x256",
+ "idiom" : "mac",
+ "filename" : "icon_256x256@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "512x512",
+ "idiom" : "mac",
+ "filename" : "icon_512x512.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "512x512",
+ "idiom" : "mac",
+ "filename" : "icon_512x512@2x.png",
+ "scale" : "2x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_128x128.png b/Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_128x128.png
new file mode 100644
index 0000000000000000000000000000000000000000..861e26006fbf6166c70279a22a5ac0d9ab91f2a0
GIT binary patch
literal 11288
zcmaKSbyQSeyYRrkz`zV0Lw86H-3`(yND2(Y&?VgrDTt(qgfx;;64HW%G$Jw4A>O0_lwMX0$=sJG#j*AGLjEW^}ZbVKx@ghHHB$p&T650zFYr0(A_L
zfzC(?TV^>~MrnV^2Li4rZv>;itBaeLq`wUFzvxOnJpVJz&&>EQ5N~H0=6?%iqOHfM
z|M`QZ}$0>Zp-0ZF)oBwT>;zZ&xcH&0tT
zNdx7_|HbQJB*X0B?d>7S&+q5w$LA-+=k96GFCZZy!4DVY7Zl`ufZ+8CaPvm^^SXJl
z{D*=v$_we~=;7_??#B2JMTCvJkGBl-gQWjf!PP@s`@adhdHt869!$pXkMQ6Z;DhtK
zy8ffrzo5Om4N(7IjQ
KKR3qA%z45P=dS&AptvHVZ?(qY!Kq8hoP;V
zovom_xE&JC{9pLC|HFp=j@5^m2VFe=Ba);z(pFFyDIv-$AueIZDpHrX{Y&=X
zXvfIqD@*xz5xbJvk&dsDxGz4B%X<1qo*l&ntj4h2Z}?FI)#9&yHCdc828Ukdb)Q_V
zFOv1*z>+S%-gS8R=pIx0JWd87;yS>hqQSdz)k5zPwQ?Y
z5i&40;>4Xa?%f;K?_;B&&ZO@(^=+yR-^2K33Bx8l=%hcMrx0?iso5oDKog1yd-`O3
z26e3?gMja>H@g&hc9vUH6MUnGPSgRHa{JYa&H&6hfW@STHWSvs-sJ$+uk}h2ZfUq?~_C45dq@(F%LuTVEP-OUHb@i>NB4#7!|
zp1F)LhL{-UKJo0*r
zCDH6s-4HdSK*+4X#+LZgw&*4Fub>zW)J2%9C^5lIv|_FnKhIov5pTTja!s7Q{RmR}_2in*cY%Qy
zOMYTJR-Ns2g@uLvPL0fU8+x3-va_qWL>K9BYi`;I|)8xMs6=nPVhPHp{eIxO}~v~
zR1>#yvQ@ywn^qC$nTDyEnI<7cKU1D`BQ*!nr(9ee`79Li9g>ogtwmK;RWD@DY6VI~
z>@qXDctEvZnB~6Deq{yQRj+XP!{xn+$pP{Xi_c#v_Rcj_?5J)b_RZB^0Noi(X1*K!O->=%))wP2U2DwWXn0*>eFv)yy-0BD}9=T>>_LRJF
zi62O*+@}b)GYlrOhiLK4anpwR2LJV6*zKRL+V3OZz_KQIu^t9@J+9Nv77bauyE)>(
zBORFMz7)g8gtAMM7Q_`+H##j8&Th@VcenIyAG0)OsVjAw(#ugC3RV_*CrwKqQ^|GD
zvTxRg|1(kf9IWXsFx6ce2^t0}4Gg+Ly6j3kuY6?ZeDoNonbQQ~+$8iym{d`;iGPgpnwByV)29e~ybmeD(gVWkt*1-@^-wZWkKe
zRl7D;kxeZE>ql!p;PG<@M^BZ)sp&X7U;pOJ*RnNna<$2mAdrgj?dotod?t+kR9)@1
zcYd&NzjE+tg1taVVIW4U5Kyb$P;<9=TTXe|Hc?)0L{zuKq%1VCw#n2RV
zQzc#tI#~|u(`hKinDTZ0ve{Q>99XDM(uE&Bb<#gP>;Ui94$d)YskpE8qfiC8WlZ$xOx
z1p+(ZblI3~w%8rN&<>Qbcu>6$4v?qw#$Q5@oR5DF#K(h(eo8L~?p1|-7>R->%70e%zfK#KO_B{%AWM$`o5d<)Uc(Se;sw7_tX4)^p@swg%;ZFO|JD_5+P;
zhiyl9lMp|rBrNaQjFmO;TEyt5kh6iaH1UWhDHE95*5JhU8NY~_Cw=-K>-7$m+U*S#oFTCrVk@a%C|TE>N$vsce~-2u@t_7DLsRjg$l
zq6hTVW*V@)_oLdh-pau>OK%--pJ^IM+^}A6i+yM=G^%1{L|+HTaG_<2D)0z05WlCQHp>^YFfmK
zZBjCtKz8CAr8JULDIO^yEqfyVY9ujDMto{|dYa(G;vxP4>P`1QcccLGNL2W
z%|~IQG&Vr=Qw>!^R5x*LPwURKhx0~WPeOv2qBu!EwQQ8th6lDW7q$F%%cm{E
zfXdbSADiN)7bem(8KqGLRO!9QBSZhNf>l<~@i
zDId!LC8)Ri%N=d%mDnSvSe|`=d~|BlZ~w3p%;cWs9-?I6h^4ALyMWp#*5FPwYYHb>
zbez0TF(|MisXJ)&NGZA~0w-4QdU$Xj;zBu1I`9?RAn5VkP=^o=vW?Y=M)-~azo|vN
z4WKGy<(he_kb00rnCkC>pwPDww|;xC>XEy&OLsOhoIErHI6FH#$TE?iQ(&|!b{Z0(
zGMS+(L0s<5e2#fG+O~SQ{mkQFQDhYTHxwzc{*
zA+5p5cQJ8>kF0Q+@#7elNgp$cYxB@f>To>9TA(@)v4w#O=B6YqKEWEY!z>%$!cULKNQOb^A{TZ*Nz=fPIw3vnQ+!3+Z>+3!IOHP=7FU&(
zu`Nvb`X*}*k$!*OdkAsDOrDZlX(>XCk$R945sP#CtC`7n%i7X^GBTA%4bZ&-=)^<2S&+keG!+
zLPAI_{In#DS_Pb&AEeuxIh_;u`K>(3d>MHbJQ}exDaCro=iv;PwJrB;%^w?Fv?ive
z425YKH#l$omD$LpB}J)JP13x$>$lB541LZsJX%*O?WvY9?h48?%%w8YT(4#$@ZHYXtOzmN)Cd
zbJ%dAG~e>M^2cy}V9+k#evF%-$N`L!%LyR1qzU4sr{(HqCSl{SZspF<
zWsG%3Q(6T-f3=1#Pc0AI*h&((Ns5=K}^mY2ArRKs4c
z0*Of>jbWr&Jnx&eSSPX`zEYRkvU$HNhig6_@>zH&Df#7i=y^Si5Z+j&+X(}x#yX-?
z3>NO)tOyAgo!Ja$U;wpitC$g$yIwU!u^q9xwASLreguQIEQo_$H;q+y;`{fH1_*$G
z4oIyzVuTb%5Ut2oe}8GtfyvQ@D*vX&JNkDGvdNa2`N~7Zv!t%y0IGo74OB8`BuOOe
zSjqnh7VqwjW;RGPs1d+_A$Lquq~3SedRnxNwya`mjXrAv`TJf{
z`TOlJDf|5<3B)X>rAFgbuX;R6RopG6M{b8POM-oEbPa|-=1!%a_KFA#e_2>RVX2T~
z#alCh4e)dse+UE9B@(z`J~Mo)XUb_)!J!umj-{3Ib@6v|<1^qQiaoS~6+U9rH8v}+
z6DVy30%dksuzw2hjw%M_)6ug?t#w!5bQ|q(T~lLj;#D{Alw@;Z(dyN5BqvekFMoYl
z`-%;sSN*|69_0axjZ|`4{KRh4hI<3;mrhUPDxsSO!030?LL$+p
zvkIs}jWV?9Fi$YY<+F^`()=;YPZPzhv0pWOGj_maHkebz6MB#K<*x60QV_W*@ohGl
z6SDd_s*%a5#H>^5JdP%D^6fhLDo)|ZHDs-;uauR7?W1mL%ufpm@)HeXOjnOFN!6J~
z@UCy~3au{H$JJrER8fCUr7w9yYl}Z1L
z@RxIB2Qu?#TMCATH0mVFtaTZ!Ajz@VTH4y=OXR&jpwVP{
z1Kcz*;bn)8q`-yh8g*}l5*6^OuIdAO)-7v{5M87Mq}`sHmZfF`PR7
zOT|3jY||lPcDk9AFH*CaUC$nE$NFe6BJcGX&9~w=r*)myRQ-(HW=@XV`@1@k{
z@jQ9G;uupLJT%(s>6!?_7-Tc<^2-niQOYyFC7&M#*f?bEdc{Q0u00?jz4SKe9uNxT
zFom!Hhu%gBppEuCy5Uq2Pf{jVZNxAm7D|013h>Qwc(8oFH@+B3&{GzxMt4N-cBzJV
z7_TfX%5kxidi(nNW^91TzH^(PBG9I$3Kc!_8o_*>6ln16&bA{g?iKo>%)ymqTfQVD
z6<%n^2(}ZPVlK>#@b}!_nCm#+@A{)60)#@L2i69EI0vz^RA4{|64sCr&Uk23rzt}s
zjz=s3Nqrnr`8{un2EJs&q;Y1Yx&DXUh=f#RREtEV)IVbM9Ce%%e)Q#XQMo-ZBg;zW
zgFj}8a1s|QN!gf6F_}8kAhUunZ8S?~(dx(MR3&LxZM*ks9c&vx;<=(IwwCp>g1yP$@VLA#Decd&zcDayGRlj7S_vZYyH=XTy;s~
zdFaXTC#y}(ujk+@1ZwkdA_g^kgwFtOlg}m|=%gcS6y0ak?_B+3$}Y=;a|sqTlPv-FlN|)Y`UBhy(1eJAy6<
z1cczuIu45NhwGq=_-xXJl-#kOY1ic^s-WlQBR(Z4#EYTL7VUL$4`Vo5zYh+e3
zeH}fQnOR^>ya#+Pa;)V7`p{c)lvI2kG9pNje_@~1a6%?fi|MEmksSf^mXKU~EA%;H
z>2|!As;5{4YlM_D8#GZx*o&zjMvP`W!hoTuyMm&qq$?wO6+X*2h-%3@IyDlF_Tmm=
zFxBli3{B|ud>ISNtfxAp2?nrBzosQ(MwW>{1Gcb!;;X!i4#c!`L~r;0vemc2=vB0y
z5yO}1L`pB>1@h?D$C?y>z%L!-jkJv{aFo`73Wt9S31)fuK3HHlGKBEATrZ9J5O(w!
z@6)~CbW*;}cxPB6UjS>Jot;cIKWK(`3I%7Cj1)Z{UCvFIqC}3rB(Ya#z^1V5Cb>8%
z|KxY)R8ZtgE~Co?Y&^;MJgOtUj>~~@9upkrr-P+ltJ8?OIPg!Aa!%pv9U5%$;N*(;zsT<
zG|I@Wjv=faJz1K<%HphS_yp|(JZP^UT))-rjV_jF(|ht{(z1-hngY~CeCjW)WY?tA
zeRlEsPQ8=5Y;2dpf(N-+VosTi#A%uOqNhEO0pl0JSTZn()}PDErW;;$$DxlHoCDi^
z<;8By(w`rgA1c6jm8z&@H;v<|ZfozCc6Gny;ip&5j`0&3-wI*&YKgGDJuDpj#;>%f
z_T)u{Bb+D-S~?ar-ZfJnMx#q{f|d3T+w%JfmX-rO3Ix()cu`tXN^%Rt2cd^n^l!&i
z9_quqLs8-LHxkc)dca3k+r&DP;<)p&5!abLwBaR+g`6zD_I+HJCs!P+6SGXUvpjPc
ziZZ%gHjZsaoi|STXts5`Ec9`&KfyC4L4dr@FP2^1HAiJXCVr&)Cm_^N}$!YTL$i&Z2
ztTmz}3P`M`bDeQ}kq7wXbU&$F+~6cGp$^ZMjB#szBat3g3CD
z)x45>@Hyllt}QxX6P%Tujqiy)dW=Z|IlkVj8Hekx1{dT465LlXz6O8ImlGafEiwBs
zLtTM{8w>{qeMLo5Y!vge&*!6aWr+5$y{SzKUPQj?cpt|7YAo@$=;c*&G~Zjz56}TB
zNR}fe95-#7!Q`0a(RqSuhYXzb?6}Ip(+MY;)OU21*?~37VR-P>rRvRV)__W8Lq+KM
zV{!2_zV?v29ObWdE*SZ%U~feX?82v{+UP8DT7nlnv3h?9ypQ!9S*tO4g4;x$zVGb(
zI>Wo#)uL$zFH93h|Bk&3`AAsOQ@@&h)}1hxy?Rk0CeKQ?raA9}%>gCFomL2Fi3o5;
zZ{-H*_?5%@G4Xt`^<@HYEw|5dUX_L=Oa*EvaA;SN{%|Hy|1-_nJDWLG44J-U(x0Cj
znGAq|li)sbpfP1!X;tKdt-!2{glE$qW(f6=&yP2JoZ_$>w
zeQ3?eAM#(u=#E@`G4#fh{6GixEt#uuNu{3Qn6pq2ts&)2dvyhni97;}7)lZSv8qumzWe?OHXbLBNHTs-ZO
zmFm65N!#Y`9U=oGXiBB&x$#c%&rv;tq@AR}NVVr)s)fz#RPnM7iT1gpb{}ll{&KEZ
z>%x_Jdbg
zvitgbx|@NLR+pFoQ@BI~STuj2;OugYOM|-QWlIJmTHp-^=fpdgs)VIqwGfV54)Vq_
z({;`I$zNoU5oJCIOR(q{Hw9LI9^5)L*arovX2r${DszzQ1Rh*GT;EfM=!QeC&
z0c8)0Jejdoa$>2ci?DTYwd?V9Y_4&J4jC-`r
z{WJBI+*J9Z{_||xY`pxP8r&tJ4`+nqG2I6>(fAwq`9@CRqI-CqgmQA1f8
z$rY^hnOolzdLI`GMXYkL{{Udn9oqf4nOb%5aiMwg>MU=s&Dzzy_?mjew#_SL5sqm3y35w~
z@BJ7PPi1cQ>rd0o-PE6BQvo6Q+!@@!V|Q!FarYt){7{CFuPs{!^;%sxg=~#>>Tk!p
zsUD90b7WXfLWBA^E6ae3KoO2gccji|5-~io3
zvkS-G%)obL6e2jLS{3aQiYt9BHU9>SC~}hF$@|jPjUoY&uQ$%ZN63F=Ylw)7Qb$r3
zu5@!y$9-X#x#zfSSP%3M`-^L6!j;iGq#+xFw+S#l(g+@gS#UbNhsjt+6=;!^Luscl
zbk1q-Ya%o{TUdSnl(CCUP&-EZZA2bBZ#l1~JD-JD2<8m%2-$)*E4B)XN`SVu0PJ3M
zJkPBri=vr7Om>~&LM5*DX=*NW%;D;=)x{RCNG)LT*Lz_jOb<*%3ErewEbY+_hK
zkAQQ`97N6ZmhyJL``d|XFAEAPh=b1qN{IKtKP$yJdqC^Kb>K<2rKKfUXwv2yPUbE)
zYt&^lr6ug9U#v5{>KBcdYZ{u%+cNjX%T~Ng!;QzsLOkK-z41=3V@<58aNm$sRh1|g
zH{Whlff{)(8AYXW+8w1K;FwR|Rti=3pBX9M>s>Q?r}o
z+$2Em{4@ndvHjAwJ2jKdLqm47A?gX_r(@{jh+
z;h=_opqedEy&dguFtAP)r_8*kZ{}GZv@VZ#&R$S4
z{)~6R#y$GN<3hl~T^{;J{IArQYXABZmq8<5gC`U*FEcQ=l(auxoS)|!D0bC(Is+28
z#d~gWW@ctE6DC{~Y`-*>tI!zoJC{yKF#S%&h^k&$WDte4k5lUGiCfYr!STk}b2f
zZ?@qP1a&(kzs&WkR-DhV8ec|$jXUF`p^LAbFVV$?rk}!&
zF%CbGp33ZEX+H-3cJ@k?LzXY=0k9wgmTP18VWl6|rBQ`{Mw>4ey&d-|Min6~J;w3|
zH79GR>K_;ws5n9%rlbnA4T&&F(E>E3G6=RsmNhm0QFN92)qE-)y5TzZv@E@XiZ7O0
zhsKGS^;*rEtR&(|aHXV~<@F!4_{>Zy|J$=4Ry#*W43q%tIRUg}Ldug;9cYkru0u*_
zPa3eN8ODP9jmU(}`HM&&5lKwg$(c0|E^-;sJa+zK!p3~;4~8&)UI$FO=tL^z5_T!&
zu?o1I8xL*D?vSp6cNN9~J)p<&R)1}NKU8fpx&ofwPWO3VZU8Jy8u6Z{7}ffnqf88@
zX=`v3;m1^s3aAE5Y9w?5E1`DrTGd1IW_0yK*)Is!+s|(E=|Ma1-5L2-LPV`YcHi?uv2G?*l=eTO-
z9-K}}kzX$;JOL_W<8!DLmMI$~(d}1FGA#>Hl2SjYSlM
z`n%pc<1mC?u2IhA)d9o`*D=3)IsmFfabG1S(mxz`w|e%yB(I$?DbcBexB+yo?g8vQn3{q_X1gL{*uyjqwUA>51`ZdJH|z_f4%0
z!gi~rj;`r%CQV;q;_u4U%!#m3)&^a;UH9>a>I(z?6=i+D90{^tx(@)ZKIyzK3Fi};
zP)f7FjEU=Mf~zHvOttL=bjS+Q+MU!Ys%rhVhGnj-r#EiCe-0G@lF-LH+uPeCJUvN3
zI5=wqDJ(AzTefm}_s6$yg2>Nmu+i@YFdSV13#DDQ#&Tq6#N6Ilw)wh-7#WeLxx`B-
zwY{U=P>Lv&*}8yO^ik52&?mCnkm)~{m|m4{e@-sn)WjG!p?Iuubi{eEy%Mx34d2RK
z?`5E;KkvA|yZOA>8FEv<&&x5FVN@)a?v6EK2(<=ao&2)P%>E5pU#5YPrrCP+Sxkiw
zVZ}AeVr$c3sDs(rgh)jok~^a*W%K%IqKSeuVNj8VW0PMSGBjF{E&T1`Vw;t^@4
z8-1@g+=}=Ek)(ocyM5Hty!Bv4(p4GRi{G{q~`#lAAZimUDiaBbkJ=KM**gT30qw
zGqv);RCt`8V$=BkzXv&Xsy;1O^kKltcRPO%aj)1@dd@u@B;&<@W78rsGuzh8_`+$;
zGkQsNI%=c{BE!VNQgl}R+p*@rN%qeE=nuS6ZmhjT=xY+g5kmgxUBt0Kkz{F9U?koN
zO2{zm5gh%&W4Bl8sQu6EN7OLAqk{u_X6C6ZMtmQcL%0chW5TN%4d;>q4KWrt=`}h@
z{o=!qy&SvUkl=@pLR$Gn_u--2n*mFejv(>~9IQfB><0cVnhSn%Ai4|S|Gm>bH(>L4
zR^O-ae7*(-4Kl8=jxVv7KVdOcSupdm-cwK7UH)i(Iqo51tXAzWJPo?(|u2+JuM
zUm6_)1H<9Y4wc<6q3CrSkR~|b2c>z!56MJ|3t96yW1>`(z@7GcVSVaDR)gNE5xcC$2O-!Dd*ZF
z6Uz^%L`(FuGOy_a))T~H$iKXdBEU=KAu(aC_Kj^Mm-zH$gpJx%Pv3!}J3qs-Tb%fo
z{~%yz+1#xYMRW6^qo@d&VY-?jzv#l8{dx=(>p0y+;kr%)u91BT9;JVgJfW3kpE983
zs%s;pwK)wD3JW%1I&JqnGLEG+s5WNvR#uwI2v;sOuZEbJk1r|&-W+_&W`>ujVlsrB
z>R(USgc{LM^v7jheSLd>l3&^1xHFk|clwD+zhYwA(ao)2vx42y4*jJD9(yQqh)yj~}MTpVNT
zY^J0SbF5%^5rl9b$(MMsneBeZ&LaO~ago*@KnvsXl+4l4?kMJ7s+gbAXrPDp{2+@<
zEO(*-kA`}Y+`wv)8RZ8l($h`!)IWkCb3{MX8jBhzy`<*b1pu#48}g85@)jjLk49ql
zW}j0%0n$`H#M;=nkaX?01K%G{1w9=6diM?jPTuSJCeS8DQ4%+6SbVFpxj=~OxdxFn
z$b_EVaw)EdD$24?r8Qus2Ft{`
zkyop9QAY{ckB#7R23gjQGC@;D^%jz`yP+5hk%Y2pqy?LpPjTL=0Bz~4Oq(f1FbH`1
zs;rCB69PrkYrmCA*F3$e7M0OsiD!zg#ZY*;CGwq?B9%1-;e
zb(OXLA={cvK1%_!zGg)eB~1#Y6o`l;0Uesn$J~pryb1p)U3GewZLsiOR>QPbT?qad
zBIq8RJm`8II}x9O@tyc_(l+bxc&PF(%*1>CEZ+^gC|4_5NBlos
CNsn>>
literal 0
HcmV?d00001
diff --git a/Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_128x128@2x.png b/Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_128x128@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..693f0988af2eec314f73418540fb4f39abf70c19
GIT binary patch
literal 31606
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
M07*qoM6N<$f`hY_kpKVy
literal 0
HcmV?d00001
diff --git a/Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_16x16.png b/Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..de81e63950d415c3eb6f827534da39a3d821373a
GIT binary patch
literal 1377
zcmaJ>eM}Q)7;kY1G3&r(LBW{aPNTSay^mhoyGuI-N~P0QEKMLY3%tF14^HS^xgNAI
z*fQq^hDA3&mN{`F#(g*!T+BWa%r>)$LAPZH%T&lRk-0x~Y!MQ0lZCwn%KU?P$=&CX>nHEAa%;nw@+zm!j|E6EgrUxkhn?QKrd89O%$gAZcNU
z`68ei1|g7|>Muf<$+VMVa
z#Iacwqt=bjk*e^QVnvz`F}u}4h_sEvoV=B`^BluAWpkQ7hSEJ4u%#S0XT%|AHu
zrc1IA^mylep_3c0F^s4{lJR)l8n;)ehFv{J79VHbJ8)3VyprU{}k0v%mplbL$ZXDfMB}Ec=C_BS8)=2d*KW6YIGQeYa*hJNkfpg|r`J))dka%o
zpBgiOD#Da+1^J%GvJb=xMLGnAriV1GF4YC4HJYKtYP2X;RFtf`-D=13{XkUIq<)g3ZKVI_vLV|
zSCIt85=~JOI8kC)k#`V0$IApwI|0GTEJsLuSd>K(NMV}ANkoxMw$FX-loFvHO>P&4
z105E|3#w?QbTm8{N6WiSCbQ=A6oe8(ua$ilNTVP7a{Mx2f?wFoT?~kEv&jlSeim-%*%YOIS|(vnN;
zd*^e;uWV`ibAbMI>)6Y+nKzv`+jTtg#Ho*NrC+#vZNhahdgvYuww`{}yl#*pCfdzS
zJ$KeVx#H*Do$k(q--s_&WpwP^qa10=U7pp~ccx|Ix<>Enx8BHY>8b2r9q%Qs4}C9e
zzOk+S_|S>ZPu?CC?!I1eFWZB?5@>T!P
zv#s_+6~}tkkExaIzcZG>@qN>g;SU=hDd;-(;zKJ<_4!j1lX+BG@~7u34tTl?t9Jhf
DpakzP
literal 0
HcmV?d00001
diff --git a/Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_16x16@2x.png b/Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_16x16@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..dd0fa842e71e8642838a374a6cb5e04477df31b5
GIT binary patch
literal 1920
zcmaJ?eN+_X8eeo>2oI!zbjhe;pbfRz+1byT$%WW21X&Q=WJ5z{XJ%ntc4wWPWf#f>
zKkkh;MM~)r`
z0XwAu^OPp3$*rS{?eof6dSQ8%nJjmZ7zL&z19Sa2Z@@`&1mJg;xIDOD13s{e^ZTF}
z27w1EoI?XXBxNxz0CWsX14@YsA`v+Xs4)qm#88>yB|s)cRIn6-5d|bga4CjM5n%iQ
zd2cLb!*lh*v^`ud{RfT5
zYJ1FOZW_*|J&czn`FhwACcu2|{@PJck!OQvvv$5HM2Vguy-wQ2rRy~ye@=J&GU(HL6O*vhKJNf%4G;Gg9tfdgA@dx4J(1t{E@QR
zC>e^{NGUjur~Z_~hrP;6_*mQ%lyH=!WC{{fK^ThJAOukp5NcDP5QSMu8%YwB6;XgN
zPZ18b&!5_9Ld5rIaQkRD_`{>|qFww?cRIk{J*P_JCWCi
z%ud{|PpcfvJ8iE1FvhayZfI9q*tgl+AAqxmQ?9(c;Nw7yJ#o5!A9hy=U7unVN3h-0n_P||zPG*hhy~L`Xkw8sOpnl)}iup&B;bWlaO!+(Y
zZ#SRbm^Nb)z9lK_)QhJ!aLK05_O>RW__%4~l387BeDrP4+BI46CmN3(N^a|0@pXyn
zJ0dPDyJzysFSifgpFS&m@j>W%{I2@8=`+bBm2%SL(xbmgrtVFwJrV2O)&lEeQa9@tr|y@=-m|0KcfY>3z6BQpn}q%k
zw%EtsR3(Q_Ip{7Iev>fdy>uYwRPNvA<^*m``?Bt~G-|683&bw(&TAbK9z$T^nZmPW
zDH$mzxBuj;6BIy9ci+8K)1BV2)4oxWxFpIMh-+KtTRFA%+8k%V+jY7Bg=x{Nu0FNI
z8D&8W)^zj`zObtWpKG6gImk!N
zyDHAleD}vRVBtAMzv%Vh)fvriz27SxSpMri^Xyb{O{I1xuyUZ~KTlPKX$vYs8~@=g
zJaDdESbYIpc_U&=h+p$$dwYAKZ1avid(uwU{pgRYp$~U{lzDb2x_Qaig^;-BMUMXP
zXzPY1-?Mm%P_%mITWh0rIT(JXc7AAQ40U6f&k>Rodw%HWR|m=pBB>ulpJc^sH5|Ek
zPG?y90-ABqqQCi4^()}Bk#O7LF4g}0%cltvzzikQA-GDf~pfac0!#BTFqN(XhYe
z0uZ`$@@xN9_gYrfuUq%TVdYfO>Ok@0pSRvxyr@~(Q8B>2w&?%O-!$xmtw3$QV|VG)
yWpk)EyN+ady6u@$azDmQ=4Z^ixGwbGj6y-CukBxb`NrG9e`2~JOTS-RxaxOWEatEP
literal 0
HcmV?d00001
diff --git a/Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_256x256.png b/Evergreen/Assets.xcassets/AppIcon-Normal.appiconset/icon_256x256.png
new file mode 100644
index 0000000000000000000000000000000000000000..693f0988af2eec314f73418540fb4f39abf70c19
GIT binary patch
literal 31606
zcmaI7bzD@z*FS!DVTq-dZdkfu2`P!CLt0Ad?vO5F=@J10BqT*Z1nG{YQIHT6q#G2Z
zQx^E)^E{vD_xyd=5FJCi5H~w1dscZlxJ;1rod6F9KO1wha{s;viC^73(j-xCxUuoD)QgiA;X3g45G6cOWxiy(x>g%DCg!eRmlVQGYvG(s5u
zKM(6&Z9evn(gw<^|5MjpPL|c#&(B+0NGLEcP%uzb(96e3NLWfrN(dn$BqAbkMHL0CdUTtQUio~W{A`FZ&|dwIi^l>YVl
zJ;8f$ZfzSo7tepiJpa1tzgw>C;NueDV6W=qk`
z@5YqR-QX#D<^Bl(0%J6k6%2!BcRTQN%}x9{!$(6uH7=Shya-8eHLG>!TAsOk20p*B
z){27>Y9PpK3A3`&p1s6eUUQ~t#PP%I?pva*qdlzgh?9jS&yXls!XquboD_vx0k@?R
zOZJAx3l | |