From 982bc2cd68d732aa5d7ad2143e2ebe68cc20f073 Mon Sep 17 00:00:00 2001
From: Scott Stirling <scottstirling@gmail.com>
Date: Fri, 23 Apr 2021 02:54:12 -0400
Subject: [PATCH] Update main.js

Latest version changes applied to main.js
---
 src/main.js | 1601 ++++++++++++++++++++++++++++-----------------------
 1 file changed, 872 insertions(+), 729 deletions(-)

diff --git a/src/main.js b/src/main.js
index b2d75ad..31df72b 100644
--- a/src/main.js
+++ b/src/main.js
@@ -38324,7 +38324,7 @@
             let Gf;
             try {
                 Gf = "undefined" != typeof Intl && Intl.v8BreakIterator
-            } catch (UH) {
+            } catch (KH) {
                 Gf = !1
             }
             let Kf, qf, Wf, Yf = (() => {
@@ -43937,7 +43937,7 @@
             }
             try {
                 Iv = "undefined" != typeof Intl
-            } catch (UH) {
+            } catch (KH) {
                 Iv = !1
             }
             let Dv = (() => {
@@ -49268,7 +49268,7 @@
                 })(),
                 mE = (() => {
                     class e {}
-                    return e.ExchangeRateRoute = "/get-exchange-rate", e.BurnBitcoinRoute = "/burn-bitcoin", e.SendBitCloutRoute = "/send-bitclout", e.MinerControlRoute = "/miner-control", e.GetUsersStatelessRoute = "/get-users-stateless", e.RoutePathSubmitPost = "/submit-post", e.RoutePathSubmitTransaction = "/submit-transaction", e.RoutePathUpdateProfile = "/update-profile", e.RoutePathGetPostsStateless = "/get-posts-stateless", e.RoutePathGetProfiles = "/get-profiles", e.RoutePathSendMessageStateless = "/send-message-stateless", e.RoutePathGetMessagesStateless = "/get-messages-stateless", e.RoutePathGetFollowsStateless = "/get-follows-stateless", e.RoutePathCreateFollowTxnStateless = "/create-follow-txn-stateless", e.RoutePathCreateLikeStateless = "/create-like-stateless", e.RoutePathBuyOrSellCreatorCoin = "/buy-or-sell-creator-coin-WVAzTWpGOFFnMlBvWXZhTFA4NjNSZGNW", e.RoutePathBuyOrSellCreatorCoinPreview = "/buy-or-sell-creator-coin-preview-WVAzTWpGOFFnMlBvWXZhTFA4NjNSZGNW", e.RoutePathUpdateUserGlobalMetadata = "/update-user-global-metadata", e.RoutePathGetUserGlobalMetadata = "/get-user-global-metadata", e.RoutePathGetNotifications = "/get-notifications", e.RoutePathGetAppState = "/get-app-state", e.RoutePathGetSinglePost = "/get-single-post", e.RoutePathSendPhoneNumberVerificationText = "/send-phone-number-verification-text", e.RoutePathSubmitPhoneNumberVerificationCode = "/submit-phone-number-verification-code", e.RoutePathBlockPublicKey = "/block-public-key", e.RoutePathGetBlockTemplate = "/get-block-template", e.RoutePathGetTxn = "/get-txn", e.RoutePathGetIdentities = "/get-identities", e.NodeControlRoute = "/admin/node-control", e.ReprocessBitcoinBlockRoute = "/admin/reprocess-bitcoin-block", e.RoutePathSwapIdentity = "/admin/swap-identity", e.RoutePathAdminUpdateUserGlobalMetadata = "/admin/update-user-global-metadata", e.RoutePathAdminGetAllUserGlobalMetadata = "/admin/get-all-user-global-metadata", e.RoutePathAdminGetUserGlobalMetadata = "/admin/get-user-global-metadata", e.RoutePathAdminUpdateGlobalFeed = "/admin/update-global-feed", e.RoutePathAdminPinPost = "/admin/pin-post", e.RoutePathAdminRemoveNilPosts = "/admin/remove-nil-posts", e.RoutePathAdminGetMempoolStats = "/admin/get-mempool-stats", e.RoutePathAdminGrantVerificationBadge = "/admin/grant-verification-badge", e.RoutePathAdminRemoveVerificationBadge = "/admin/remove-verification-badge", e.RoutePathAdminGetVerifiedUsers = "/admin/get-verified-users", e.RoutePathAdminGetUsernameVerificationAuditLogs = "/admin/get-username-verification-audit-logs", e.RoutePathUpdateBitcoinUSDExchangeRate = "/admin/update-bitcoin-usd-exchange-rate", e.RoutePathUpdateGlobalParams = "/admin/update-global-params", e.RoutePathGetGlobalParams = "/admin/get-global-params", e
+                    return e.ExchangeRateRoute = "/get-exchange-rate", e.BurnBitcoinRoute = "/burn-bitcoin", e.SendBitCloutRoute = "/send-bitclout", e.MinerControlRoute = "/miner-control", e.GetUsersStatelessRoute = "/get-users-stateless", e.RoutePathSubmitPost = "/submit-post", e.RoutePathSubmitTransaction = "/submit-transaction", e.RoutePathUpdateProfile = "/update-profile", e.RoutePathGetPostsStateless = "/get-posts-stateless", e.RoutePathGetProfiles = "/get-profiles", e.RoutePathGetSingleProfile = "/get-single-profile", e.RoutePathGetPostsForPublicKey = "/get-posts-for-public-key", e.RoutePathGetHodlersForPublicKey = "/get-hodlers-for-public-key", e.RoutePathSendMessageStateless = "/send-message-stateless", e.RoutePathGetMessagesStateless = "/get-messages-stateless", e.RoutePathGetFollowsStateless = "/get-follows-stateless", e.RoutePathCreateFollowTxnStateless = "/create-follow-txn-stateless", e.RoutePathCreateLikeStateless = "/create-like-stateless", e.RoutePathBuyOrSellCreatorCoin = "/buy-or-sell-creator-coin-WVAzTWpGOFFnMlBvWXZhTFA4NjNSZGNW", e.RoutePathBuyOrSellCreatorCoinPreview = "/buy-or-sell-creator-coin-preview-WVAzTWpGOFFnMlBvWXZhTFA4NjNSZGNW", e.RoutePathUpdateUserGlobalMetadata = "/update-user-global-metadata", e.RoutePathGetUserGlobalMetadata = "/get-user-global-metadata", e.RoutePathGetNotifications = "/get-notifications", e.RoutePathGetAppState = "/get-app-state", e.RoutePathGetSinglePost = "/get-single-post", e.RoutePathSendPhoneNumberVerificationText = "/send-phone-number-verification-text", e.RoutePathSubmitPhoneNumberVerificationCode = "/submit-phone-number-verification-code", e.RoutePathBlockPublicKey = "/block-public-key", e.RoutePathGetBlockTemplate = "/get-block-template", e.RoutePathGetTxn = "/get-txn", e.RoutePathGetIdentities = "/get-identities", e.RoutePathDeleteIdentities = "/delete-identities", e.NodeControlRoute = "/admin/node-control", e.ReprocessBitcoinBlockRoute = "/admin/reprocess-bitcoin-block", e.RoutePathSwapIdentity = "/admin/swap-identity", e.RoutePathAdminUpdateUserGlobalMetadata = "/admin/update-user-global-metadata", e.RoutePathAdminGetAllUserGlobalMetadata = "/admin/get-all-user-global-metadata", e.RoutePathAdminGetUserGlobalMetadata = "/admin/get-user-global-metadata", e.RoutePathAdminUpdateGlobalFeed = "/admin/update-global-feed", e.RoutePathAdminPinPost = "/admin/pin-post", e.RoutePathAdminRemoveNilPosts = "/admin/remove-nil-posts", e.RoutePathAdminGetMempoolStats = "/admin/get-mempool-stats", e.RoutePathAdminGrantVerificationBadge = "/admin/grant-verification-badge", e.RoutePathAdminRemoveVerificationBadge = "/admin/remove-verification-badge", e.RoutePathAdminGetVerifiedUsers = "/admin/get-verified-users", e.RoutePathAdminGetUsernameVerificationAuditLogs = "/admin/get-username-verification-audit-logs", e.RoutePathUpdateBitcoinUSDExchangeRate = "/admin/update-bitcoin-usd-exchange-rate", e.RoutePathUpdateGlobalParams = "/admin/update-global-params", e.RoutePathGetGlobalParams = "/admin/get-global-params", e
                 })(),
                 bE = (() => {
                     class e {
@@ -49278,6 +49278,9 @@
                         SetStorage(e, t) {
                             localStorage.setItem(e, t ? JSON.stringify(t) : "")
                         }
+                        RemoveStorage(e) {
+                            localStorage.removeItem(e)
+                        }
                         GetStorage(e) {
                             const t = localStorage.getItem(e);
                             return "" !== t && null != t && "null" !== t ? JSON.parse(t) : null
@@ -49315,7 +49318,7 @@
                             return this.get(e, mE.ExchangeRateRoute)
                         }
                         GetBitcoinFeeRateSatoshisPerKB() {
-                            return this.httpClient.get("https://bitcoinfees.earn.com/api/v1/fees/recommended").pipe(tC(this._handleError))
+                            return this.httpClient.get("https://api.blockchain.info/mempool/fees").pipe(tC(this._handleError))
                         }
                         SendPhoneNumberVerificationText(e, t, n, o) {
                             return this.post(e, mE.RoutePathSendPhoneNumberVerificationText, {
@@ -49347,6 +49350,11 @@
                                 withCredentials: !0
                             }).pipe(tC(this._handleError))
                         }
+                        DeleteIdentities(e) {
+                            return this.httpClient.post(this._makeRequestURL(e, mE.RoutePathDeleteIdentities), {}, {
+                                withCredentials: !0
+                            }).pipe(tC(this._handleError))
+                        }
                         BurnBitcoin(e, t, n, o, r, i, s) {
                             let a = this.post(e, mE.BurnBitcoinRoute, {
                                 PublicKeyBase58Check: o,
@@ -49483,6 +49491,31 @@
                                 AddGlobalFeedBool: c
                             })
                         }
+                        GetSingleProfile(e, t, n) {
+                            return this.post(e, mE.RoutePathGetSingleProfile, {
+                                PublicKeyBase58Check: t,
+                                Username: n
+                            })
+                        }
+                        GetPostsForPublicKey(e, t, n, o, r, i) {
+                            return this.post(e, mE.RoutePathGetPostsForPublicKey, {
+                                PublicKeyBase58Check: t,
+                                Username: n,
+                                ReaderPublicKeyBase58Check: o,
+                                LastPostHashHex: r,
+                                NumToFetch: i
+                            })
+                        }
+                        GetHodlersForPublicKey(e, t, n, o, r, i = !1, s = !1) {
+                            return this.post(e, mE.RoutePathGetHodlersForPublicKey, {
+                                PublicKeyBase58Check: t,
+                                Username: n,
+                                LastPublicKeyBase58Check: o,
+                                NumToFetch: r,
+                                FetchHodlings: i,
+                                FetchAll: s
+                            })
+                        }
                         UpdateProfile(e, t, n, o, r, i, s, a, l, u) {
                             s = Math.floor(s), a = Math.floor(a);
                             const c = this.post(e, mE.RoutePathUpdateProfile, {
@@ -49561,7 +49594,7 @@
                             return c && (d = this.signAndSubmitTransaction(e, d, t)), d
                         }
                         BlockPublicKey(e, t, n, o = !1) {
-                            return this.post(e, mE.RoutePathBlockPublicKey, {
+                            return this.jwtPost(e, mE.RoutePathBlockPublicKey, t, {
                                 PublicKeyBase58Check: t,
                                 BlockPublicKeyBase58Check: n,
                                 Unblock: o
@@ -49613,7 +49646,7 @@
                         AdminRemoveVerificationBadge(e, t, n) {
                             return this.jwtPost(e, mE.RoutePathAdminRemoveVerificationBadge, t, {
                                 AdminPublicKey: t,
-                                UsernameToRemove: n
+                                UsernameForWhomToRemoveVerification: n
                             })
                         }
                         NodeControl(e, t, n, o) {
@@ -49713,7 +49746,9 @@
                             return this.signAndSubmitTransaction(e, s, t)
                         }
                         GetGlobalParams(e, t) {
-                            return this.jwtPost(e, mE.RoutePathGetGlobalParams, t, {})
+                            return this.jwtPost(e, mE.RoutePathGetGlobalParams, t, {
+                                AdminPublicKey: t
+                            })
                         }
                         stringifyError(e) {
                             return e && e.error && e.error.error ? e.error.error : JSON.stringify(e)
@@ -49873,7 +49908,7 @@
                 xE = (() => {
                     class e {
                         constructor(e, t, n, o) {
-                            this.backendApi = e, this.sanitizer = t, this.identityService = n, this.router = o, this.loadingInitialAppState = !0, this.requestingStorageAccess = !1, this.importingIdentities = !1, this.RouteNames = QA, this.pausePolling = !1, this.pauseMessageUpdates = !1, this.bitcloutToUSDExchangeRateToDisplay = "Fetching...", this.messageNotificationCount = 0, this.showProcessingSpinners = !1, this.rightBarLeaderboard = [], this.feeRateBitCloutPerKB = 0, this.postsToShow = [], this.messageResponse = null, this.messageMeta = {
+                            this.backendApi = e, this.sanitizer = t, this.identityService = n, this.router = o, this.loadingInitialAppState = !0, this.requestingStorageAccess = !1, this.importingIdentities = !1, this.RouteNames = QA, this.pausePolling = !1, this.pauseMessageUpdates = !1, this.bitcloutToUSDExchangeRateToDisplay = "Fetching...", this.messageNotificationCount = 0, this.showProcessingSpinners = !1, this.rightBarLeaderboard = [], this.userList = [], this.feeRateBitCloutPerKB = 0, this.postsToShow = [], this.messageResponse = null, this.messageMeta = {
                                 decryptedMessgesMap: {},
                                 notificationMap: {}
                             }, this.filterType = "", this.youHodlMap = {}, this.hodlYouMap = {}, this.hasUnreadNotifications = !1, this.emailRegExp = /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/, this.isLeftBarMobileOpen = !1, this.loggedInUserObservers = [], this.followChangeObservers = [], this.localNode = null, this.isTestnet = !1, this.supportEmail = null, this.nanosToBitCloutMemo = {}, this.formatUSDMemo = {}, this.canvasCount = 0
@@ -54360,7 +54395,7 @@
                                 }, e => {
                                     clearInterval(this.repeatForXInterval), n(o)
                                 }), 750, 160, n, o)
-                            }, this.globalVars.Init(null, null, this.route), Object.defineProperty(document, "referrer", {
+                            }, this.globalVars.Init(null, [], this.route), Object.defineProperty(document, "referrer", {
                                 get: () => ""
                             }), Object.defineProperty(document, "referer", {
                                 get: () => ""
@@ -54398,7 +54433,7 @@
                             const o = this.backendApi.GetUsersStateless(this.globalVars.localNode, t);
                             return o.subscribe(e => {
                                 var t, o;
-                                this.problemWithNodeConnection = !1, this.callingUpdateTopLevelData = !1, CE.isEqual(this.globalVars.userList, e.UserList) || (this.globalVars.userList = e.UserList);
+                                this.problemWithNodeConnection = !1, this.callingUpdateTopLevelData = !1, CE.isEqual(this.globalVars.userList, e.UserList) || (this.globalVars.userList = e.UserList || []);
                                 const r = CE.find(e.UserList, {
                                     PublicKeyBase58Check: n
                                 });
@@ -54475,7 +54510,7 @@
                             })
                         }
                         loadApp() {
-                            this.identityService.identityServiceUsers = this.backendApi.GetStorage(this.backendApi.IdentityUsersKey) || {}, this.globalVars.updateEverything()
+                            this.identityService.identityServiceUsers = this.backendApi.GetStorage(this.backendApi.IdentityUsersKey) || {}, this.globalVars.updateEverything(), this.backendApi.DeleteIdentities(this.globalVars.localNode).subscribe(), this.backendApi.RemoveStorage(this.backendApi.LegacyUserListKey), this.backendApi.RemoveStorage(this.backendApi.LegacySeedListKey)
                         }
                         launchIdentityImportFlow() {
                             this.identityService.launch("/import", this.globalVars.isTestnet).subscribe(e => {
@@ -62394,47 +62429,127 @@
                 })();
 
             function LD(e, t) {
-                if (1 & e && (Hs(0, "div"), Hs(1, "div", 5), Gs(2, "feed-post", 6), zs(), zs()), 2 & e) {
-                    const e = t.$implicit,
-                        n = ta().$implicit,
-                        o = ta();
-                    si(2), Vs("includePaddingOnPost", !1)("post", e)("parentPost", n)("contentShouldLinkToThread", !0)("showIconRow", !1)("showDropdown", !1)("showReplyToContent", !1)("isSubcomment", !0)("afterCommentCallback", o._prependComment.bind(n))
-                }
+                1 & e && Gs(0, "simple-center-loader", 3), 2 & e && Vs("height", 200)
             }
 
             function FD(e, t) {
+                1 & e && (Hs(0, "span"), Aa(1, "Create your first post."), zs())
+            }
+
+            function UD(e, t) {
+                if (1 & e && (Hs(0, "span"), Aa(1), zs()), 2 & e) {
+                    const e = ta(2);
+                    si(1), ka("@", e.profile.Username, " is on the platform but hasn't posted yet.")
+                }
+            }
+
+            function VD(e, t) {
+                if (1 & e && (Hs(0, "div", 4), Hs(1, "div", 5), Ls(2, FD, 2, 0, "span", 6), Ls(3, UD, 2, 1, "ng-template", null, 7, Bu), zs(), zs()), 2 & e) {
+                    const e = Fs(4),
+                        t = ta();
+                    si(2), Vs("ngIf", t.profileBelongsToLoggedInUser())("ngIfElse", e)
+                }
+            }
+
+            function jD(e, t) {
                 if (1 & e) {
                     const e = Ws();
-                    Hs(0, "div", 1, 2), Hs(2, "feed-post", 3), Zs("userBlocked", function() {
-                        return $t(e), ta().userBlocked()
-                    }), zs(), Ls(3, LD, 3, 9, "div", 4), zs()
+                    Hs(0, "feed-post", 13), Zs("userBlocked", function() {
+                        return $t(e), ta(4).userBlocked()
+                    }), zs()
                 }
                 if (2 & e) {
+                    const e = ta().$implicit,
+                        t = ta(3);
+                    Vs("contentShouldLinkToThread", !0)("includePaddingOnPost", !0)("post", e)("afterCommentCreatedCallback", t._prependComment.bind(t, e))("blocked", t.globalVars.hasUserBlockedCreator(t.profile.PublicKeyBase58Check))
+                }
+            }
+
+            function HD(e, t) {
+                if (1 & e && (Hs(0, "div"), Hs(1, "div", 14), Gs(2, "feed-post", 15), zs(), zs()), 2 & e) {
                     const e = t.$implicit,
-                        n = ta();
-                    si(2), Vs("contentShouldLinkToThread", !0)("includePaddingOnPost", !0)("post", e)("afterCommentCreatedCallback", n._prependComment.bind(n, e))("blocked", n.globalVars.hasUserBlockedCreator(n.profile.PublicKeyBase58Check)), si(1), Vs("ngForOf", e.Comments)
+                        n = ta().$implicit,
+                        o = ta(3);
+                    si(2), Vs("includePaddingOnPost", !1)("post", e)("parentPost", n)("contentShouldLinkToThread", !0)("showIconRow", !1)("showDropdown", !1)("showReplyToContent", !1)("isSubcomment", !0)("afterCommentCallback", o._prependComment.bind(n))
+                }
+            }
+
+            function zD(e, t) {
+                if (1 & e && (Hs(0, "div", 9, 10), Ls(2, jD, 1, 5, "feed-post", 11), Ls(3, HD, 3, 9, "div", 12), zs()), 2 & e) {
+                    const e = t.$implicit;
+                    si(2), Vs("ngIf", e.ProfileEntryResponse), si(1), Vs("ngForOf", e.Comments)
+                }
+            }
+
+            function GD(e, t) {
+                1 & e && Gs(0, "simple-center-loader", 3), 2 & e && Vs("height", 200)
+            }
+
+            function KD(e, t) {
+                if (1 & e && (Hs(0, "div"), Ls(1, zD, 4, 2, "div", 8), Ls(2, GD, 1, 1, "simple-center-loader", 0), zs()), 2 & e) {
+                    const e = ta(2);
+                    si(1), Vs("uiScrollOf", e.datasource), si(1), Vs("ngIf", e.loadingNextPage && !e.loadingFirstPage)
+                }
+            }
+
+            function qD(e, t) {
+                if (1 & e && (Ks(0), Ls(1, KD, 3, 2, "div", 2), qs()), 2 & e) {
+                    const e = ta();
+                    si(1), Vs("ngIf", !e.globalVars.hasUserBlockedCreator(e.profile.PublicKeyBase58Check))
                 }
             }
-            let UD = (() => {
+            let WD = (() => {
                 class e {
                     constructor(e, t, n, o, r, i) {
-                        this.globalVars = e, this.backendApi = t, this.route = n, this.cdr = o, this.router = r, this.location = i, this.afterCommentCreatedCallback = null, this.blockUser = new yu, this.datasource = this.getDatasource()
+                        this.globalVars = e, this.backendApi = t, this.route = n, this.cdr = o, this.router = r, this.location = i, this.afterCommentCreatedCallback = null, this.datasource = this.getDatasource(), this.loadingFirstPage = !0, this.loadingNextPage = !1, this.pagedKeys = {
+                            0: ""
+                        }, this.pagedRequests = {
+                            "-1": new Promise(e => {
+                                e([])
+                            })
+                        }, this.lastPage = null, this.blockUser = new yu
                     }
                     getDatasource() {
                         return new fO({
-                            get: (e, t, n) => {
-                                const o = Math.max(e, 0),
-                                    r = e + t - 1;
-                                n(o > r || o > this.profile.Posts.length ? [] : this.profile.Posts.slice(o, r + 1))
+                            get: (t, n, o) => {
+                                const r = Math.max(t, 0),
+                                    i = t + n - 1;
+                                if (r > i) return void o([]);
+                                const s = Math.floor(r / e.PAGE_SIZE),
+                                    a = Math.floor(i / e.PAGE_SIZE),
+                                    l = [];
+                                for (let e = s; e <= a; e++) {
+                                    const t = this.pagedRequests[e];
+                                    if (t) l.push(t);
+                                    else {
+                                        const t = this.pagedRequests[e - 1].then(t => this.getPage(e));
+                                        this.pagedRequests[e] = t, l.push(t)
+                                    }
+                                }
+                                return Promise.all(l).then(t => {
+                                    t = t.reduce((e, t) => [...e, ...t], []);
+                                    const n = r - s * e.PAGE_SIZE;
+                                    return t.slice(n, n + i - r + 1)
+                                })
                             },
                             settings: {
                                 startIndex: 0,
                                 minIndex: 0,
                                 bufferSize: 5,
+                                padding: .25,
                                 windowViewport: !0
                             }
                         })
                     }
+                    getPage(t) {
+                        var n;
+                        return null != this.lastPage && t > this.lastPage ? [] : (this.loadingNextPage = !0, this.backendApi.GetPostsForPublicKey(this.globalVars.localNode, "", this.profile.Username, null === (n = this.globalVars.loggedInUser) || void 0 === n ? void 0 : n.PublicKeyBase58Check, this.pagedKeys[t], e.PAGE_SIZE).toPromise().then(n => {
+                            const o = n.Posts;
+                            return this.pagedKeys[t + 1] = n.LastPostHashHex || "", (!o || o.length < e.PAGE_SIZE || "" === this.pagedKeys[t + 1]) && (this.lastPage = t), o.map(e => e.ProfileEntryResponse = this.profile), o
+                        }).finally(() => {
+                            this.loadingFirstPage = !1, this.loadingNextPage = !1
+                        }))
+                    }
                     _prependComment(e, t) {
                         return cA(this, void 0, void 0, function*() {
                             yield this.datasource.adapter.relax(), yield this.datasource.adapter.update({
@@ -62450,9 +62565,12 @@
                     userBlocked() {
                         this.blockUser.emit()
                     }
+                    profileBelongsToLoggedInUser() {
+                        return !(!this.globalVars.loggedInUser || !this.globalVars.loggedInUser.ProfileEntryResponse) && this.globalVars.loggedInUser.ProfileEntryResponse.Username === this.profile.Username
+                    }
                     ngOnInit() {}
                 }
-                return e.\u0275fac = function(t) {
+                return e.PAGE_SIZE = 10, e.\u0275fac = function(t) {
                     return new(t || e)(Us(xE), Us(bE), Us(SS), Us(kl), Us(jx), Us(Jc))
                 }, e.\u0275cmp = Le({
                     type: e,
@@ -62461,96 +62579,151 @@
                     ],
                     inputs: {
                         profile: "profile",
-                        afterCommentCreatedCallback: "afterCommentCreatedCallback"
+                        afterCommentCreatedCallback: "afterCommentCreatedCallback",
+                        showProfileAsReserved: "showProfileAsReserved"
                     },
                     outputs: {
                         blockUser: "blockUser"
                     },
-                    decls: 1,
-                    vars: 1,
+                    decls: 3,
+                    vars: 3,
                     consts: [
+                        [3, "height", 4, "ngIf"],
+                        ["class", "p-15px", 4, "ngIf"],
+                        [4, "ngIf"],
+                        [3, "height"],
+                        [1, "p-15px"],
+                        [1, "background-color-grey", "p-35px", "br-12px", "d-flex", "flex-row", "align-items-center", 2, "text-align", "center"],
+                        [4, "ngIf", "ngIfElse"],
+                        ["elseMissingPostBlock", ""],
                         ["class", "border-bottom border-color-grey", 4, "uiScroll", "uiScrollOf"],
                         [1, "border-bottom", "border-color-grey"],
                         ["uiScroll", ""],
-                        [3, "contentShouldLinkToThread", "includePaddingOnPost", "post", "afterCommentCreatedCallback", "blocked", "userBlocked"],
+                        [3, "contentShouldLinkToThread", "includePaddingOnPost", "post", "afterCommentCreatedCallback", "blocked", "userBlocked", 4, "ngIf"],
                         [4, "ngFor", "ngForOf"],
+                        [3, "contentShouldLinkToThread", "includePaddingOnPost", "post", "afterCommentCreatedCallback", "blocked", "userBlocked"],
                         [1, "px-15px", "pb-15px", "post-thread__subcomment-container"],
                         [3, "includePaddingOnPost", "post", "parentPost", "contentShouldLinkToThread", "showIconRow", "showDropdown", "showReplyToContent", "isSubcomment", "afterCommentCallback"]
                     ],
                     template: function(e, t) {
-                        1 & e && Ls(0, FD, 4, 6, "div", 0), 2 & e && Vs("uiScrollOf", t.datasource)
+                        1 & e && (Ls(0, LD, 1, 1, "simple-center-loader", 0), Ls(1, VD, 5, 2, "div", 1), Ls(2, qD, 2, 1, "ng-container", 2)), 2 & e && (Vs("ngIf", t.loadingFirstPage && t.datasource.adapter.isLoading), si(1), Vs("ngIf", !t.showProfileAsReserved && !t.loadingFirstPage && !t.datasource.adapter.isLoading && 0 === t.datasource.adapter.itemsCount), si(1), Vs("ngIf", !t.showProfileAsReserved))
                     },
-                    directives: [cO, WM, vd],
+                    directives: [wd, oI, cO, vd, WM],
                     styles: [""]
                 }), e
             })();
+            const YD = function(e, t) {
+                return [e, t, "buy"]
+            };
 
-            function VD(e, t) {
-                if (1 & e && (Hs(0, "div", 9), Gs(1, "div", 10), Aa(2), zs()), 2 & e) {
-                    const e = ta().$implicit,
+            function QD(e, t) {
+                if (1 & e && (Hs(0, "div", 4), Hs(1, "div", 5), Aa(2), Hs(3, "a", 6), Aa(4, " Be the first!"), zs(), zs(), zs()), 2 & e) {
+                    const e = ta();
+                    si(2), ka(" No one owns $", e.profile.Username, " coin yet.\xa0 "), si(1), Vs("routerLink", su(2, YD, "/" + e.globalVars.RouteNames.USER_PREFIX, e.profile.Username))
+                }
+            }
+
+            function XD(e, t) {
+                1 & e && Gs(0, "simple-center-loader")
+            }
+
+            function ZD(e, t) {
+                if (1 & e && (Hs(0, "div", 15), Gs(1, "div", 16), Aa(2), zs()), 2 & e) {
+                    const e = ta(2).$implicit,
                         t = ta();
                     si(2), ka(" ", t.globalVars.truncate(e.HODLerPublicKeyBase58Check, 15), " ")
                 }
             }
-            const jD = function(e, t) {
+            const JD = function(e, t) {
                 return [e, t]
             };
 
-            function HD(e, t) {
-                if (1 & e && (Hs(0, "a", 11), Gs(1, "div", 12), Aa(2), zs()), 2 & e) {
-                    const e = ta().$implicit,
+            function eB(e, t) {
+                if (1 & e && (Hs(0, "a", 17), Gs(1, "div", 18), Aa(2), zs()), 2 & e) {
+                    const e = ta(2).$implicit,
                         t = ta();
-                    Vs("routerLink", su(4, jD, "/" + t.globalVars.RouteNames.USER_PREFIX, e.ProfileEntryResponse.Username)), si(1), fa("background-image", "url(" + e.ProfileEntryResponse.ProfilePic + ")"), si(1), ka(" ", t.globalVars.truncate(e.ProfileEntryResponse.Username, 15), " ")
+                    Vs("routerLink", su(4, JD, "/" + t.globalVars.RouteNames.USER_PREFIX, e.ProfileEntryResponse.Username)), si(1), fa("background-image", "url(" + e.ProfileEntryResponse.ProfilePic + ")"), si(1), ka(" ", t.globalVars.truncate(e.ProfileEntryResponse.Username, 15), " ")
                 }
             }
 
-            function zD(e, t) {
-                if (1 & e && (Hs(0, "div", 3, 4), Hs(2, "div", 5), Ls(3, VD, 3, 1, "div", 6), Ls(4, HD, 3, 7, "a", 7), zs(), Hs(5, "div", 8), Aa(6), zs(), Hs(7, "div", 8), Aa(8), zs(), zs()), 2 & e) {
-                    const e = t.$implicit,
-                        n = ta();
-                    si(3), Vs("ngIf", !e.ProfileEntryResponse), si(1), Vs("ngIf", e.ProfileEntryResponse), si(2), ka(" ", (e.BalanceNanos / 1e9).toFixed(4), " "), si(2), ka(" \u2248 ", n.globalVars.creatorCoinNanosToUSDNaive(e.BalanceNanos, n.profile.CoinPriceBitCloutNanos, !0), " ")
+            function tB(e, t) {
+                if (1 & e && (Hs(0, "div", 10), Hs(1, "div", 11), Ls(2, ZD, 3, 1, "div", 12), Ls(3, eB, 3, 7, "a", 13), zs(), Hs(4, "div", 14), Aa(5), zs(), Hs(6, "div", 14), Aa(7), zs(), zs()), 2 & e) {
+                    const e = ta().$implicit,
+                        t = ta();
+                    si(2), Vs("ngIf", !e.ProfileEntryResponse), si(1), Vs("ngIf", e.ProfileEntryResponse), si(2), ka(" ", (e.BalanceNanos / 1e9).toFixed(4), " "), si(2), ka(" \u2248 ", t.globalVars.creatorCoinNanosToUSDNaive(e.BalanceNanos, t.profile.CoinPriceBitCloutNanos, !0), " ")
                 }
             }
-            const GD = function(e, t) {
-                return [e, t, "buy"]
-            };
 
-            function KD(e, t) {
-                if (1 & e && (Hs(0, "div", 13), Hs(1, "div", 14), Aa(2), Hs(3, "a", 15), Aa(4, " Be the first!"), zs(), zs(), zs()), 2 & e) {
-                    const e = ta();
-                    si(2), ka(" No one owns $", e.profile.Username, " coin yet.\xa0 "), si(1), Vs("routerLink", su(2, GD, "/" + e.globalVars.RouteNames.USER_PREFIX, e.profile.Username))
+            function nB(e, t) {
+                if (1 & e && (Hs(0, "div", 19), Hs(1, "div", 20), Aa(2, " Total "), zs(), Hs(3, "div", 21), Aa(4), zs(), Hs(5, "div", 21), Aa(6), zs(), zs()), 2 & e) {
+                    const e = ta(2);
+                    si(4), ka(" ", (e.profile.CoinEntry.CoinsInCirculationNanos / 1e9).toFixed(4), " "), si(2), ka(" \u2248 ", e.globalVars.creatorCoinNanosToUSDNaive(e.profile.CoinEntry.CoinsInCirculationNanos, e.profile.CoinPriceBitCloutNanos, !0), " ")
                 }
             }
 
-            function qD(e, t) {
-                if (1 & e && (Hs(0, "div", 16), Hs(1, "div", 17), Aa(2, " Total "), zs(), Hs(3, "div", 18), Aa(4), zs(), Hs(5, "div", 18), Aa(6), zs(), zs()), 2 & e) {
-                    const e = ta();
-                    si(4), ka(" ", (e.profile.CoinEntry.CoinsInCirculationNanos / 1e9).toFixed(4), " "), si(2), ka(" \u2248 ", e.globalVars.creatorCoinNanosToUSDNaive(e.profile.CoinEntry.CoinsInCirculationNanos, e.profile.CoinPriceBitCloutNanos, !0), " ")
+            function oB(e, t) {
+                if (1 & e && (Hs(0, "div", null, 7), Ls(2, tB, 8, 4, "div", 8), Ls(3, nB, 7, 2, "div", 9), zs()), 2 & e) {
+                    const e = t.$implicit;
+                    si(2), Vs("ngIf", !e.totalRow), si(1), Vs("ngIf", e.totalRow)
                 }
             }
-            let WD = (() => {
+
+            function rB(e, t) {
+                1 & e && Gs(0, "simple-center-loader", 22), 2 & e && Vs("height", 200)
+            }
+            let iB = (() => {
                 class e {
                     constructor(e, t, n, o, r, i) {
-                        this.globalVars = e, this.backendApi = t, this.route = n, this.cdr = o, this.router = r, this.location = i, this.showTotal = !1, this.datasource = this.getDatasource()
+                        this.globalVars = e, this.backendApi = t, this.route = n, this.cdr = o, this.router = r, this.location = i, this.showTotal = !1, this.loadingFirstPage = !0, this.loadingNextPage = !1, this.pagedKeys = {
+                            0: ""
+                        }, this.pagedRequests = {
+                            "-1": new Promise(e => {
+                                e([])
+                            })
+                        }, this.lastPage = null, this.datasource = this.getDatasource()
                     }
                     getDatasource() {
                         return new fO({
-                            get: (e, t, n) => {
-                                const o = Math.max(e, 0),
-                                    r = e + t - 1;
-                                return o > r || o > this.profile.UsersThatHODL.length ? (this.showTotal = !0, void n([])) : (r + 1 > this.profile.UsersThatHODL.length && (this.showTotal = !0), void n(this.profile.UsersThatHODL.slice(o, r + 1)))
+                            get: (t, n, o) => {
+                                const r = Math.max(t, 0),
+                                    i = t + n - 1;
+                                if (r > i) return void o([]);
+                                const s = Math.floor(r / e.PAGE_SIZE),
+                                    a = Math.floor(i / e.PAGE_SIZE),
+                                    l = [];
+                                for (let e = s; e <= a; e++) {
+                                    const t = this.pagedRequests[e];
+                                    if (t) l.push(t);
+                                    else {
+                                        const t = this.pagedRequests[e - 1].then(t => this.getPage(e));
+                                        this.pagedRequests[e] = t, l.push(t)
+                                    }
+                                }
+                                return Promise.all(l).then(t => {
+                                    t = t.reduce((e, t) => [...e, ...t], []);
+                                    const n = r - s * e.PAGE_SIZE;
+                                    return t.slice(n, n + i - r + 1)
+                                })
                             },
                             settings: {
                                 startIndex: 0,
                                 minIndex: 0,
-                                bufferSize: 25,
+                                padding: .5,
                                 windowViewport: !0
                             }
                         })
                     }
+                    getPage(t) {
+                        return null != this.lastPage && t > this.lastPage ? [] : (this.loadingNextPage = !0, this.backendApi.GetHodlersForPublicKey(this.globalVars.localNode, "", this.profile.Username, this.pagedKeys[t], e.PAGE_SIZE, !1, !1).toPromise().then(n => {
+                            const o = n.Hodlers;
+                            return this.pagedKeys[t + 1] = n.LastPublicKeyBase58Check || "", console.log(this.pagedKeys), (o.length < e.PAGE_SIZE || "" === this.pagedKeys[t + 1]) && (this.lastPage = t, this.showTotal = !0, (t > 0 || 0 === t && 0 !== o.length) && o.push({
+                                totalRow: !0
+                            })), this.loadingNextPage = !1, this.loadingFirstPage = !1, o
+                        }))
+                    }
                     ngOnInit() {}
                 }
-                return e.\u0275fac = function(t) {
+                return e.PAGE_SIZE = 100, e.\u0275fac = function(t) {
                     return new(t || e)(Us(xE), Us(bE), Us(SS), Us(kl), Us(jx), Us(Jc))
                 }, e.\u0275cmp = Le({
                     type: e,
@@ -62560,14 +62733,20 @@
                     inputs: {
                         profile: "profile"
                     },
-                    decls: 3,
-                    vars: 3,
+                    decls: 4,
+                    vars: 4,
                     consts: [
-                        ["class", "row no-gutters p-10px border-bottom mb-0", 4, "uiScroll", "uiScrollOf"],
                         ["class", "row no-gutters pt-10px", 4, "ngIf"],
+                        [4, "ngIf"],
+                        [4, "uiScroll", "uiScrollOf"],
+                        [3, "height", 4, "ngIf"],
+                        [1, "row", "no-gutters", "pt-10px"],
+                        [1, "d-flex", "align-items-center", 2, "margin-bottom", "0"],
+                        [3, "routerLink"],
+                        ["uiScroll", ""],
+                        ["class", "row no-gutters p-10px border-bottom mb-0", 4, "ngIf"],
                         ["class", "row no-gutters font-weight-bold", 4, "ngIf"],
                         [1, "row", "no-gutters", "p-10px", "border-bottom", "mb-0"],
-                        ["uiScroll", ""],
                         [1, "col-6", "d-flex", "align-items-center", "mb-0"],
                         ["class", "d-flex align-items-center", 4, "ngIf"],
                         ["class", "d-flex align-items-center link--unstyled", 3, "routerLink", 4, "ngIf"],
@@ -62576,30 +62755,28 @@
                         [1, "creator-profile-details__hodler-avatar", "mr-10px", 2, "background-image", "url('default_profile_pic.png')"],
                         [1, "d-flex", "align-items-center", "link--unstyled", 3, "routerLink"],
                         [1, "creator-profile-details__hodler-avatar", "mr-10px"],
-                        [1, "row", "no-gutters", "pt-10px"],
-                        [1, "col-9", "d-flex", "align-items-center", 2, "margin-bottom", "0"],
-                        [3, "routerLink"],
                         [1, "row", "no-gutters", "font-weight-bold"],
                         [1, "col-6", "py-15px", "mb-0"],
-                        [1, "col-3", "py-15px", "mb-0"]
+                        [1, "col-3", "py-15px", "mb-0"],
+                        [3, "height"]
                     ],
                     template: function(e, t) {
-                        1 & e && (Ls(0, zD, 9, 4, "div", 0), Ls(1, KD, 5, 5, "div", 1), Ls(2, qD, 7, 2, "div", 2)), 2 & e && (Vs("uiScrollOf", t.datasource), si(1), Vs("ngIf", 0 === t.profile.UsersThatHODL.length), si(1), Vs("ngIf", t.showTotal))
+                        1 & e && (Ls(0, QD, 5, 5, "div", 0), Ls(1, XD, 1, 0, "simple-center-loader", 1), Ls(2, oB, 4, 2, "div", 2), Ls(3, rB, 1, 1, "simple-center-loader", 3)), 2 & e && (Vs("ngIf", !t.datasource.adapter.isLoading && 0 === t.datasource.adapter.itemsCount), si(1), Vs("ngIf", t.datasource.adapter.isLoading && t.loadingFirstPage), si(1), Vs("uiScrollOf", t.datasource), si(1), Vs("ngIf", !t.loadingFirstPage && t.loadingNextPage))
                     },
-                    directives: [cO, wd, zx],
+                    directives: [wd, cO, zx, oI],
                     styles: [""]
                 }), e
             })();
 
-            function YD(e, t) {
+            function sB(e, t) {
                 1 & e && Gs(0, "simple-center-loader")
             }
 
-            function QD(e, t) {
+            function aB(e, t) {
                 1 & e && Gs(0, "not-found")
             }
 
-            function XD(e, t) {
+            function lB(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "creator-profile-top-card", 9), Zs("userUnblocked", function() {
@@ -62611,115 +62788,82 @@
                 2 & e && Vs("profile", ta(2).profile)
             }
 
-            function ZD(e, t) {
+            function uB(e, t) {
                 1 & e && (Hs(0, "a", 24), Aa(1, " Tweet your BitClout public key and tag #bitclout. "), zs()), 2 & e && ia("href", ta(3).tweetToClaimLink(), ar)
             }
 
-            function JD(e, t) {
+            function cB(e, t) {
                 1 & e && Aa(0, "Tweet your BitClout public key and add #bitclout.")
             }
-            const eB = function(e) {
+            const dB = function(e) {
                 return {
                     "text-decoration": e
                 }
             };
 
-            function tB(e, t) {
-                if (1 & e && (Hs(0, "div", 10), Hs(1, "div", 11), Gs(2, "i", 12), Hs(3, "div", 13), Hs(4, "p", 14), Aa(5, "This profile is reserved"), zs(), Hs(6, "p", 15), Aa(7), zs(), zs(), zs(), Hs(8, "div", 16), Hs(9, "div"), Hs(10, "p", 17), Aa(11), zs(), Hs(12, "ol"), Hs(13, "li", 18), Hs(14, "p", 19), Hs(15, "a", 20), Aa(16, "Create a brand new BitClout public key."), zs(), zs(), zs(), Hs(17, "li", 18), Hs(18, "p", 19), Ls(19, ZD, 2, 1, "a", 21), Ls(20, JD, 1, 0, "ng-template", null, 22, Bu), Hs(22, "span", 23), Aa(23, " Note: The public key you tweet will be swapped with the public key currently associated with this profile. This will also swap all creator coin holdings. Please make sure that the public key you tweet does not have any creator coins, if you do not want them to be lost. "), zs(), zs(), zs(), Hs(24, "li", 18), Hs(25, "p", 19), Aa(26, "Your username will be transferred within 48 hours."), zs(), zs(), zs(), zs(), zs(), zs()), 2 & e) {
+            function hB(e, t) {
+                if (1 & e && (Hs(0, "div", 10), Hs(1, "div", 11), Gs(2, "i", 12), Hs(3, "div", 13), Hs(4, "p", 14), Aa(5, "This profile is reserved"), zs(), Hs(6, "p", 15), Aa(7), zs(), zs(), zs(), Hs(8, "div", 16), Hs(9, "div"), Hs(10, "p", 17), Aa(11), zs(), Hs(12, "ol"), Hs(13, "li", 18), Hs(14, "p", 19), Hs(15, "a", 20), Aa(16, "Create a brand new BitClout public key."), zs(), zs(), zs(), Hs(17, "li", 18), Hs(18, "p", 19), Ls(19, uB, 2, 1, "a", 21), Ls(20, cB, 1, 0, "ng-template", null, 22, Bu), Hs(22, "span", 23), Aa(23, " Note: The public key you tweet will be swapped with the public key currently associated with this profile. This will also swap all creator coin holdings. Please make sure that the public key you tweet does not have any creator coins, if you do not want them to be lost. "), zs(), zs(), zs(), Hs(24, "li", 18), Hs(25, "p", 19), Aa(26, "Your username will be transferred within 48 hours."), zs(), zs(), zs(), zs(), zs(), zs()), 2 & e) {
                     const e = Fs(21),
                         t = ta(2);
-                    si(7), ka("@", t.profile.Username, " has not joined Bitclout yet."), si(4), ka("Are you @", t.profile.Username, " on Twitter? To claim this profile:"), si(4), Vs("routerLink", "/" + t.globalVars.RouteNames.SIGN_UP)("ngStyle", iu(6, eB, t.isPubKeyBalanceless() ? "line-through" : "none")), si(4), Vs("ngIf", t.isPubKeyBalanceless())("ngIfElse", e)
-                }
-            }
-
-            function nB(e, t) {
-                1 & e && (Hs(0, "span"), Aa(1, "Create your first post."), zs())
-            }
-
-            function oB(e, t) {
-                if (1 & e && (Hs(0, "span"), Aa(1), zs()), 2 & e) {
-                    const e = ta(4);
-                    si(1), ka("@", e.profile.Username, " is on the platform but hasn't posted yet.")
-                }
-            }
-
-            function rB(e, t) {
-                if (1 & e && (Hs(0, "div", 10), Hs(1, "div", 26), Ls(2, nB, 2, 0, "span", 27), Ls(3, oB, 2, 1, "ng-template", null, 28, Bu), zs(), zs()), 2 & e) {
-                    const e = Fs(4),
-                        t = ta(3);
-                    si(2), Vs("ngIf", t.profileBelongsToLoggedInUser())("ngIfElse", e)
+                    si(7), ka("@", t.profile.Username, " has not joined Bitclout yet."), si(4), ka("Are you @", t.profile.Username, " on Twitter? To claim this profile:"), si(4), Vs("routerLink", "/" + t.globalVars.RouteNames.SIGN_UP)("ngStyle", iu(6, dB, t.isPubKeyBalanceless() ? "line-through" : "none")), si(4), Vs("ngIf", t.isPubKeyBalanceless())("ngIfElse", e)
                 }
             }
 
-            function iB(e, t) {
+            function pB(e, t) {
                 if (1 & e) {
                     const e = Ws();
-                    Hs(0, "div"), Hs(1, "creator-profile-posts", 30), Zs("blockUser", function() {
-                        return $t(e), ta(4).userBlocked()
-                    }), zs(), zs()
+                    Hs(0, "div", 28), Hs(1, "span"), Aa(2), Hs(3, "a", 29), Zs("click", function() {
+                        return $t(e), ta(3).unblock()
+                    }), Aa(4, " Unblock"), zs(), Aa(5, " to see their posts."), zs(), zs()
                 }
                 if (2 & e) {
-                    const e = ta(4);
-                    si(1), Vs("profile", e.profile)
+                    const e = ta(3);
+                    si(2), ka("You have blocked ", e.profile.Username, ". ")
                 }
             }
 
-            function sB(e, t) {
+            function fB(e, t) {
                 if (1 & e) {
                     const e = Ws();
-                    Hs(0, "div", 31), Hs(1, "span"), Aa(2), Hs(3, "a", 32), Zs("click", function() {
-                        return $t(e), ta(4).unblock()
-                    }), Aa(4, " Unblock"), zs(), Aa(5, " to see their posts."), zs(), zs()
+                    Hs(0, "div", 25), Hs(1, "creator-profile-posts", 26), Zs("blockUser", function() {
+                        return $t(e), ta(2).userBlocked()
+                    }), zs(), Ls(2, pB, 6, 1, "div", 27), zs()
                 }
                 if (2 & e) {
-                    const e = ta(4);
-                    si(2), ka("You have blocked ", e.profile.Username, ". ")
-                }
-            }
-
-            function aB(e, t) {
-                if (1 & e && (Ks(0), Ls(1, iB, 2, 1, "div", 0), Ls(2, sB, 6, 1, "div", 29), qs()), 2 & e) {
-                    const e = ta(3);
-                    si(1), Vs("ngIf", !e.globalVars.hasUserBlockedCreator(e.profile.PublicKeyBase58Check)), si(1), Vs("ngIf", e.globalVars.hasUserBlockedCreator(e.profile.PublicKeyBase58Check))
-                }
-            }
-
-            function lB(e, t) {
-                if (1 & e && (Hs(0, "div", 25), Ls(1, rB, 5, 2, "div", 6), Ls(2, aB, 3, 2, "ng-container", 0), zs()), 2 & e) {
                     const e = ta(2);
-                    si(1), Vs("ngIf", !(e.showProfileAsReserved() || e.profile.Posts && 0 !== e.profile.Posts.length)), si(1), Vs("ngIf", !e.showProfileAsReserved() && e.profile.Posts && e.profile.Posts.length > 0)
+                    si(1), Vs("profile", e.profile)("showProfileAsReserved", e.showProfileAsReserved()), si(1), Vs("ngIf", e.globalVars.hasUserBlockedCreator(e.profile.PublicKeyBase58Check))
                 }
             }
 
-            function uB(e, t) {
+            function gB(e, t) {
                 if (1 & e) {
                     const e = Ws();
-                    Hs(0, "div", 33), Hs(1, "div", 34), Hs(2, "div", 35), Aa(3), zs(), zs(), Hs(4, "div"), Hs(5, "div", 36), Hs(6, "div", 37), Hs(7, "div", 38), Aa(8, " Username or PubKey "), zs(), Hs(9, "div", 39), Aa(10, " Coins Held "), zs(), Hs(11, "div", 39), Aa(12, " Market Value "), Hs(13, "i", 40, 41), Zs("click", function() {
+                    Hs(0, "div", 30), Hs(1, "div", 31), Hs(2, "div", 32), Aa(3), zs(), zs(), Hs(4, "div"), Hs(5, "div", 33), Hs(6, "div", 34), Hs(7, "div", 35), Aa(8, " Username or PubKey "), zs(), Hs(9, "div", 36), Aa(10, " Coins Held "), zs(), Hs(11, "div", 36), Aa(12, " Market Value "), Hs(13, "i", 37, 38), Zs("click", function() {
                         return $t(e), Fs(14).toggle()
-                    }), zs(), zs(), zs(), Gs(15, "creator-profile-hodlers", 42), zs(), zs(), Gs(16, "div", 43), zs()
+                    }), zs(), zs(), zs(), Gs(15, "creator-profile-hodlers", 39), zs(), zs(), Gs(16, "div", 40), zs()
                 }
                 if (2 & e) {
                     const e = ta(2);
                     si(3), ka("Holders of ", e.profile.Username, " coin "), si(10), Vs("matTooltip", "This is computed as the number of coins times the current price."), si(2), Vs("profile", e.profile)
                 }
             }
-            const cB = function() {
+            const mB = function() {
                 return ["Posts", "Creator Coin"]
             };
 
-            function dB(e, t) {
+            function bB(e, t) {
                 if (1 & e) {
                     const e = Ws();
-                    Hs(0, "div", 3), Ls(1, XD, 1, 1, "creator-profile-top-card", 4), Hs(2, "tab-selector", 5), Zs("tabClick", function(t) {
+                    Hs(0, "div", 3), Ls(1, lB, 1, 1, "creator-profile-top-card", 4), Hs(2, "tab-selector", 5), Zs("tabClick", function(t) {
                         return $t(e), ta()._handleTabClick(t)
-                    }), zs(), Ls(3, tB, 27, 8, "div", 6), Ls(4, lB, 3, 2, "div", 7), Ls(5, uB, 17, 3, "div", 8), zs()
+                    }), zs(), Ls(3, hB, 27, 8, "div", 6), Ls(4, fB, 3, 3, "div", 7), Ls(5, gB, 17, 3, "div", 8), zs()
                 }
                 if (2 & e) {
                     const e = ta();
-                    si(1), Vs("ngIf", e.profile && !e.loading), si(1), Vs("tabs", ru(6, cB))("activeTab", e.activeTab), si(1), Vs("ngIf", e.showProfileAsReserved() && "Posts" === e.activeTab), si(1), Vs("ngIf", e.profile && "Posts" == e.activeTab && !e.loading), si(1), Vs("ngIf", "Creator Coin" == e.activeTab && !e.loading)
+                    si(1), Vs("ngIf", e.profile && !e.loading), si(1), Vs("tabs", ru(6, mB))("activeTab", e.activeTab), si(1), Vs("ngIf", e.showProfileAsReserved() && "Posts" === e.activeTab), si(1), Vs("ngIf", e.profile && "Posts" == e.activeTab && !e.loading), si(1), Vs("ngIf", "Creator Coin" == e.activeTab && !e.loading)
                 }
             }
-            let hB = (() => {
+            let yB = (() => {
                     class e {
                         constructor(t, n, o, r, i, s) {
                             this.globalVars = t, this.backendApi = n, this.route = o, this.cdr = r, this.router = i, this.location = s, this.userUnblocked = new yu, this.route.params.subscribe(e => {
@@ -62785,11 +62929,8 @@
                         }
                         _refreshContent() {
                             if (this.loading) return;
-                            let e = "";
-                            this.globalVars.loggedInUser && (e = this.globalVars.loggedInUser.PublicKeyBase58Check), this.loading = !0, this.backendApi.GetProfiles(this.globalVars.localNode, "", this.userName, "", "", "newest_last_post", 1, e, "", !0, this.globalVars.showAdminTools()).subscribe(e => {
-                                e && e.ProfilesFound && 0 !== e.ProfilesFound.length ? (this.profile = e.ProfilesFound[0], this.loading = !1) : console.log("This profile was not found. It either does not exist or it was deleted.")
-                            }, e => {
-                                this.loading = !1, console.error(e), console.log("This profile was not found. It either does not exist or it was deleted.")
+                            this.loading = !0, this.backendApi.GetSingleProfile(this.globalVars.localNode, "", this.userName).subscribe(e => {
+                                e ? (this.profile = e.Profile, this.loading = !1) : console.log("This profile was not found. It either does not exist or it was deleted.")
                             })
                         }
                         _handleTabClick(t) {
@@ -62806,9 +62947,6 @@
                         tweetToClaimLink() {
                             return `https://twitter.com/intent/tweet?text=${encodeURIComponent(`Just setting up my bitclout \ud83d\udc8e\ud83d\ude4c\n\nhttps://bitclout.com/u/${this.userName}?public_key=${this.globalVars.loggedInUser.PublicKeyBase58Check}`)}`
                         }
-                        profileBelongsToLoggedInUser() {
-                            return !(!this.globalVars.loggedInUser || !this.globalVars.loggedInUser.ProfileEntryResponse) && this.globalVars.loggedInUser.ProfileEntryResponse.Username === this.profile.Username
-                        }
                         showProfileAsReserved() {
                             return this.profile.IsReserved && !this.profile.IsVerified
                         }
@@ -62868,11 +63006,8 @@
                             [1, "d-block", "fs-12px", "font-weight-normal"],
                             ["target", "_blank", 3, "href"],
                             [2, "overflow-y", "scroll"],
-                            [1, "background-color-grey", "p-35px", "br-12px", "d-flex", "flex-row", "align-items-center", 2, "text-align", "center"],
-                            [4, "ngIf", "ngIfElse"],
-                            ["elseMissingPostBlock", ""],
+                            [3, "profile", "showProfileAsReserved", "blockUser"],
                             ["class", "w-100 d-flex p-15px", 4, "ngIf"],
-                            [3, "profile", "blockUser"],
                             [1, "w-100", "d-flex", "p-15px"],
                             [3, "click"],
                             [1, "w-100", "d-flex", "flex-column"],
@@ -62888,13 +63023,13 @@
                             [1, "w-100", "p-35px"]
                         ],
                         template: function(e, t) {
-                            1 & e && (Ls(0, YD, 1, 0, "simple-center-loader", 0), Ls(1, QD, 1, 0, "not-found", 0), Ls(2, dB, 6, 7, "div", 1), Gs(3, "div", 2)), 2 & e && (Vs("ngIf", t.loading), si(1), Vs("ngIf", !t.profile && !t.loading), si(1), Vs("ngIf", t.profile && !t.loading))
+                            1 & e && (Ls(0, sB, 1, 0, "simple-center-loader", 0), Ls(1, aB, 1, 0, "not-found", 0), Ls(2, bB, 6, 7, "div", 1), Gs(3, "div", 2)), 2 & e && (Vs("ngIf", t.loading), si(1), Vs("ngIf", !t.profile && !t.loading), si(1), Vs("ngIf", t.profile && !t.loading))
                         },
-                        directives: [wd, oI, BD, SO, DD, zx, Ad, UD, $T, WD],
+                        directives: [wd, oI, BD, SO, DD, zx, Ad, WD, $T, iB],
                         styles: [""]
                     }), e
                 })(),
-                pB = (() => {
+                vB = (() => {
                     class e {
                         constructor() {
                             this.expectedCreatorCoinReturnedNanos = 0, this.expectedFounderRewardNanos = 0, this.expectedBitCloutReturnedNanos = 0, this.clearAllFields()
@@ -63013,38 +63148,38 @@
                     return e.BUY_VERB = "Buy", e.SELL_VERB = "Sell", e.BITCLOUT_CURRENCY_STRING = "BitClout", e.USD_CURRENCY_STRING = "USD", e.CREATOR_COIN_CURRENCY_STRING = "Creator coin", e
                 })();
 
-            function fB(e, t) {
+            function _B(e, t) {
                 if (1 & e && (Hs(0, "span", 7), Aa(1), pu(2, "currency"), zs()), 2 & e) {
                     const e = ta();
                     si(1), ka(" \u2248 ", fu(2, 1, e.creatorCoinTrade.assetToSellAmountInUsd()), " USD ")
                 }
             }
 
-            function gB(e, t) {
+            function wB(e, t) {
                 if (1 & e && (Hs(0, "span"), Aa(1), pu(2, "currency"), zs()), 2 & e) {
                     const e = ta();
                     si(1), ka(" \u2248 ", fu(2, 1, e.creatorCoinTrade.assetReturnedAmountInUsd()), " USD ")
                 }
             }
-            const mB = function(e) {
+            const CB = function(e) {
                 return {
                     "font-weight-bold": e
                 }
             };
 
-            function bB(e, t) {
+            function SB(e, t) {
                 if (1 & e && (Hs(0, "div", 0), Hs(1, "span", 1), Aa(2, " Price per coin "), zs(), Hs(3, "div", 2), Aa(4), Hs(5, "span", 7), Aa(6), pu(7, "currency"), zs(), zs(), zs()), 2 & e) {
                     const e = ta();
-                    si(1), Vs("ngClass", iu(5, mB, !e.displayForCreatorForm)), si(3), ka(" ~", e.creatorCoinTrade.bitCloutPriceOfCreatorCoin().toFixed(4), " BitClout "), si(2), ka(" \u2248 ", fu(7, 3, e.creatorCoinTrade.usdPriceOfCreatorCoin()), " USD ")
+                    si(1), Vs("ngClass", iu(5, CB, !e.displayForCreatorForm)), si(3), ka(" ~", e.creatorCoinTrade.bitCloutPriceOfCreatorCoin().toFixed(4), " BitClout "), si(2), ka(" \u2248 ", fu(7, 3, e.creatorCoinTrade.usdPriceOfCreatorCoin()), " USD ")
                 }
             }
-            const yB = function(e) {
+            const xB = function(e) {
                 return {
                     "text-danger": e
                 }
             };
 
-            function vB(e, t) {
+            function EB(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div", 8), Hs(1, "div", 9), Gs(2, "i", 10), zs(), Hs(3, "div", 1), Aa(4), Hs(5, "span", 11), Aa(6), pu(7, "number"), zs(), Aa(8, " of your purchase as a "), Hs(9, "span", 12), Aa(10, " founder reward "), Hs(11, "i", 13, 14), Zs("click", function() {
@@ -63053,10 +63188,10 @@
                 }
                 if (2 & e) {
                     const e = ta();
-                    si(3), Vs("ngClass", iu(7, yB, e.creatorCoinTrade.showFounderRewardWarning())), si(1), ka(" @", e.creatorCoinTrade.creatorProfile.Username, " will receive "), si(2), ka(" ", gu(7, 4, e.creatorCoinTrade.getFoundersRewardPercent(), "0.0-9"), "% "), si(5), Vs("matTooltip", e.TradeCreatorTableComponent.FOUNDER_REWARD_EXPLANATION)
+                    si(3), Vs("ngClass", iu(7, xB, e.creatorCoinTrade.showFounderRewardWarning())), si(1), ka(" @", e.creatorCoinTrade.creatorProfile.Username, " will receive "), si(2), ka(" ", gu(7, 4, e.creatorCoinTrade.getFoundersRewardPercent(), "0.0-9"), "% "), si(5), Vs("matTooltip", e.TradeCreatorTableComponent.FOUNDER_REWARD_EXPLANATION)
                 }
             }
-            let _B = (() => {
+            let TB = (() => {
                 class e {
                     constructor(t) {
                         this.globalVars = t, this.displayForCreatorForm = !1, this.TradeCreatorTableComponent = e
@@ -63095,7 +63230,7 @@
                         ["tooltip", "matTooltip"]
                     ],
                     template: function(e, t) {
-                        1 & e && (Hs(0, "div", 0), Hs(1, "span", 1), Aa(2, " You're exchanging "), zs(), Hs(3, "div", 2), Aa(4), pu(5, "number"), Ls(6, fB, 3, 3, "span", 3), zs(), zs(), Hs(7, "div", 0), Hs(8, "span", 1), Aa(9, " You receive "), zs(), Hs(10, "div", 2), Aa(11), pu(12, "number"), Ls(13, gB, 3, 3, "span", 4), zs(), zs(), Ls(14, bB, 8, 7, "div", 5), Ls(15, vB, 13, 9, "div", 6)), 2 & e && (si(1), Vs("ngClass", iu(16, mB, !t.displayForCreatorForm)), si(3), Na(" ", gu(5, 10, t.creatorCoinTrade.assetToSellAmount(), "0.0-9"), " ", t.creatorCoinTrade.assetToSellString(), " "), si(2), Vs("ngIf", t.creatorCoinTrade.isBuyingCreatorCoin), si(2), Vs("ngClass", iu(18, mB, !t.displayForCreatorForm)), si(3), Na(" ", gu(12, 13, t.creatorCoinTrade.assetReturnedAmount(), "0.0-9"), " ", t.creatorCoinTrade.assetReturnedString(), " "), si(2), Vs("ngIf", !t.creatorCoinTrade.isBuyingCreatorCoin), si(1), Vs("ngIf", t.creatorCoinTrade.bitCloutPriceOfCreatorCoin()), si(1), Vs("ngIf", t.creatorCoinTrade.expectedFounderRewardNanos && t.creatorCoinTrade.expectedFounderRewardNanos > 0))
+                        1 & e && (Hs(0, "div", 0), Hs(1, "span", 1), Aa(2, " You're exchanging "), zs(), Hs(3, "div", 2), Aa(4), pu(5, "number"), Ls(6, _B, 3, 3, "span", 3), zs(), zs(), Hs(7, "div", 0), Hs(8, "span", 1), Aa(9, " You receive "), zs(), Hs(10, "div", 2), Aa(11), pu(12, "number"), Ls(13, wB, 3, 3, "span", 4), zs(), zs(), Ls(14, SB, 8, 7, "div", 5), Ls(15, EB, 13, 9, "div", 6)), 2 & e && (si(1), Vs("ngClass", iu(16, CB, !t.displayForCreatorForm)), si(3), Na(" ", gu(5, 10, t.creatorCoinTrade.assetToSellAmount(), "0.0-9"), " ", t.creatorCoinTrade.assetToSellString(), " "), si(2), Vs("ngIf", t.creatorCoinTrade.isBuyingCreatorCoin), si(2), Vs("ngClass", iu(18, CB, !t.displayForCreatorForm)), si(3), Na(" ", gu(12, 13, t.creatorCoinTrade.assetReturnedAmount(), "0.0-9"), " ", t.creatorCoinTrade.assetReturnedString(), " "), si(2), Vs("ngIf", !t.creatorCoinTrade.isBuyingCreatorCoin), si(1), Vs("ngIf", t.creatorCoinTrade.bitCloutPriceOfCreatorCoin()), si(1), Vs("ngIf", t.creatorCoinTrade.expectedFounderRewardNanos && t.creatorCoinTrade.expectedFounderRewardNanos > 0))
                     },
                     directives: [bd, wd, $T],
                     pipes: [Fd, Ud],
@@ -63103,28 +63238,28 @@
                 }), e
             })();
 
-            function wB(e, t) {
+            function PB(e, t) {
                 if (1 & e && (Hs(0, "span"), Aa(1), pu(2, "currency"), zs()), 2 & e) {
                     const e = ta();
                     si(1), ka(" \u2248 ", fu(2, 1, e.creatorCoinTrade.assetToSellBalanceInUsd()), " USD ")
                 }
             }
-            const CB = function(e) {
+            const AB = function(e) {
                 return [e]
             };
 
-            function SB(e, t) {
+            function IB(e, t) {
                 if (1 & e && (Hs(0, "a", 19), Hs(1, "u"), Aa(2, "Buy BitClout"), zs(), zs()), 2 & e) {
                     const e = ta();
-                    Vs("routerLink", iu(1, CB, "/" + e.globalVars.RouteNames.BUY_BITCLOUT))
+                    Vs("routerLink", iu(1, AB, "/" + e.globalVars.RouteNames.BUY_BITCLOUT))
                 }
             }
 
-            function xB(e, t) {
+            function kB(e, t) {
                 1 & e && (Hs(0, "div", 20), Hs(1, "div", 21), Hs(2, "div", 22), Aa(3, " The price changed while you were waiting to buy. Please reconfirm your purchase. "), zs(), zs(), zs())
             }
 
-            function EB(e, t) {
+            function NB(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "span"), Aa(1, " \xb7 "), Hs(2, "a", 23), Zs("click", function() {
@@ -63133,21 +63268,21 @@
                 }
             }
 
-            function TB(e, t) {
+            function OB(e, t) {
                 if (1 & e && (Hs(0, "option", 32), Aa(1), zs()), 2 & e) {
                     const e = t.$implicit;
                     Vs("value", e.key), si(1), Ia(e.value)
                 }
             }
 
-            function PB(e, t) {
+            function RB(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "select", 30), Zs("ngModelChange", function(t) {
                         return $t(e), ta(3).creatorCoinTrade.selectedCurrency = t
                     })("change", function() {
                         return $t(e), ta(3)._invalidateAndUpdateAmounts()
-                    }), Ls(1, TB, 2, 2, "option", 31), pu(2, "keyvalue"), zs()
+                    }), Ls(1, OB, 2, 2, "option", 31), pu(2, "keyvalue"), zs()
                 }
                 if (2 & e) {
                     const e = ta(3);
@@ -63155,91 +63290,91 @@
                 }
             }
 
-            function AB(e, t) {
-                if (1 & e && (Hs(0, "div"), Ls(1, PB, 3, 4, "select", 29), zs()), 2 & e) {
+            function $B(e, t) {
+                if (1 & e && (Hs(0, "div"), Ls(1, RB, 3, 4, "select", 29), zs()), 2 & e) {
                     const e = ta(2);
                     si(1), Vs("ngIf", e.creatorCoinTrade.currencyConstantsToHumanLabel())
                 }
             }
 
-            function IB(e, t) {
+            function MB(e, t) {
                 if (1 & e && (Hs(0, "span", 33), Aa(1), zs()), 2 & e) {
                     const e = ta(2);
                     si(1), ka(" ", e.creatorCoinTrade.currencyConstantsToHumanLabel()[e.creatorCoinTrade.defaultCurrency()], " ")
                 }
             }
 
-            function kB(e, t) {
+            function DB(e, t) {
                 1 & e && (Hs(0, "div", 36), Aa(1, " Amount is required "), zs())
             }
 
-            function NB(e, t) {
+            function BB(e, t) {
                 if (1 & e && (Hs(0, "div", 36), Aa(1), pu(2, "number"), zs()), 2 & e) {
                     const e = ta(3);
                     si(1), ka(" Amount must be greater than ", gu(2, 1, e._minAmount(), "0.0-9"), " (to cover fees) ")
                 }
             }
 
-            function OB(e, t) {
+            function LB(e, t) {
                 if (1 & e && (Hs(0, "div"), Aa(1), pu(2, "number"), zs()), 2 & e) {
                     const e = ta(4);
                     si(1), ka(" Amount must be less than ", gu(2, 1, e._maxAmount(), "0.0-9"), " (your balance net of fees) ")
                 }
             }
 
-            function RB(e, t) {
+            function FB(e, t) {
                 1 & e && Aa(0, " Amount must be less than your balance plus fees ")
             }
 
-            function $B(e, t) {
-                if (1 & e && (Hs(0, "div", 36), Ls(1, OB, 3, 4, "div", 14), Ls(2, RB, 1, 0, "ng-template", null, 27, Bu), zs()), 2 & e) {
+            function UB(e, t) {
+                if (1 & e && (Hs(0, "div", 36), Ls(1, LB, 3, 4, "div", 14), Ls(2, FB, 1, 0, "ng-template", null, 27, Bu), zs()), 2 & e) {
                     const e = Fs(3),
                         t = ta(3);
                     si(1), Vs("ngIf", t._maxAmount() && t._maxAmount() > 0)("ngIfElse", e)
                 }
             }
 
-            function MB(e, t) {
+            function VB(e, t) {
                 1 & e && (Hs(0, "div", 36), Aa(1, " Amount must be numbers and decimals only "), zs())
             }
 
-            function DB(e, t) {
-                if (1 & e && (Hs(0, "div", 34), Ls(1, kB, 2, 0, "div", 35), Ls(2, NB, 3, 4, "div", 35), Ls(3, $B, 4, 2, "div", 35), Ls(4, MB, 2, 0, "div", 35), zs()), 2 & e) {
+            function jB(e, t) {
+                if (1 & e && (Hs(0, "div", 34), Ls(1, DB, 2, 0, "div", 35), Ls(2, BB, 3, 4, "div", 35), Ls(3, UB, 4, 2, "div", 35), Ls(4, VB, 2, 0, "div", 35), zs()), 2 & e) {
                     const e = ta(2);
                     si(1), Vs("ngIf", e.amount.errors.required), si(1), Vs("ngIf", e.amount.errors.exclusiveMin), si(1), Vs("ngIf", e.amount.errors.dynamicMax), si(1), Vs("ngIf", e.amount.errors.pattern)
                 }
             }
 
-            function BB(e, t) {
-                if (1 & e && (Hs(0, "div"), Hs(1, "div", 24), Gs(2, "input", 25), Hs(3, "div", 26), Ls(4, AB, 2, 1, "div", 14), Ls(5, IB, 2, 1, "ng-template", null, 27, Bu), zs(), Ls(7, DB, 5, 4, "div", 28), zs(), zs()), 2 & e) {
+            function HB(e, t) {
+                if (1 & e && (Hs(0, "div"), Hs(1, "div", 24), Gs(2, "input", 25), Hs(3, "div", 26), Ls(4, $B, 2, 1, "div", 14), Ls(5, MB, 2, 1, "ng-template", null, 27, Bu), zs(), Ls(7, jB, 5, 4, "div", 28), zs(), zs()), 2 & e) {
                     const e = Fs(6),
                         t = ta();
                     si(2), Vs("formControl", t.amount), si(2), Vs("ngIf", t.creatorCoinTrade.canUserSpecifiyMultipleCurrencies())("ngIfElse", e), si(3), Vs("ngIf", t.amount.invalid && (t.amount.dirty || t.amount.touched))
                 }
             }
 
-            function LB(e, t) {
+            function zB(e, t) {
                 1 & e && (Hs(0, "div"), Hs(1, "div", 37), Hs(2, "span", 38), Aa(3, "Loading..."), zs(), zs(), zs())
             }
 
-            function FB(e, t) {
+            function GB(e, t) {
                 if (1 & e && (Hs(0, "div", 39), Gs(1, "trade-creator-table", 40), zs()), 2 & e) {
                     const e = ta();
                     si(1), Vs("displayForCreatorForm", !0)("creatorCoinTrade", e.creatorCoinTrade)("tradeHasBeenExecuted", !1)
                 }
             }
-            const UB = function(e) {
+            const KB = function(e) {
                 return {
                     disabled: e
                 }
             };
-            let VB = (() => {
+            let qB = (() => {
                 class e {
                     constructor(e, t, n, o, r) {
                         this.globalVars = e, this.route = t, this._router = n, this.backendApi = o, this.location = r, this.NUMBERS_ONLY_REGEX = /^[0-9]*([.][0-9]+)?$/, this.FEE_LEEWAY_MULTIPLE = 1.1, this.MIN_BITCLOUT_NANOS_TO_LEAVE_WHEN_BUYING_CREATOR_COINS = 1e5, this.previewClicked = new yu, this.expectedCreatorCoinReturnedNanos = 0, this.expectedBitCloutReturnedNanos = 0, this.intervalsSet = [], this.isUpdatingAmounts = !1, this.updateAmountsSequenceNumber = 0, this.appData = e, this.router = n
                     }
                     _tradeVerbStringForOppositeAction() {
-                        return this.creatorCoinTrade.isBuyingCreatorCoin ? pB.SELL_VERB : pB.BUY_VERB
+                        return this.creatorCoinTrade.isBuyingCreatorCoin ? vB.SELL_VERB : vB.BUY_VERB
                     }
                     _pathForOppositeAction() {
                         return this.creatorCoinTrade.isBuyingCreatorCoin ? ZA.sellCreatorPath(this.creatorCoinTrade.creatorProfile.Username) : ZA.buyCreatorPath(this.creatorCoinTrade.creatorProfile.Username)
@@ -63254,7 +63389,7 @@
                         this._allowPreviewClick() && this.previewClicked.emit()
                     }
                     _setAssetToSellAmount() {
-                        this.creatorCoinTrade.isBuyingCreatorCoin ? this.creatorCoinTrade.bitCloutToSell = this.creatorCoinTrade.convertAmount(this.amount.value, this.creatorCoinTrade.selectedCurrency, pB.BITCLOUT_CURRENCY_STRING) : this.creatorCoinTrade.creatorCoinToSell = this.creatorCoinTrade.convertAmount(this.amount.value, this.creatorCoinTrade.selectedCurrency, pB.CREATOR_COIN_CURRENCY_STRING)
+                        this.creatorCoinTrade.isBuyingCreatorCoin ? this.creatorCoinTrade.bitCloutToSell = this.creatorCoinTrade.convertAmount(this.amount.value, this.creatorCoinTrade.selectedCurrency, vB.BITCLOUT_CURRENCY_STRING) : this.creatorCoinTrade.creatorCoinToSell = this.creatorCoinTrade.convertAmount(this.amount.value, this.creatorCoinTrade.selectedCurrency, vB.CREATOR_COIN_CURRENCY_STRING)
                     }
                     _invalidateAndUpdateAmounts() {
                         this.amount.updateValueAndValidity(), this._updateAmounts()
@@ -63281,7 +63416,7 @@
                     _maxAmount() {
                         if (null == this.creatorCoinTrade || null == this.creatorCoinTrade.selectedCurrency) return null;
                         let e, t;
-                        e = null == this.creatorCoinTrade.currentFeeForSellNanos ? this.creatorCoinTrade.assetToSellBalance() : this.creatorCoinTrade.assetToSellBalance() - this.creatorCoinTrade.currentFeeForSellNanos / 1e9, this.creatorCoinTrade.isBuyingCreatorCoin && (e -= this.MIN_BITCLOUT_NANOS_TO_LEAVE_WHEN_BUYING_CREATOR_COINS / 1e9), t = this.creatorCoinTrade.isBuyingCreatorCoin ? pB.BITCLOUT_CURRENCY_STRING : pB.CREATOR_COIN_CURRENCY_STRING;
+                        e = null == this.creatorCoinTrade.currentFeeForSellNanos ? this.creatorCoinTrade.assetToSellBalance() : this.creatorCoinTrade.assetToSellBalance() - this.creatorCoinTrade.currentFeeForSellNanos / 1e9, this.creatorCoinTrade.isBuyingCreatorCoin && (e -= this.MIN_BITCLOUT_NANOS_TO_LEAVE_WHEN_BUYING_CREATOR_COINS / 1e9), t = this.creatorCoinTrade.isBuyingCreatorCoin ? vB.BITCLOUT_CURRENCY_STRING : vB.CREATOR_COIN_CURRENCY_STRING;
                         let n = this.creatorCoinTrade.convertAmount(e, t, this.creatorCoinTrade.selectedCurrency);
                         return n = Math.max(0, n), parseFloat(n.toFixed(9))
                     }
@@ -63415,31 +63550,31 @@
                         [3, "displayForCreatorForm", "creatorCoinTrade", "tradeHasBeenExecuted"]
                     ],
                     template: function(e, t) {
-                        if (1 & e && (Hs(0, "div", 0), Hs(1, "div", 1), Gs(2, "top-bar-mobile-navigation-control", 2), Hs(3, "div", 3), Aa(4), zs(), zs(), Hs(5, "a", 4), Aa(6), zs(), zs(), Hs(7, "div", 5), Hs(8, "div", 6), Hs(9, "div", 7), Aa(10), Ls(11, wB, 3, 3, "span", 8), zs(), Ls(12, SB, 3, 3, "a", 9), zs(), zs(), Ls(13, xB, 4, 0, "div", 10), Hs(14, "div", 11), Hs(15, "div", 12), Hs(16, "span", 13), Aa(17, " Amount "), zs(), Ls(18, EB, 5, 0, "span", 8), zs(), Ls(19, BB, 8, 4, "div", 8), Ls(20, LB, 4, 0, "div", 14), Ls(21, FB, 2, 3, "ng-template", null, 15, Bu), Hs(23, "div", 16), Hs(24, "a", 17), Zs("click", function() {
+                        if (1 & e && (Hs(0, "div", 0), Hs(1, "div", 1), Gs(2, "top-bar-mobile-navigation-control", 2), Hs(3, "div", 3), Aa(4), zs(), zs(), Hs(5, "a", 4), Aa(6), zs(), zs(), Hs(7, "div", 5), Hs(8, "div", 6), Hs(9, "div", 7), Aa(10), Ls(11, PB, 3, 3, "span", 8), zs(), Ls(12, IB, 3, 3, "a", 9), zs(), zs(), Ls(13, kB, 4, 0, "div", 10), Hs(14, "div", 11), Hs(15, "div", 12), Hs(16, "span", 13), Aa(17, " Amount "), zs(), Ls(18, NB, 5, 0, "span", 8), zs(), Ls(19, HB, 8, 4, "div", 8), Ls(20, zB, 4, 0, "div", 14), Ls(21, GB, 2, 3, "ng-template", null, 15, Bu), Hs(23, "div", 16), Hs(24, "a", 17), Zs("click", function() {
                                 return t._onPreviewClicked()
                             }), Aa(25, " Review "), zs(), zs(), zs(), Gs(26, "div", 18)), 2 & e) {
                             const e = Fs(22);
-                            si(4), Na(" ", t.creatorCoinTrade.tradeVerbString(), " ", t.creatorCoinTrade.creatorProfile.Username, " coin "), si(1), Vs("routerLink", iu(14, CB, t._pathForOppositeAction())), si(1), ka(" ", t._tradeVerbStringForOppositeAction(), " "), si(4), Na(" ", t.creatorCoinTrade.assetToSellBalance(), " ", t.creatorCoinTrade.assetToSellString(), " available\xa0 "), si(1), Vs("ngIf", t.creatorCoinTrade.assetToSellBalanceInUsd()), si(1), Vs("ngIf", t.creatorCoinTrade.isBuyingCreatorCoin), si(1), Vs("ngIf", t.creatorCoinTrade.showSlippageError), si(5), Vs("ngIf", t._maxAmount()), si(1), Vs("ngIf", t.amount), si(1), Vs("ngIf", t.isUpdatingAmounts)("ngIfElse", e), si(4), Vs("ngClass", iu(16, UB, !t._allowPreviewClick()))
+                            si(4), Na(" ", t.creatorCoinTrade.tradeVerbString(), " ", t.creatorCoinTrade.creatorProfile.Username, " coin "), si(1), Vs("routerLink", iu(14, AB, t._pathForOppositeAction())), si(1), ka(" ", t._tradeVerbStringForOppositeAction(), " "), si(4), Na(" ", t.creatorCoinTrade.assetToSellBalance(), " ", t.creatorCoinTrade.assetToSellString(), " available\xa0 "), si(1), Vs("ngIf", t.creatorCoinTrade.assetToSellBalanceInUsd()), si(1), Vs("ngIf", t.creatorCoinTrade.isBuyingCreatorCoin), si(1), Vs("ngIf", t.creatorCoinTrade.showSlippageError), si(5), Vs("ngIf", t._maxAmount()), si(1), Vs("ngIf", t.amount), si(1), Vs("ngIf", t.isUpdatingAmounts)("ngIfElse", e), si(4), Vs("ngClass", iu(16, KB, !t._allowPreviewClick()))
                         }
                     },
-                    directives: [bO, zx, wd, bd, kh, Zh, Qp, $A, up, Kp, vd, cp, fp, _B],
+                    directives: [bO, zx, wd, bd, kh, Zh, Qp, $A, up, Kp, vd, cp, fp, TB],
                     pipes: [Ud, Bd, Fd],
                     styles: [""]
                 }), e
             })();
 
-            function jB(e, t) {
+            function WB(e, t) {
                 if (1 & e && (Hs(0, "div", 13), Aa(1), pu(2, "lowercase"), pu(3, "lowercase"), pu(4, "lowercase"), zs()), 2 & e) {
                     const e = ta();
                     si(1), Oa(" Due to high load, ", fu(2, 3, e.creatorCoinTrade.tradeVerbString()), "s may take several minutes to process. Please keep your browser open. If you refresh the page and resubmit, your next ", fu(3, 5, e.creatorCoinTrade.tradeVerbString()), " will still likely be slow, and you may end up making multiple ", fu(4, 7, e.creatorCoinTrade.tradeVerbString()), "s. ")
                 }
             }
-            const HB = function(e) {
+            const YB = function(e) {
                 return {
                     "btn-loading": e
                 }
             };
-            let zB = (() => {
+            let QB = (() => {
                     class e {
                         constructor(e, t, n, o) {
                             this.globalVars = e, this.route = t, this._router = n, this.backendApi = o, this.ALLOWED_SLIPPAGE_PERCENT = 75, this.BITCLOUT_RECEIVED_LESS_THAN_MIN_SLIPPAGE_ERROR = "RuleErrorBitCloutReceivedIsLessThanMinimumSetBySeller", this.CREATOR_COIN_RECEIVED_LESS_THAN_MIN_SLIPPAGE_ERROR = "RuleErrorCreatorCoinLessThanMinimumSetByUser", this.slippageError = new yu, this.tradeExecuted = new yu, this.backButtonClicked = new yu, this.creatorCoinBuyOrSellBeingCalled = !1, this.showHighLoadWarning = !1, this._creatorCoinSuccess = e => {
@@ -63531,18 +63666,18 @@
                             [1, "bg-light", "mt-15px", "p-15px", "roboto-regular", "br-12px", "text-grey6"]
                         ],
                         template: function(e, t) {
-                            1 & e && (Hs(0, "div", 0), Hs(1, "div", 1), Hs(2, "div", 2), Gs(3, "top-bar-mobile-hamburger-menu", 3), Aa(4), zs(), zs(), Gs(5, "trade-creator-table", 4), Ls(6, jB, 5, 9, "div", 5), Hs(7, "div", 6), Hs(8, "div", 7), Hs(9, "div", 8), Hs(10, "button", 9), Zs("click", function() {
+                            1 & e && (Hs(0, "div", 0), Hs(1, "div", 1), Hs(2, "div", 2), Gs(3, "top-bar-mobile-hamburger-menu", 3), Aa(4), zs(), zs(), Gs(5, "trade-creator-table", 4), Ls(6, WB, 5, 9, "div", 5), Hs(7, "div", 6), Hs(8, "div", 7), Hs(9, "div", 8), Hs(10, "button", 9), Zs("click", function() {
                                 return t.backButtonClicked.emit()
                             }), Aa(11, " Back "), zs(), zs(), zs(), Hs(12, "div", 10), Hs(13, "button", 11), Zs("click", function() {
                                 return t._buyOrSellCreatorCoin()
-                            }), Aa(14), zs(), zs(), zs(), Gs(15, "div", 12), zs()), 2 & e && (si(4), ka(" Confirm Coin ", t.creatorCoinTrade.tradeVerbString(), " "), si(1), Vs("creatorCoinTrade", t.creatorCoinTrade)("tradeHasBeenExecuted", !1), si(1), Vs("ngIf", t.showHighLoadWarning), si(7), Vs("ngClass", iu(6, HB, t.creatorCoinBuyOrSellBeingCalled)), si(1), ka(" Confirm ", t.creatorCoinTrade.tradeVerbString(), " "))
+                            }), Aa(14), zs(), zs(), zs(), Gs(15, "div", 12), zs()), 2 & e && (si(4), ka(" Confirm Coin ", t.creatorCoinTrade.tradeVerbString(), " "), si(1), Vs("creatorCoinTrade", t.creatorCoinTrade)("tradeHasBeenExecuted", !1), si(1), Vs("ngIf", t.showHighLoadWarning), si(7), Vs("ngClass", iu(6, YB, t.creatorCoinBuyOrSellBeingCalled)), si(1), ka(" Confirm ", t.creatorCoinTrade.tradeVerbString(), " "))
                         },
-                        directives: [mO, _B, wd, bd],
+                        directives: [mO, TB, wd, bd],
                         pipes: [Dd],
                         styles: [""]
                     }), e
                 })(),
-                GB = (() => {
+                XB = (() => {
                     class e {
                         constructor(e, t, n, o) {
                             this.globalVars = e, this.route = t, this._router = n, this.backendApi = o, this.tradeAgainButtonClicked = new yu, this.appData = e, this.router = n
@@ -63590,11 +63725,11 @@
                                 return t._buyMoreClicked()
                             }), Aa(12, " Back "), zs(), zs(), zs(), Hs(13, "div", 11), Hs(14, "button", 12), Aa(15, " View Wallet "), zs(), zs(), zs(), Gs(16, "div", 13), zs()), 2 & e && (si(6), ka("Success! ", t.creatorCoinTrade.tradeVerbString(), " Complete "), si(1), Vs("creatorCoinTrade", t.creatorCoinTrade)("tradeHasBeenExecuted", !0), si(7), Vs("routerLink", "/" + t.appData.RouteNames.WALLET))
                         },
-                        directives: [mO, _B, Hx],
+                        directives: [mO, TB, Hx],
                         styles: [""]
                     }), e
                 })(),
-                KB = (() => {
+                ZB = (() => {
                     class e {
                         constructor(e) {
                             this._globalVars = e, this.globalVars = e
@@ -63629,7 +63764,7 @@
                     }), e
                 })();
 
-            function qB(e, t) {
+            function JB(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div"), Hs(1, "trade-creator-form", 4), Zs("previewClicked", function() {
@@ -63642,7 +63777,7 @@
                 }
             }
 
-            function WB(e, t) {
+            function eL(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div"), Hs(1, "trade-creator-preview", 5), Zs("slippageError", function() {
@@ -63659,7 +63794,7 @@
                 }
             }
 
-            function YB(e, t) {
+            function tL(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div"), Hs(1, "trade-creator-complete", 6), Zs("tradeAgainButtonClicked", function() {
@@ -63672,32 +63807,32 @@
                 }
             }
 
-            function QB(e, t) {
-                if (1 & e && (Hs(0, "div"), Ls(1, qB, 2, 1, "div", 3), Ls(2, WB, 2, 1, "div", 3), Ls(3, YB, 2, 1, "div", 3), zs()), 2 & e) {
+            function nL(e, t) {
+                if (1 & e && (Hs(0, "div"), Ls(1, JB, 2, 1, "div", 3), Ls(2, eL, 2, 1, "div", 3), Ls(3, tL, 2, 1, "div", 3), zs()), 2 & e) {
                     const e = ta(2);
                     si(1), Vs("ngIf", e.screenToShow == e.TRADE_CREATOR_FORM_SCREEN), si(1), Vs("ngIf", e.screenToShow == e.TRADE_CREATOR_PREVIEW_SCREEN), si(1), Vs("ngIf", e.screenToShow == e.TRADE_CREATOR_COMPLETE_SCREEN)
                 }
             }
 
-            function XB(e, t) {
+            function oL(e, t) {
                 1 & e && Gs(0, "trade-creator-logged-out", 7), 2 & e && Vs("creatorCoinTrade", ta(2).creatorCoinTrade)
             }
 
-            function ZB(e, t) {
-                if (1 & e && (Hs(0, "div"), Ls(1, QB, 4, 3, "div", 0), Ls(2, XB, 1, 1, "ng-template", null, 2, Bu), zs()), 2 & e) {
+            function rL(e, t) {
+                if (1 & e && (Hs(0, "div"), Ls(1, nL, 4, 3, "div", 0), Ls(2, oL, 1, 1, "ng-template", null, 2, Bu), zs()), 2 & e) {
                     const e = Fs(3),
                         t = ta();
                     si(1), Vs("ngIf", t.appData.loggedInUser)("ngIfElse", e)
                 }
             }
 
-            function JB(e, t) {
+            function iL(e, t) {
                 1 & e && Gs(0, "simple-center-loader")
             }
-            let eL = (() => {
+            let sL = (() => {
                 class e {
                     constructor(e, t, n, o) {
-                        this.globalVars = e, this.route = t, this._router = n, this.backendApi = o, this.TRADE_CREATOR_FORM_SCREEN = "trade_creator_form_screen", this.TRADE_CREATOR_PREVIEW_SCREEN = "trade_creator_preview_screen", this.TRADE_CREATOR_COMPLETE_SCREEN = "trade_creator_complete_screen", this.screenToShow = this.TRADE_CREATOR_FORM_SCREEN, this.appData = e, this.router = n, this.creatorCoinTrade = new pB, this.creatorCoinTrade.appData = this.appData, this._setStateFromActivatedRoute(this.route), this.route.params.subscribe(e => {
+                        this.globalVars = e, this.route = t, this._router = n, this.backendApi = o, this.TRADE_CREATOR_FORM_SCREEN = "trade_creator_form_screen", this.TRADE_CREATOR_PREVIEW_SCREEN = "trade_creator_preview_screen", this.TRADE_CREATOR_COMPLETE_SCREEN = "trade_creator_complete_screen", this.screenToShow = this.TRADE_CREATOR_FORM_SCREEN, this.appData = e, this.router = n, this.creatorCoinTrade = new vB, this.creatorCoinTrade.appData = this.appData, this._setStateFromActivatedRoute(this.route), this.route.params.subscribe(e => {
                             this._setStateFromActivatedRoute(t)
                         })
                     }
@@ -63765,17 +63900,17 @@
                         [3, "creatorCoinTrade"]
                     ],
                     template: function(e, t) {
-                        if (1 & e && (Ls(0, ZB, 4, 2, "div", 0), Ls(1, JB, 1, 0, "ng-template", null, 1, Bu)), 2 & e) {
+                        if (1 & e && (Ls(0, rL, 4, 2, "div", 0), Ls(1, iL, 1, 0, "ng-template", null, 1, Bu)), 2 & e) {
                             const e = Fs(2);
                             Vs("ngIf", t.readyForDisplay())("ngIfElse", e)
                         }
                     },
-                    directives: [wd, VB, zB, GB, KB, oI],
+                    directives: [wd, qB, QB, XB, ZB, oI],
                     styles: [""]
                 }), e
             })();
-            var tL = n("4Z/T");
-            let nL = (() => {
+            var aL = n("4Z/T");
+            let lL = (() => {
                 class e {
                     constructor(e) {
                         this._globalVars = e, this.buyMoreBitcloutClicked = new yu, this.amountOfBitCloutBought = 0, this.globalVars = e
@@ -63825,121 +63960,123 @@
                 }), e
             })();
 
-            function oL(e, t) {
-                if (1 & e && (Hs(0, "div"), Aa(1), Hs(2, "span", 56), Aa(3), zs(), zs()), 2 & e) {
+            function uL(e, t) {
+                if (1 & e && (Hs(0, "div"), Aa(1), Hs(2, "span", 59), Aa(3), zs(), zs()), 2 & e) {
                     const e = ta(3);
                     si(1), ka(" ", (e.appData.latestBitcoinAPIResponse.final_balance / 1e8).toFixed(8), " BTC "), si(2), ka(" \u2248 ", e.appData.formatUSD(e.appData.latestBitcoinAPIResponse.final_balance * e.appData.usdPerBitcoinExchangeRate / 1e8, 2), " USD ")
                 }
             }
 
-            function rL(e, t) {
+            function cL(e, t) {
                 1 & e && (Hs(0, "div"), Aa(1, " (Loading...) "), zs())
             }
 
-            function iL(e, t) {
+            function dL(e, t) {
                 if (1 & e && (Hs(0, "div"), Aa(1), zs()), 2 & e) {
                     const e = ta(3);
                     si(1), Na(" ", (e.buyBitCloutFields.bitcoinTotalTransactionFeeSatoshis / 1e8).toFixed(8), " Bitcoin \u2248 ", e.appData.formatUSD(e.buyBitCloutFields.bitcoinTotalTransactionFeeSatoshis * e.appData.usdPerBitcoinExchangeRate / 1e8, 2), " USD ")
                 }
             }
 
-            function sL(e, t) {
-                if (1 & e && (Hs(0, "div", 57), Aa(1), zs()), 2 & e) {
+            function hL(e, t) {
+                if (1 & e && (Hs(0, "div", 60), Aa(1), zs()), 2 & e) {
                     const e = ta(3);
                     si(1), ka(" 0.00000000 Bitcoin \u2248 ", e.appData.formatUSD(0, 2), " USD ")
                 }
             }
 
-            function aL(e, t) {
+            function pL(e, t) {
                 if (1 & e && (Hs(0, "div"), Aa(1), zs()), 2 & e) {
                     const e = ta(3);
                     si(1), Na(" ", ((1e8 * e.buyBitCloutFields.bitcoinToExchange + e.buyBitCloutFields.bitcoinTotalTransactionFeeSatoshis) / 1e8).toFixed(8), " Bitcoin \u2248 ", e.appData.formatUSD((1e8 * e.buyBitCloutFields.bitcoinToExchange + e.buyBitCloutFields.bitcoinTotalTransactionFeeSatoshis) * e.appData.usdPerBitcoinExchangeRate / 1e8, 2), " USD ")
                 }
             }
 
-            function lL(e, t) {
-                if (1 & e && (Hs(0, "div", 57), Aa(1), zs()), 2 & e) {
+            function fL(e, t) {
+                if (1 & e && (Hs(0, "div", 60), Aa(1), zs()), 2 & e) {
                     const e = ta(3);
                     si(1), ka(" 0.00000000 Bitcoin \u2248 ", e.appData.formatUSD(0, 2), " USD ")
                 }
             }
 
-            function uL(e, t) {
-                if (1 & e && (Hs(0, "div", 58), Hs(1, "div", 59), Aa(2), zs(), zs()), 2 & e) {
+            function gL(e, t) {
+                if (1 & e && (Hs(0, "div", 61), Hs(1, "div", 62), Aa(2), zs(), zs()), 2 & e) {
                     const e = ta(3);
                     si(2), ka(" ", e.buyBitCloutFields.error, " ")
                 }
             }
 
-            function cL(e, t) {
+            function mL(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div", 9), Hs(1, "div", 10), Aa(2, " $BitClout is a "), Hs(3, "span", 11), Aa(4, "cryptocurrency"), zs(), Aa(5, " like Bitcoin, only it powers the first "), Hs(6, "span", 11), Aa(7, "decentralized social network"), zs(), Aa(8, ". "), zs(), Gs(9, "div", 12), Hs(10, "div"), Hs(11, "div", 13), Hs(12, "div", 14), Aa(13, " Step One "), Hs(14, "i", 15, 16), Zs("click", function() {
                         return $t(e), Fs(15).toggle()
                     }), zs(), zs(), Hs(16, "div", 17), Hs(17, "div", 18), Aa(18, " Send Bitcoin to this "), Hs(19, "span"), Aa(20, " address "), Hs(21, "i", 15, 19), Zs("click", function() {
                         return $t(e), Fs(22).toggle()
-                    }), zs(), zs(), zs(), Hs(23, "div", 20), Hs(24, "div", 21), Gs(25, "input", 22), zs(), Hs(26, "div", 23), Hs(27, "div", 24), Zs("click", function() {
+                    }), zs(), zs(), zs(), Hs(23, "div", 20), Hs(24, "span"), Aa(25, " Minimum deposit is currently "), Hs(26, "b"), Aa(27), zs(), Hs(28, "i", 21, 19), Zs("click", function() {
+                        return $t(e), Fs(22).toggle()
+                    }), zs(), zs(), zs(), Hs(30, "div", 22), Hs(31, "div", 23), Gs(32, "input", 24), zs(), Hs(33, "div", 25), Hs(34, "div", 26), Zs("click", function() {
                         $t(e);
                         const t = ta(2);
                         return t.appData._copyText(t.btcDepositAddress())
-                    }), Aa(28, "Copy"), zs(), zs(), zs(), Hs(29, "div", 25), Hs(30, "div", 26), Hs(31, "span", 27), Aa(32, " Amount deposited "), zs(), Hs(33, "span", 28, 29), Zs("click", function() {
-                        return $t(e), Fs(34).toggle()
-                    }), Aa(35, " \xb7 Withdraw "), zs(), zs(), zs(), Hs(36, "div", 20), Hs(37, "div", 30), Hs(38, "div", 31), Ls(39, oL, 4, 2, "div", 32), Ls(40, rL, 2, 0, "div", 32), zs(), zs(), Hs(41, "div", 33), Hs(42, "div", 34), Zs("click", function() {
+                    }), Aa(35, "Copy"), zs(), zs(), zs(), Hs(36, "div", 27), Hs(37, "div", 28), Hs(38, "span", 29), Aa(39, " Amount deposited "), zs(), Hs(40, "span", 30, 31), Zs("click", function() {
+                        return $t(e), Fs(41).toggle()
+                    }), Aa(42, " \xb7 Withdraw "), zs(), zs(), zs(), Hs(43, "div", 22), Hs(44, "div", 32), Hs(45, "div", 33), Ls(46, uL, 4, 2, "div", 34), Ls(47, cL, 2, 0, "div", 34), zs(), zs(), Hs(48, "div", 35), Hs(49, "div", 36), Zs("click", function() {
                         return $t(e), ta(2)._queryBitcoinAPI()
-                    }), Aa(43, " Refresh "), zs(), zs(), zs(), Hs(44, "div", 35), Hs(45, "div", 36), Aa(46, ' Click "refresh" to check your bitcoin balance. '), Hs(47, "i", 15, 37), Zs("click", function() {
-                        return $t(e), Fs(48).toggle()
-                    }), zs(), zs(), zs(), zs(), zs(), Gs(49, "div", 12), Hs(50, "div", 13), Hs(51, "div", 38), Aa(52, " Step Two "), zs(), Hs(53, "div", 39), Hs(54, "div", 40), Hs(55, "div", 41), Aa(56, "Buy $BitClout with Bitcoin"), zs(), zs(), Hs(57, "div", 42), Aa(58, " $BitClout to buy "), zs(), Hs(59, "div", 43), Hs(60, "input", 44), Zs("ngModelChange", function(t) {
+                    }), Aa(50, " Refresh "), zs(), zs(), zs(), Hs(51, "div", 37), Hs(52, "div", 38), Aa(53, ' Click "refresh" to check your bitcoin balance. '), Hs(54, "i", 15, 39), Zs("click", function() {
+                        return $t(e), Fs(55).toggle()
+                    }), zs(), zs(), zs(), zs(), zs(), Gs(56, "div", 40), Hs(57, "div", 13), Hs(58, "div", 41), Aa(59, " Step Two "), zs(), Hs(60, "div", 42), Hs(61, "div", 43), Hs(62, "div", 44), Aa(63, "Buy $BitClout with Bitcoin"), zs(), zs(), Hs(64, "div", 45), Aa(65, " $BitClout to buy "), zs(), Hs(66, "div", 46), Hs(67, "input", 47), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).buyBitCloutFields.bitcloutToBuy = t
                     })("ngModelChange", function(t) {
                         return $t(e), ta(2)._updateBitCloutToBuy(t)
-                    }), zs(), Hs(61, "div", 45), Aa(62, " $BitClout \xb7 "), Hs(63, "a", 46), Zs("click", function() {
+                    }), zs(), Hs(68, "div", 48), Aa(69, " $BitClout \xb7 "), Hs(70, "a", 49), Zs("click", function() {
                         return $t(e), ta(2)._clickMaxBitClout()
-                    }), Hs(64, "u"), Aa(65, "Max"), zs(), zs(), zs(), zs(), Hs(66, "div", 47), Aa(67, " Bitcoin to swap "), zs(), Hs(68, "div", 43), Hs(69, "input", 48), Zs("ngModelChange", function(t) {
+                    }), Hs(71, "u"), Aa(72, "Max"), zs(), zs(), zs(), zs(), Hs(73, "div", 50), Aa(74, " Bitcoin to swap "), zs(), Hs(75, "div", 46), Hs(76, "input", 51), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).buyBitCloutFields.bitcoinToExchange = t
                     })("ngModelChange", function(t) {
                         return $t(e), ta(2)._updateBitcoinToExchange(t)
-                    }), zs(), Hs(70, "div", 45), Aa(71, "Bitcoin"), zs(), zs(), Hs(72, "div", 49), Aa(73, " Bitcoin network fee "), Hs(74, "i", 15, 50), Zs("click", function() {
-                        return $t(e), Fs(75).toggle()
-                    }), zs(), Hs(76, "div", 51), Ls(77, iL, 2, 2, "div", 32), Ls(78, sL, 2, 1, "div", 52), zs(), zs(), Hs(79, "div", 49), Aa(80, " Total Bitcoin to swap "), Hs(81, "div", 51), Ls(82, aL, 2, 2, "div", 32), Ls(83, lL, 2, 1, "div", 52), zs(), zs(), Ls(84, uL, 3, 1, "div", 53), Hs(85, "button", 54), Zs("click", function() {
+                    }), zs(), Hs(77, "div", 48), Aa(78, "Bitcoin"), zs(), zs(), Hs(79, "div", 52), Aa(80, " Bitcoin network fee "), Hs(81, "i", 15, 53), Zs("click", function() {
+                        return $t(e), Fs(82).toggle()
+                    }), zs(), Hs(83, "div", 54), Ls(84, dL, 2, 2, "div", 34), Ls(85, hL, 2, 1, "div", 55), zs(), zs(), Hs(86, "div", 52), Aa(87, " Total Bitcoin to swap "), Hs(88, "div", 54), Ls(89, pL, 2, 2, "div", 34), Ls(90, fL, 2, 1, "div", 55), zs(), zs(), Ls(91, gL, 3, 1, "div", 56), Hs(92, "button", 57), Zs("click", function() {
                         return $t(e), ta(2)._clickBuyBitClout()
-                    }), Aa(86, " Buy BitClout "), zs(), zs(), zs(), zs(), Gs(87, "div", 55), Gs(88, "div", 55), zs()
+                    }), Aa(93, " Buy BitClout "), zs(), zs(), zs(), zs(), Gs(94, "div", 58), Gs(95, "div", 58), zs()
                 }
                 if (2 & e) {
                     const e = ta(2);
-                    si(14), Vs("matTooltip", e.stepOneTooltip()), si(7), Vs("matTooltip", e.depositBitcoinTooltip()), si(4), Vs("value", e.btcDepositAddress()), si(8), Vs("matTooltip", e.withdrawBitcoinTooltip()), si(6), Vs("ngIf", e.appData.latestBitcoinAPIResponse), si(1), Vs("ngIf", !e.appData.latestBitcoinAPIResponse), si(7), Vs("matTooltip", e.balanceUpdateTooltip()), si(13), Vs("ngModel", e.buyBitCloutFields.bitcloutToBuy), si(9), Vs("ngModel", e.buyBitCloutFields.bitcoinToExchange), si(5), Vs("matTooltip", e.bitcoinNetworkFeeTooltip()), si(3), Vs("ngIf", null == e.buyBitCloutFields.error || "" === e.buyBitCloutFields.error), si(1), Vs("ngIf", null != e.buyBitCloutFields.error && "" !== e.buyBitCloutFields.error), si(4), Vs("ngIf", !e.buyBitCloutFields.error), si(1), Vs("ngIf", e.buyBitCloutFields.error), si(1), Vs("ngIf", null != e.buyBitCloutFields.error && "" !== e.buyBitCloutFields.error)
+                    si(14), Vs("matTooltip", e.stepOneTooltip()), si(7), Vs("matTooltip", e.depositBitcoinTooltip()), si(6), ka("", (.3 * e.buyBitCloutFields.bitcoinTransactionFeeRateSatoshisPerKB / 1e8).toFixed(4), " Bitcoin"), si(1), Vs("matTooltip", e.minDepositTooltip()), si(4), Vs("value", e.btcDepositAddress()), si(8), Vs("matTooltip", e.withdrawBitcoinTooltip()), si(6), Vs("ngIf", e.appData.latestBitcoinAPIResponse), si(1), Vs("ngIf", !e.appData.latestBitcoinAPIResponse), si(7), Vs("matTooltip", e.balanceUpdateTooltip()), si(13), Vs("ngModel", e.buyBitCloutFields.bitcloutToBuy), si(9), Vs("ngModel", e.buyBitCloutFields.bitcoinToExchange), si(5), Vs("matTooltip", e.bitcoinNetworkFeeTooltip()), si(3), Vs("ngIf", null == e.buyBitCloutFields.error || "" === e.buyBitCloutFields.error), si(1), Vs("ngIf", null != e.buyBitCloutFields.error && "" !== e.buyBitCloutFields.error), si(4), Vs("ngIf", !e.buyBitCloutFields.error), si(1), Vs("ngIf", e.buyBitCloutFields.error), si(1), Vs("ngIf", null != e.buyBitCloutFields.error && "" !== e.buyBitCloutFields.error)
                 }
             }
 
-            function dL(e, t) {
-                1 & e && (Hs(0, "div", 60), Gs(1, "simple-center-loader", 61), zs())
+            function bL(e, t) {
+                1 & e && (Hs(0, "div", 63), Gs(1, "simple-center-loader", 64), zs())
             }
 
-            function hL(e, t) {
-                if (1 & e && (Hs(0, "div"), Hs(1, "div", 2), Gs(2, "top-bar-mobile-navigation-control", 3), Aa(3, " Buy BitClout "), zs(), Gs(4, "div", 4), Hs(5, "div", 5), Hs(6, "div", 6), Ls(7, cL, 89, 15, "div", 7), zs(), Ls(8, dL, 2, 0, "div", 8), zs(), zs()), 2 & e) {
+            function yL(e, t) {
+                if (1 & e && (Hs(0, "div"), Hs(1, "div", 2), Gs(2, "top-bar-mobile-navigation-control", 3), Aa(3, " Buy BitClout "), zs(), Gs(4, "div", 4), Hs(5, "div", 5), Hs(6, "div", 6), Ls(7, mL, 96, 17, "div", 7), zs(), Ls(8, bL, 2, 0, "div", 8), zs(), zs()), 2 & e) {
                     const e = ta();
                     si(7), Vs("ngIf", !e.waitingOnTxnConfirmation), si(1), Vs("ngIf", e.waitingOnTxnConfirmation)
                 }
             }
 
-            function pL(e, t) {
+            function vL(e, t) {
                 if (1 & e) {
                     const e = Ws();
-                    Hs(0, "buy-bitclout-complete", 62), Zs("buyMoreBitcloutClicked", function() {
+                    Hs(0, "buy-bitclout-complete", 65), Zs("buyMoreBitcloutClicked", function() {
                         return $t(e), ta().onBuyMoreBitcloutClicked()
                     }), zs()
                 }
             }
-            let fL = (() => {
+            let _L = (() => {
                     class e {}
                     return e.INCORRECT_PASSWORD = "The password you entered was incorrect.", e.INSUFFICIENT_BALANCE = "Your balance is insufficient to process the transaction.", e.CONNECTION_PROBLEM = "We had a problem processing your transaction. Please wait a few minutes and try again.", e.UNKOWN_PROBLEM = "There was a weird problem with the transaction. Debug output: %s", e.CONFIRM_BUY_bitclout = "Are you ready to exchange %s Bitcoin with a fee of %s Bitcoin for %s BitClout?", e.ZERO_bitclout_ERROR = "You must purchase a non-zero amount BitClout", e.NEGATIVE_bitclout_ERROR = "You must purchase a non-negative amount of BitClout", e
                 })(),
-                gL = (() => {
+                wL = (() => {
                     class e {
                         constructor(e, t, n, o, r, i, s) {
                             this.ref = e, this.globalVars = t, this.backendApi = n, this.identityService = o, this.route = r, this.router = i, this.httpClient = s, this.showHowItWorks = !1, this.showAreYouReady = !1, this.showPendingTransactions = !0, this.waitingOnTxnConfirmation = !1, this.queryingBitcoinAPI = !1, this.showBuyComplete = !1, this.buyBitCloutFields = {
                                 bitcloutToBuy: "",
                                 bitcoinToExchange: "",
-                                bitcoinTransactionFeeRateSatoshisPerKB: 25e4,
+                                bitcoinTransactionFeeRateSatoshisPerKB: 1e6,
                                 bitcoinTotalTransactionFeeSatoshis: "0",
                                 error: ""
                             }, this.appData = t, this.route.queryParams.subscribe(e => {})
@@ -63957,6 +64094,9 @@
                         depositBitcoinTooltip() {
                             return "Send Bitcoin to this address so that you can swap it for BitClout in step two below."
                         }
+                        minDepositTooltip() {
+                            return "This is the minimum amount required to cover the Bitcoin network fees associated with your purchase. We would love to make this lower, but if we did then the Bitcoin network would reject your transaction."
+                        }
                         withdrawBitcoinTooltip() {
                             return "If you send too much Bitcoin to your deposit address and need to get it back, you can access the Bitcoin in this address by importing your BitClout seed phrase into most standard Bitcoin wallets like Electrum and choosing m/44'/0'/0'/0/0 as your derivation path. This works because your BitClout seed phrase is what's used to generate your Bitcoin deposit address."
                         }
@@ -63969,12 +64109,12 @@
                         _extractBurnError(e) {
                             if (null != e.error && null != e.error.error) {
                                 let t = e.error.error;
-                                return t.includes("password") ? fL.INCORRECT_PASSWORD : t.includes("not sufficient") ? fL.INSUFFICIENT_BALANCE : t.includes("so high") ? "The amount of Bitcoin you've deposited is too low. Please deposit at least 0.001 Bitcoin." : t.includes("total=0") ? "You must purchase a non-zero amount of BitClout." : t.includes("You must burn at least .0001 Bitcoins") ? "You must exchange at least 0.0001 Bitcoin." : t
+                                return t.includes("password") ? _L.INCORRECT_PASSWORD : t.includes("not sufficient") ? _L.INSUFFICIENT_BALANCE : t.includes("so high") ? `The amount of Bitcoin you've deposited is too low. Please deposit at least ${(.3*this.buyBitCloutFields.bitcoinTransactionFeeRateSatoshisPerKB/1e8).toFixed(4)} Bitcoin.` : t.includes("total=0") ? "You must purchase a non-zero amount of BitClout." : t.includes("You must burn at least .0001 Bitcoins") ? `You must exchange at least  ${(.3*this.buyBitCloutFields.bitcoinTransactionFeeRateSatoshisPerKB/1e8).toFixed(4)} Bitcoin.` : t
                             }
-                            return null != e.status && 200 != e.status ? fL.CONNECTION_PROBLEM : Object(tL.sprintf)(fL.UNKOWN_PROBLEM, JSON.stringify(e))
+                            return null != e.status && 200 != e.status ? _L.CONNECTION_PROBLEM : Object(aL.sprintf)(_L.UNKOWN_PROBLEM, JSON.stringify(e))
                         }
                         _updateBitcoinFee(e) {
-                            if (null != this.appData && null != this.appData.loggedInUser && null != this.appData.latestBitcoinAPIResponse) return this.backendApi.BurnBitcoin(this.appData.localNode, this.appData.latestBitcoinAPIResponse, this.btcDepositAddress(), this.appData.loggedInUser.PublicKeyBase58Check, Math.floor(1e8 * e), Math.floor(this.buyBitCloutFields.bitcoinTransactionFeeRateSatoshisPerKB), !1).toPromise().then(e => null == e || null == e.FeeSatoshis ? (this.buyBitCloutFields.bitcoinTotalTransactionFeeSatoshis = "0", this.buyBitCloutFields.error = fL.UNKOWN_PROBLEM, null) : (this.buyBitCloutFields.error = "", this.buyBitCloutFields.bitcoinTotalTransactionFeeSatoshis = e.FeeSatoshis, e), e => (console.error("Problem updating Bitcoin fee Satoshis Per KB", e), this.buyBitCloutFields.bitcoinTotalTransactionFeeSatoshis = "0", this.buyBitCloutFields.error = this._extractBurnError(e), null));
+                            if (null != this.appData && null != this.appData.loggedInUser && null != this.appData.latestBitcoinAPIResponse) return this.backendApi.BurnBitcoin(this.appData.localNode, this.appData.latestBitcoinAPIResponse, this.btcDepositAddress(), this.appData.loggedInUser.PublicKeyBase58Check, Math.floor(1e8 * e), Math.floor(this.buyBitCloutFields.bitcoinTransactionFeeRateSatoshisPerKB), !1).toPromise().then(e => null == e || null == e.FeeSatoshis ? (this.buyBitCloutFields.bitcoinTotalTransactionFeeSatoshis = "0", this.buyBitCloutFields.error = _L.UNKOWN_PROBLEM, null) : (this.buyBitCloutFields.error = "", this.buyBitCloutFields.bitcoinTotalTransactionFeeSatoshis = e.FeeSatoshis, e), e => (console.error("Problem updating Bitcoin fee Satoshis Per KB", e), this.buyBitCloutFields.bitcoinTotalTransactionFeeSatoshis = "0", this.buyBitCloutFields.error = this._extractBurnError(e), null));
                             SE.fire({
                                 icon: "error",
                                 title: "Oops...",
@@ -63996,10 +64136,10 @@
                         }
                         _clickBuyBitClout() {
                             if (null == this.appData || null == this.appData.loggedInUser) return;
-                            if ("" == this.buyBitCloutFields.bitcloutToBuy || 0 === parseFloat(this.buyBitCloutFields.bitcloutToBuy)) return void this.appData._alertError(fL.ZERO_bitclout_ERROR);
-                            if (parseFloat(this.buyBitCloutFields.bitcloutToBuy) < 0) return void this.appData._alertError(fL.NEGATIVE_bitclout_ERROR);
+                            if ("" == this.buyBitCloutFields.bitcloutToBuy || 0 === parseFloat(this.buyBitCloutFields.bitcloutToBuy)) return void this.appData._alertError(_L.ZERO_bitclout_ERROR);
+                            if (parseFloat(this.buyBitCloutFields.bitcloutToBuy) < 0) return void this.appData._alertError(_L.NEGATIVE_bitclout_ERROR);
                             if (null != this.buyBitCloutFields.error && "" !== this.buyBitCloutFields.error) return void this.appData._alertError(this.buyBitCloutFields.error);
-                            let e = Object(tL.sprintf)(fL.CONFIRM_BUY_bitclout, this.buyBitCloutFields.bitcoinToExchange, (parseFloat(this.buyBitCloutFields.bitcoinTotalTransactionFeeSatoshis) / 1e8).toFixed(8), this.buyBitCloutFields.bitcloutToBuy);
+                            let e = Object(aL.sprintf)(_L.CONFIRM_BUY_bitclout, this.buyBitCloutFields.bitcoinToExchange, (parseFloat(this.buyBitCloutFields.bitcoinTotalTransactionFeeSatoshis) / 1e8).toFixed(8), this.buyBitCloutFields.bitcloutToBuy);
                             SE.fire({
                                 title: "Are you ready?",
                                 html: e,
@@ -64010,7 +64150,7 @@
                                 },
                                 reverseButtons: !0
                             }).then(e => {
-                                if (e.isConfirmed) return this.waitingOnTxnConfirmation = !0, this.backendApi.BurnBitcoin(this.appData.localNode, this.appData.latestBitcoinAPIResponse, this.btcDepositAddress(), this.appData.loggedInUser.PublicKeyBase58Check, Math.floor(1e8 * parseFloat(this.buyBitCloutFields.bitcoinToExchange)), Math.floor(this.buyBitCloutFields.bitcoinTransactionFeeRateSatoshisPerKB), !0).toPromise().then(e => null == e || null == e.FeeSatoshis ? (this.globalVars.logEvent("bitpop : buy : error"), this.buyBitCloutFields.bitcoinTotalTransactionFeeSatoshis = "0", this.buyBitCloutFields.error = fL.UNKOWN_PROBLEM, null) : (this.globalVars.logEvent("bitpop : buy", this.buyBitCloutFields), this.buyBitCloutFields.error = "", this.buyBitCloutFields.bitcloutToBuy = "", this.buyBitCloutFields.bitcoinToExchange = "", this.buyBitCloutFields.bitcoinTotalTransactionFeeSatoshis = "0", this.appData.latestBitcoinAPIResponse = null, this.appData.updateEverything(e.BitCloutTxnHashHex, this._clickBuyBitCloutSuccess, this._clickBuyBitCloutSuccessButTimeout, this), e), e => (this.globalVars.logEvent("bitpop : buy : error"), this._clickBuyBitCloutFailure(this, this._extractBurnError(e)), null))
+                                if (e.isConfirmed) return this.waitingOnTxnConfirmation = !0, this.backendApi.BurnBitcoin(this.appData.localNode, this.appData.latestBitcoinAPIResponse, this.btcDepositAddress(), this.appData.loggedInUser.PublicKeyBase58Check, Math.floor(1e8 * parseFloat(this.buyBitCloutFields.bitcoinToExchange)), Math.floor(this.buyBitCloutFields.bitcoinTransactionFeeRateSatoshisPerKB), !0).toPromise().then(e => null == e || null == e.FeeSatoshis ? (this.globalVars.logEvent("bitpop : buy : error"), this.buyBitCloutFields.bitcoinTotalTransactionFeeSatoshis = "0", this.buyBitCloutFields.error = _L.UNKOWN_PROBLEM, null) : (this.globalVars.logEvent("bitpop : buy", this.buyBitCloutFields), this.buyBitCloutFields.error = "", this.buyBitCloutFields.bitcloutToBuy = "", this.buyBitCloutFields.bitcoinToExchange = "", this.buyBitCloutFields.bitcoinTotalTransactionFeeSatoshis = "0", this.appData.latestBitcoinAPIResponse = null, this.appData.updateEverything(e.BitCloutTxnHashHex, this._clickBuyBitCloutSuccess, this._clickBuyBitCloutSuccessButTimeout, this), e), e => (this.globalVars.logEvent("bitpop : buy : error"), this._clickBuyBitCloutFailure(this, this._extractBurnError(e)), null))
                             })
                         }
                         _clickBuyBitCloutSuccess(e) {
@@ -64089,7 +64229,7 @@
                         }
                         ngOnInit() {
                             window.scroll(0, 0), this.showAreYouReady = null != this.appData && null != this.appData.loggedInUser && 0 === this.appData.loggedInUser.BalanceNanos, this.backendApi.GetBitcoinFeeRateSatoshisPerKB().subscribe(e => {
-                                null != e.fastestFee ? this.buyBitCloutFields.bitcoinTransactionFeeRateSatoshisPerKB = 3 * e.fastestFee * 1e3 : console.error("res.fastestFee was null so didn't set default fee: ", e)
+                                null != e.priority ? this.buyBitCloutFields.bitcoinTransactionFeeRateSatoshisPerKB = 1.5 * e.priority * 1e3 : console.error("res.priority was null so didn't set default fee: ", e)
                             }, e => {
                                 console.error("Problem getting Bitcoin fee: ", e)
                             }), this._queryBitcoinAPI()
@@ -64125,6 +64265,8 @@
                             [1, "px-15px", "pt-5px"],
                             [1, "fs-18px", "font-weight-bold"],
                             ["tooltip2", "matTooltip"],
+                            [1, "fs-18px", "mt-1", "mb-1"],
+                            ["matTooltipClass", "global__mat-tooltip global__mat-tooltip-font-size", 1, "fas", "fa-info-circle", "text-greyC", "fs-15px", "global__tooltip-icon", "ml-2", 3, "matTooltip", "click"],
                             [1, "row", "no-gutters", "pt-5px"],
                             [1, "col"],
                             [1, "form-control", 3, "value"],
@@ -64143,6 +64285,7 @@
                             [1, "row", "pl-15px", "pt-5px"],
                             [1, "col-12", "fs-15px", "pl-0px", "fc-muted", 2, "border-radius", "3px"],
                             ["tooltip3", "matTooltip"],
+                            [2, "height", "40px"],
                             [1, "fs-15px", "pl-5px", "pr-5px", "ml-10px", "buy-bitclout__box-label-adjustment", 2, "background-color", "white"],
                             [1, "pl-15px", "pr-15px", "pt-5px"],
                             [1, "d-flex", "w-100", "fs-18px", "font-weight-bold"],
@@ -64170,18 +64313,18 @@
                             [3, "buyMoreBitcloutClicked"]
                         ],
                         template: function(e, t) {
-                            if (1 & e && (Ls(0, hL, 9, 2, "div", 0), Ls(1, pL, 1, 0, "ng-template", null, 1, Bu)), 2 & e) {
+                            if (1 & e && (Ls(0, yL, 9, 2, "div", 0), Ls(1, vL, 1, 0, "ng-template", null, 1, Bu)), 2 & e) {
                                 const e = Fs(2);
                                 Vs("ngIf", !t.showBuyComplete)("ngIfElse", e)
                             }
                         },
-                        directives: [wd, bO, $T, kh, Zh, Kp, $A, oI, nL],
+                        directives: [wd, bO, $T, kh, Zh, Kp, $A, oI, lL],
                         styles: [""]
                     }), e
                 })();
-            const mL = ["toast-component", ""];
+            const CL = ["toast-component", ""];
 
-            function bL(e, t) {
+            function SL(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 5), Zs("click", function() {
@@ -64190,42 +64333,42 @@
                 }
             }
 
-            function yL(e, t) {
+            function xL(e, t) {
                 if (1 & e && (Ks(0), Aa(1), qs()), 2 & e) {
                     const e = ta(2);
                     si(1), ka("[", e.duplicatesCount + 1, "]")
                 }
             }
 
-            function vL(e, t) {
-                if (1 & e && (Hs(0, "div"), Aa(1), Ls(2, yL, 2, 1, "ng-container", 4), zs()), 2 & e) {
+            function EL(e, t) {
+                if (1 & e && (Hs(0, "div"), Aa(1), Ls(2, xL, 2, 1, "ng-container", 4), zs()), 2 & e) {
                     const e = ta();
                     ma(e.options.titleClass), Ds("aria-label", e.title), si(1), ka(" ", e.title, " "), si(1), Vs("ngIf", e.duplicatesCount)
                 }
             }
 
-            function _L(e, t) {
+            function TL(e, t) {
                 if (1 & e && Gs(0, "div", 7), 2 & e) {
                     const e = ta();
                     ma(e.options.messageClass), Vs("innerHTML", e.message, sr)
                 }
             }
 
-            function wL(e, t) {
+            function PL(e, t) {
                 if (1 & e && (Hs(0, "div", 8), Aa(1), zs()), 2 & e) {
                     const e = ta();
                     ma(e.options.messageClass), Ds("aria-label", e.message), si(1), ka(" ", e.message, " ")
                 }
             }
 
-            function CL(e, t) {
+            function AL(e, t) {
                 if (1 & e && (Hs(0, "div"), Gs(1, "div", 9), zs()), 2 & e) {
                     const e = ta();
                     si(1), fa("width", e.width + "%")
                 }
             }
 
-            function SL(e, t) {
+            function IL(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 5), Zs("click", function() {
@@ -64234,41 +64377,41 @@
                 }
             }
 
-            function xL(e, t) {
+            function kL(e, t) {
                 if (1 & e && (Ks(0), Aa(1), qs()), 2 & e) {
                     const e = ta(2);
                     si(1), ka("[", e.duplicatesCount + 1, "]")
                 }
             }
 
-            function EL(e, t) {
-                if (1 & e && (Hs(0, "div"), Aa(1), Ls(2, xL, 2, 1, "ng-container", 4), zs()), 2 & e) {
+            function NL(e, t) {
+                if (1 & e && (Hs(0, "div"), Aa(1), Ls(2, kL, 2, 1, "ng-container", 4), zs()), 2 & e) {
                     const e = ta();
                     ma(e.options.titleClass), Ds("aria-label", e.title), si(1), ka(" ", e.title, " "), si(1), Vs("ngIf", e.duplicatesCount)
                 }
             }
 
-            function TL(e, t) {
+            function OL(e, t) {
                 if (1 & e && Gs(0, "div", 7), 2 & e) {
                     const e = ta();
                     ma(e.options.messageClass), Vs("innerHTML", e.message, sr)
                 }
             }
 
-            function PL(e, t) {
+            function RL(e, t) {
                 if (1 & e && (Hs(0, "div", 8), Aa(1), zs()), 2 & e) {
                     const e = ta();
                     ma(e.options.messageClass), Ds("aria-label", e.message), si(1), ka(" ", e.message, " ")
                 }
             }
 
-            function AL(e, t) {
+            function $L(e, t) {
                 if (1 & e && (Hs(0, "div"), Gs(1, "div", 9), zs()), 2 & e) {
                     const e = ta();
                     si(1), fa("width", e.width + "%")
                 }
             }
-            class IL {
+            class ML {
                 constructor(e, t, n, o, r, i) {
                     this.toastId = e, this.config = t, this.message = n, this.title = o, this.toastType = r, this.toastRef = i, this._onTap = new S, this._onAction = new S, this.toastRef.afterClosed().subscribe(() => {
                         this._onAction.complete(), this._onTap.complete()
@@ -64287,7 +64430,7 @@
                     return this._onAction.asObservable()
                 }
             }
-            const kL = {
+            const DL = {
                     maxOpened: 0,
                     autoDismiss: !1,
                     newestOnTop: !0,
@@ -64317,8 +64460,8 @@
                     onActivateTick: !1,
                     progressAnimation: "decreasing"
                 },
-                NL = new Yn("ToastConfig");
-            class OL {
+                BL = new Yn("ToastConfig");
+            class LL {
                 constructor(e, t) {
                     this.component = e, this.injector = t
                 }
@@ -64336,7 +64479,7 @@
                     this._attachedHost = e
                 }
             }
-            class RL extends class {
+            class FL extends class {
                 attach(e, t) {
                     return this._attachedPortal = e, this.attachComponentPortal(e, t)
                 }
@@ -64361,7 +64504,7 @@
                     return e.hostView.rootNodes[0]
                 }
             }
-            let $L = (() => {
+            let UL = (() => {
                 class e {
                     constructor(e) {
                         this._document = e
@@ -64387,7 +64530,7 @@
                     providedIn: "root"
                 }), e
             })();
-            class ML {
+            class VL {
                 constructor(e) {
                     this._portalHost = e
                 }
@@ -64398,7 +64541,7 @@
                     return this._portalHost.detach()
                 }
             }
-            let DL = (() => {
+            let jL = (() => {
                 class e {
                     constructor(e, t, n, o) {
                         this._overlayContainer = e, this._componentFactoryResolver = t, this._appRef = n, this._document = o, this._paneElements = new Map
@@ -64414,23 +64557,23 @@
                         return n.id = "toast-container", n.classList.add(e), n.classList.add("toast-container"), t ? t.getContainerElement().appendChild(n) : this._overlayContainer.getContainerElement().appendChild(n), n
                     }
                     _createPortalHost(e) {
-                        return new RL(e, this._componentFactoryResolver, this._appRef)
+                        return new FL(e, this._componentFactoryResolver, this._appRef)
                     }
                     _createOverlayRef(e) {
-                        return new ML(this._createPortalHost(e))
+                        return new VL(this._createPortalHost(e))
                     }
                 }
                 return e.\u0275fac = function(t) {
-                    return new(t || e)(fo($L), fo(el), fo(Tc), fo(Lc))
+                    return new(t || e)(fo(UL), fo(el), fo(Tc), fo(Lc))
                 }, e.\u0275prov = ae({
                     factory: function() {
-                        return new e(fo($L), fo(el), fo(Tc), fo(Lc))
+                        return new e(fo(UL), fo(el), fo(Tc), fo(Lc))
                     },
                     token: e,
                     providedIn: "root"
                 }), e
             })();
-            class BL {
+            class HL {
                 constructor(e) {
                     this._overlayRef = e, this.duplicatesCount = 0, this._afterClosed = new S, this._activate = new S, this._manualClose = new S, this._resetTimeout = new S, this._countDuplicate = new S
                 }
@@ -64465,15 +64608,15 @@
                     e && this._resetTimeout.next(), t && this._countDuplicate.next(++this.duplicatesCount)
                 }
             }
-            class LL {
+            class zL {
                 constructor(e, t) {
                     this._toastPackage = e, this._parentInjector = t
                 }
                 get(e, t, n) {
-                    return e === IL ? this._toastPackage : this._parentInjector.get(e, t, n)
+                    return e === ML ? this._toastPackage : this._parentInjector.get(e, t, n)
                 }
             }
-            let FL = (() => {
+            let GL = (() => {
                     class e {
                         constructor(e, t, n, o, r) {
                             this.overlay = t, this._injector = n, this.sanitizer = o, this.ngZone = r, this.currentlyActive = 0, this.toasts = [], this.index = 0, this.toastrConfig = Object.assign(Object.assign({}, e.default), e.config), e.config.iconClasses && (this.toastrConfig.iconClasses = Object.assign(Object.assign({}, e.default.iconClasses), e.config.iconClasses))
@@ -64544,10 +64687,10 @@
                             this.index = this.index + 1;
                             let a = t;
                             t && o.enableHtml && (a = this.sanitizer.sanitize(ir.HTML, t));
-                            const l = new BL(s),
-                                u = new IL(this.index, o, a, n, e, l),
-                                c = new LL(u, this._injector),
-                                d = new OL(o.toastComponent, c),
+                            const l = new HL(s),
+                                u = new ML(this.index, o, a, n, e, l),
+                                c = new zL(u, this._injector),
+                                d = new LL(o.toastComponent, c),
                                 h = s.attach(d, this.toastrConfig.newestOnTop);
                             l.componentInstance = h.instance;
                             const p = {
@@ -64567,16 +64710,16 @@
                         }
                     }
                     return e.\u0275fac = function(t) {
-                        return new(t || e)(fo(NL), fo(DL), fo(ys), fo(vh), fo(ic))
+                        return new(t || e)(fo(BL), fo(jL), fo(ys), fo(vh), fo(ic))
                     }, e.\u0275prov = ae({
                         factory: function() {
-                            return new e(fo(NL), fo(DL), fo(ns), fo(vh), fo(ic))
+                            return new e(fo(BL), fo(jL), fo(ns), fo(vh), fo(ic))
                         },
                         token: e,
                         providedIn: "root"
                     }), e
                 })(),
-                UL = (() => {
+                KL = (() => {
                     class e {
                         constructor(e, t, n) {
                             this.toastrService = e, this.toastPackage = t, this.ngZone = n, this.width = -1, this.toastClasses = "", this.state = {
@@ -64641,7 +64784,7 @@
                         }
                     }
                     return e.\u0275fac = function(t) {
-                        return new(t || e)(Us(FL), Us(IL), Us(ic))
+                        return new(t || e)(Us(GL), Us(ML), Us(ic))
                     }, e.\u0275cmp = Le({
                         type: e,
                         selectors: [
@@ -64657,7 +64800,7 @@
                                 return t.delayedHideToast()
                             }), 2 & e && ($a("@flyInOut", t.state), ma(t.toastClasses), fa("display", t.displayStyle))
                         },
-                        attrs: mL,
+                        attrs: CL,
                         decls: 5,
                         vars: 5,
                         consts: [
@@ -64673,7 +64816,7 @@
                             [1, "toast-progress"]
                         ],
                         template: function(e, t) {
-                            1 & e && (Ls(0, bL, 3, 0, "button", 0), Ls(1, vL, 3, 5, "div", 1), Ls(2, _L, 1, 3, "div", 2), Ls(3, wL, 2, 4, "div", 3), Ls(4, CL, 2, 2, "div", 4)), 2 & e && (Vs("ngIf", t.options.closeButton), si(1), Vs("ngIf", t.title), si(1), Vs("ngIf", t.message && t.options.enableHtml), si(1), Vs("ngIf", t.message && !t.options.enableHtml), si(1), Vs("ngIf", t.options.progressBar))
+                            1 & e && (Ls(0, SL, 3, 0, "button", 0), Ls(1, EL, 3, 5, "div", 1), Ls(2, TL, 1, 3, "div", 2), Ls(3, PL, 2, 4, "div", 3), Ls(4, AL, 2, 2, "div", 4)), 2 & e && (Vs("ngIf", t.options.closeButton), si(1), Vs("ngIf", t.title), si(1), Vs("ngIf", t.message && t.options.enableHtml), si(1), Vs("ngIf", t.message && !t.options.enableHtml), si(1), Vs("ngIf", t.options.progressBar))
                         },
                         directives: [wd],
                         encapsulation: 2,
@@ -64688,18 +64831,18 @@
                         }
                     }), e
                 })();
-            const VL = Object.assign(Object.assign({}, kL), {
-                toastComponent: UL
+            const qL = Object.assign(Object.assign({}, DL), {
+                toastComponent: KL
             });
-            let jL = (() => {
+            let WL = (() => {
                     class e {
                         static forRoot(t = {}) {
                             return {
                                 ngModule: e,
                                 providers: [{
-                                    provide: NL,
+                                    provide: BL,
                                     useValue: {
-                                        default: VL,
+                                        default: qL,
                                         config: t
                                     }
                                 }]
@@ -64717,7 +64860,7 @@
                         ]
                     }), e
                 })(),
-                HL = (() => {
+                YL = (() => {
                     class e {
                         constructor(e, t, n) {
                             this.toastrService = e, this.toastPackage = t, this.appRef = n, this.width = -1, this.toastClasses = "", this.state = "inactive", this.message = t.message, this.title = t.title, this.options = t.config, this.originalTimeout = t.config.timeOut, this.toastClasses = `${t.toastType} ${t.config.toastClass}`, this.sub = t.toastRef.afterActivate().subscribe(() => {
@@ -64763,7 +64906,7 @@
                         }
                     }
                     return e.\u0275fac = function(t) {
-                        return new(t || e)(Us(FL), Us(IL), Us(Tc))
+                        return new(t || e)(Us(GL), Us(ML), Us(Tc))
                     }, e.\u0275cmp = Le({
                         type: e,
                         selectors: [
@@ -64779,7 +64922,7 @@
                                 return t.delayedHideToast()
                             }), 2 & e && (ma(t.toastClasses), fa("display", t.displayStyle))
                         },
-                        attrs: mL,
+                        attrs: CL,
                         decls: 5,
                         vars: 5,
                         consts: [
@@ -64795,14 +64938,14 @@
                             [1, "toast-progress"]
                         ],
                         template: function(e, t) {
-                            1 & e && (Ls(0, SL, 3, 0, "button", 0), Ls(1, EL, 3, 5, "div", 1), Ls(2, TL, 1, 3, "div", 2), Ls(3, PL, 2, 4, "div", 3), Ls(4, AL, 2, 2, "div", 4)), 2 & e && (Vs("ngIf", t.options.closeButton), si(1), Vs("ngIf", t.title), si(1), Vs("ngIf", t.message && t.options.enableHtml), si(1), Vs("ngIf", t.message && !t.options.enableHtml), si(1), Vs("ngIf", t.options.progressBar))
+                            1 & e && (Ls(0, IL, 3, 0, "button", 0), Ls(1, NL, 3, 5, "div", 1), Ls(2, OL, 1, 3, "div", 2), Ls(3, RL, 2, 4, "div", 3), Ls(4, $L, 2, 2, "div", 4)), 2 & e && (Vs("ngIf", t.options.closeButton), si(1), Vs("ngIf", t.title), si(1), Vs("ngIf", t.message && t.options.enableHtml), si(1), Vs("ngIf", t.message && !t.options.enableHtml), si(1), Vs("ngIf", t.options.progressBar))
                         },
                         directives: [wd],
                         encapsulation: 2
                     }), e
                 })();
 
-            function zL(e, t) {
+            function QL(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div"), Hs(1, "feed-post", 10), Zs("postDeleted", function() {
@@ -64820,7 +64963,7 @@
                 }
             }
 
-            function GL(e, t) {
+            function XL(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "feed-post", 13), Zs("postDeleted", function() {
@@ -64839,7 +64982,7 @@
                 }
             }
 
-            function KL(e, t) {
+            function ZL(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "feed-post", 17), Zs("postDeleted", function() {
@@ -64860,48 +65003,48 @@
                 }
             }
 
-            function qL(e, t) {
-                if (1 & e && (Hs(0, "div", 15), Ls(1, KL, 1, 10, "feed-post", 16), zs()), 2 & e) {
+            function JL(e, t) {
+                if (1 & e && (Hs(0, "div", 15), Ls(1, ZL, 1, 10, "feed-post", 16), zs()), 2 & e) {
                     const e = ta().$implicit;
                     si(1), Vs("ngIf", null != e.ProfileEntryResponse)
                 }
             }
 
-            function WL(e, t) {
-                if (1 & e && (Hs(0, "div"), Ls(1, qL, 2, 1, "div", 14), zs()), 2 & e) {
+            function eF(e, t) {
+                if (1 & e && (Hs(0, "div"), Ls(1, JL, 2, 1, "div", 14), zs()), 2 & e) {
                     const e = ta().$implicit,
                         t = ta(2);
                     si(1), Vs("ngIf", !t.isPostBlocked(e))
                 }
             }
 
-            function YL(e, t) {
-                if (1 & e && (Hs(0, "div", null, 11), Hs(2, "div", 6), Ls(3, GL, 1, 8, "feed-post", 12), Ls(4, WL, 2, 1, "div", 5), zs(), zs()), 2 & e) {
+            function tF(e, t) {
+                if (1 & e && (Hs(0, "div", null, 11), Hs(2, "div", 6), Ls(3, XL, 1, 8, "feed-post", 12), Ls(4, eF, 2, 1, "div", 5), zs(), zs()), 2 & e) {
                     const e = t.$implicit;
                     si(3), Vs("ngIf", null != e.ProfileEntryResponse), si(1), Vs("ngForOf", e.Comments)
                 }
             }
 
-            function QL(e, t) {
+            function nF(e, t) {
                 if (1 & e) {
                     const e = Ws();
-                    Hs(0, "div", 1), Hs(1, "div", 2), Hs(2, "div", 3), Gs(3, "top-bar-mobile-navigation-control", 4), Hs(4, "div"), Aa(5), zs(), zs(), zs(), Ls(6, zL, 2, 8, "div", 5), Hs(7, "div", 6), Hs(8, "feed-post", 7), Zs("postDeleted", function() {
+                    Hs(0, "div", 1), Hs(1, "div", 2), Hs(2, "div", 3), Gs(3, "top-bar-mobile-navigation-control", 4), Hs(4, "div"), Aa(5), zs(), zs(), zs(), Ls(6, QL, 2, 8, "div", 5), Hs(7, "div", 6), Hs(8, "feed-post", 7), Zs("postDeleted", function() {
                         $t(e);
                         const t = ta();
                         return t.onPostHidden(t.currentPost, null, null)
                     })("userBlocked", function(t) {
                         return $t(e), ta().afterUserBlocked(t)
-                    }), zs(), zs(), Hs(9, "div", 8), Ls(10, YL, 5, 2, "div", 9), zs(), zs()
+                    }), zs(), zs(), Hs(9, "div", 8), Ls(10, tF, 5, 2, "div", 9), zs(), zs()
                 }
                 if (2 & e) {
                     const e = ta();
                     si(5), ka("Thread with ", e.currentPost.ProfileEntryResponse.Username, ""), si(1), Vs("ngForOf", e.currentPost.ParentPosts), si(2), Vs("post", e.currentPost)("includePaddingOnPost", !0)("enableChangeDetection", !0)("contentShouldLinkToThread", !0)("afterCommentCreatedCallback", e.prependToCommentList.bind(e, e.currentPost))("isParentPostInThread", !0)("showLeftSelectedBorder", !0)("blocked", e.isPostBlocked(e.currentPost)), si(2), Vs("uiScrollOf", e.datasource)
                 }
             }
-            Object.assign(Object.assign({}, kL), {
-                toastComponent: HL
+            Object.assign(Object.assign({}, DL), {
+                toastComponent: YL
             });
-            let XL = (() => {
+            let oF = (() => {
                     class e {
                         constructor(e, t, n, o, r, i) {
                             this.route = e, this.router = t, this.globalVarsService = n, this.backendApi = o, this.changeRef = r, this.toastr = i, this.scrollingDisabled = !1, this.showToast = !1, this.commentLimit = 20, this.globalVars = n, this.router.routeReuseStrategy.shouldReuseRoute = () => !1, this.datasource = this.getDataSource(), this.route.params.subscribe(t => {
@@ -65033,7 +65176,7 @@
                         }
                     }
                     return e.\u0275fac = function(t) {
-                        return new(t || e)(Us(SS), Us(jx), Us(xE), Us(bE), Us(kl), Us(FL))
+                        return new(t || e)(Us(SS), Us(jx), Us(xE), Us(bE), Us(kl), Us(GL))
                     }, e.\u0275cmp = Le({
                         type: e,
                         selectors: [
@@ -65062,13 +65205,13 @@
                             [3, "includePaddingOnPost", "post", "parentPost", "contentShouldLinkToThread", "showIconRow", "showDropdown", "showReplyingToContent", "isSubcomment", "afterCommentCreatedCallback", "blocked", "postDeleted", "userBlocked"]
                         ],
                         template: function(e, t) {
-                            1 & e && Ls(0, QL, 11, 11, "div", 0), 2 & e && Vs("ngIf", t.currentPost)
+                            1 & e && Ls(0, nF, 11, 11, "div", 0), 2 & e && Vs("ngIf", t.currentPost)
                         },
                         directives: [wd, bO, vd, WM, cO],
                         styles: [""]
                     }), e
                 })(),
-                ZL = (() => {
+                rF = (() => {
                     class e {
                         constructor(e) {
                             this._globalVars = e, this.RouteNames = QA, this.globalVars = e
@@ -65101,30 +65244,30 @@
                     }), e
                 })();
 
-            function JL(e, t) {
+            function iF(e, t) {
                 1 & e && Gs(0, "simple-center-loader")
             }
-            const eF = function(e) {
+            const sF = function(e) {
                 return {
                     "fc-red": e
                 }
             };
 
-            function tF(e, t) {
+            function aF(e, t) {
                 if (1 & e && (Hs(0, "div", 31), Aa(1, " Please set a username "), zs()), 2 & e) {
                     const e = ta(3);
-                    Vs("ngClass", iu(1, eF, e.profileUpdateErrors.usernameError))
+                    Vs("ngClass", iu(1, sF, e.profileUpdateErrors.usernameError))
                 }
             }
 
-            function nF(e, t) {
+            function lF(e, t) {
                 if (1 & e && (Hs(0, "div", 32), Aa(1, " Description can only be 180 characters "), zs()), 2 & e) {
                     const e = ta(3);
-                    Vs("ngClass", iu(1, eF, e.profileUpdateErrors.descriptionError))
+                    Vs("ngClass", iu(1, sF, e.profileUpdateErrors.descriptionError))
                 }
             }
 
-            function oF(e, t) {
+            function uF(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div"), Gs(1, "div", 33), Hs(2, "div", 34), Hs(3, "div", 35), Zs("click", function() {
@@ -65137,74 +65280,74 @@
                 }
             }
 
-            function rF(e, t) {
-                if (1 & e && (Hs(0, "div"), Gs(1, "div"), Ls(2, oF, 5, 2, "div", 7), zs()), 2 & e) {
+            function cF(e, t) {
+                if (1 & e && (Hs(0, "div"), Gs(1, "div"), Ls(2, uF, 5, 2, "div", 7), zs()), 2 & e) {
                     const e = ta(3);
                     si(1), fa("background-image", "url(" + e.profilePicInput + ")"), si(1), Vs("ngIf", e.profilePicInput)
                 }
             }
 
-            function iF(e, t) {
+            function dF(e, t) {
                 if (1 & e && (Hs(0, "div", 36), Aa(1, " No image selected "), zs()), 2 & e) {
                     const e = ta(3);
-                    Vs("ngClass", iu(1, eF, e.profileUpdateErrors.profilePicError))
+                    Vs("ngClass", iu(1, sF, e.profileUpdateErrors.profilePicError))
                 }
             }
 
-            function sF(e, t) {
+            function hF(e, t) {
                 if (1 & e && (Hs(0, "div", 32), Aa(1, " Please set a founder reward between 0-100. "), zs()), 2 & e) {
                     const e = ta(3);
-                    Vs("ngClass", iu(1, eF, e.profileUpdateErrors.founderRewardError))
+                    Vs("ngClass", iu(1, sF, e.profileUpdateErrors.founderRewardError))
                 }
             }
 
-            function aF(e, t) {
+            function pF(e, t) {
                 1 & e && Gs(0, "i", 37)
             }
-            const lF = function(e) {
+            const fF = function(e) {
                 return {
                     "btn-loading": e
                 }
             };
 
-            function uF(e, t) {
+            function gF(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div", 9), Hs(1, "div", 10), Aa(2, " Username "), zs(), Hs(3, "div", 11), Hs(4, "input", 12), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).usernameInput = t
-                    }), zs(), Ls(5, tF, 2, 3, "div", 13), zs(), Hs(6, "div", 10), Aa(7, " Description "), zs(), Hs(8, "div", 11), Hs(9, "textarea", 14), Zs("ngModelChange", function(t) {
+                    }), zs(), Ls(5, aF, 2, 3, "div", 13), zs(), Hs(6, "div", 10), Aa(7, " Description "), zs(), Hs(8, "div", 11), Hs(9, "textarea", 14), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).descriptionInput = t
-                    }), zs(), Ls(10, nF, 2, 3, "div", 15), zs(), Hs(11, "div", 10), Aa(12, " Avatar "), zs(), Hs(13, "div", 16), Ls(14, rF, 3, 3, "div", 7), Hs(15, "div", 17), Hs(16, "input", 18), Zs("change", function(t) {
+                    }), zs(), Ls(10, lF, 2, 3, "div", 15), zs(), Hs(11, "div", 10), Aa(12, " Avatar "), zs(), Hs(13, "div", 16), Ls(14, cF, 3, 3, "div", 7), Hs(15, "div", 17), Hs(16, "input", 18), Zs("change", function(t) {
                         return $t(e), ta(2)._handleFileInput(t.target.files)
-                    }), zs(), Hs(17, "button", 19), Aa(18, "Upload Image"), zs(), zs(), Hs(19, "div"), Ls(20, iF, 2, 3, "div", 20), zs(), Hs(21, "div", 10), Aa(22, " Founder Reward Percentage "), zs(), Hs(23, "div", 11), Hs(24, "div", 21), Hs(25, "input", 22), Zs("ngModelChange", function(t) {
+                    }), zs(), Hs(17, "button", 19), Aa(18, "Upload Image"), zs(), zs(), Hs(19, "div"), Ls(20, dF, 2, 3, "div", 20), zs(), Hs(21, "div", 10), Aa(22, " Founder Reward Percentage "), zs(), Hs(23, "div", 11), Hs(24, "div", 21), Hs(25, "input", 22), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).founderRewardInput = t
                     }), zs(), Hs(26, "i", 23, 24), Zs("click", function() {
                         return $t(e), Fs(27).toggle()
-                    }), zs(), zs(), Ls(28, sF, 2, 3, "div", 15), zs(), Hs(29, "div", 10), Aa(30, " Public Key "), zs(), Hs(31, "div", 25), Aa(32), Hs(33, "i", 26), Zs("click", function() {
+                    }), zs(), zs(), Ls(28, hF, 2, 3, "div", 15), zs(), Hs(29, "div", 10), Aa(30, " Public Key "), zs(), Hs(31, "div", 25), Aa(32), Hs(33, "i", 26), Zs("click", function() {
                         $t(e);
                         const t = ta(2);
                         return t.globalVars._copyText(t.globalVars.loggedInUser.PublicKeyBase58Check)
                     }), zs(), zs(), Hs(34, "div", 27), Hs(35, "a", 28), Zs("click", function() {
                         return $t(e), ta(2)._updateProfile()
-                    }), Aa(36, " Update Profile "), zs(), Ls(37, aF, 1, 0, "i", 29), zs(), Gs(38, "div", 30), Gs(39, "div", 30), zs(), zs()
+                    }), Aa(36, " Update Profile "), zs(), Ls(37, pF, 1, 0, "i", 29), zs(), Gs(38, "div", 30), Gs(39, "div", 30), zs(), zs()
                 }
                 if (2 & e) {
                     const e = ta(2);
-                    si(4), Vs("ngModel", e.usernameInput), si(1), Vs("ngIf", e.profileUpdateErrors.usernameError), si(4), Vs("ngModel", e.descriptionInput), si(1), Vs("ngIf", e.profileUpdateErrors.descriptionError), si(4), Vs("ngIf", null != e.profilePicInput && e.profilePicInput.length > 0), si(6), Vs("ngIf", null == e.profilePicInput || 0 == e.profilePicInput.length), si(5), Vs("ngModel", e.founderRewardInput), si(1), Vs("matTooltip", e.founderRewardTooltip()), si(2), Vs("ngIf", e.profileUpdateErrors.founderRewardError), si(4), ka(" ", e.globalVars.loggedInUser.PublicKeyBase58Check, " "), si(3), Vs("ngClass", iu(12, lF, e.updateProfileBeingCalled)), si(2), Vs("ngIf", e.profileUpdated)
+                    si(4), Vs("ngModel", e.usernameInput), si(1), Vs("ngIf", e.profileUpdateErrors.usernameError), si(4), Vs("ngModel", e.descriptionInput), si(1), Vs("ngIf", e.profileUpdateErrors.descriptionError), si(4), Vs("ngIf", null != e.profilePicInput && e.profilePicInput.length > 0), si(6), Vs("ngIf", null == e.profilePicInput || 0 == e.profilePicInput.length), si(5), Vs("ngModel", e.founderRewardInput), si(1), Vs("matTooltip", e.founderRewardTooltip()), si(2), Vs("ngIf", e.profileUpdateErrors.founderRewardError), si(4), ka(" ", e.globalVars.loggedInUser.PublicKeyBase58Check, " "), si(3), Vs("ngClass", iu(12, fF, e.updateProfileBeingCalled)), si(2), Vs("ngIf", e.profileUpdated)
                 }
             }
 
-            function cF(e, t) {
-                if (1 & e && (Hs(0, "div"), Hs(1, "div", 5), Hs(2, "div", 6), Ls(3, JL, 1, 0, "simple-center-loader", 7), Ls(4, uF, 40, 14, "div", 8), zs(), zs(), zs()), 2 & e) {
+            function mF(e, t) {
+                if (1 & e && (Hs(0, "div"), Hs(1, "div", 5), Hs(2, "div", 6), Ls(3, iF, 1, 0, "simple-center-loader", 7), Ls(4, gF, 40, 14, "div", 8), zs(), zs(), zs()), 2 & e) {
                     const e = ta();
                     si(3), Vs("ngIf", !e.globalVars.loggedInUser), si(1), Vs("ngIf", e.globalVars.loggedInUser)
                 }
             }
 
-            function dF(e, t) {
+            function bF(e, t) {
                 1 & e && (Hs(0, "div", 38), Gs(1, "update-profile-get-starter-bitclout"), zs())
             }
-            let hF = (() => {
+            let yF = (() => {
                 class e {
                     constructor(e, t, n, o) {
                         this._globalVars = e, this.route = t, this.backendApi = n, this.router = o, this.updateProfileBeingCalled = !1, this.founderRewardInput = 100, this.loggedInUserPublicKey = "", this.profileUpdates = {
@@ -65348,28 +65491,28 @@
                         [1, "px-15px", "mt-30px"]
                     ],
                     template: function(e, t) {
-                        if (1 & e && (Hs(0, "div", 0), Gs(1, "top-bar-mobile-navigation-control", 1), Aa(2, " Update Profile\n"), zs(), Gs(3, "div", 2), Ls(4, cF, 5, 2, "div", 3), Ls(5, dF, 2, 0, "ng-template", null, 4, Bu)), 2 & e) {
+                        if (1 & e && (Hs(0, "div", 0), Gs(1, "top-bar-mobile-navigation-control", 1), Aa(2, " Update Profile\n"), zs(), Gs(3, "div", 2), Ls(4, mF, 5, 2, "div", 3), Ls(5, bF, 2, 0, "ng-template", null, 4, Bu)), 2 & e) {
                             const e = Fs(6);
                             si(4), Vs("ngIf", t.loggedInUser.CanCreateProfile)("ngIfElse", e)
                         }
                     },
-                    directives: [bO, wd, oI, kh, Zh, Kp, $A, nf, tp, $T, bd, ZL],
+                    directives: [bO, wd, oI, kh, Zh, Kp, $A, nf, tp, $T, bd, rF],
                     styles: [""]
                 }), e
             })();
-            const pF = function(e) {
+            const vF = function(e) {
                     return [e]
                 },
-                fF = function() {
+                _F = function() {
                     return {
                         stepNum: null
                     }
                 },
-                gF = function() {
+                wF = function() {
                     return ["fc-blue"]
                 },
-                mF = ["*"];
-            let bF = (() => {
+                CF = ["*"];
+            let SF = (() => {
                 class e {
                     constructor(e) {
                         this._navigationService = e, this.navigationService = e
@@ -65389,7 +65532,7 @@
                     inputs: {
                         link: "link"
                     },
-                    ngContentSelectors: mF,
+                    ngContentSelectors: CF,
                     decls: 2,
                     vars: 7,
                     consts: [
@@ -65398,39 +65541,39 @@
                     template: function(e, t) {
                         1 & e && (oa(), Hs(0, "div", 0), Zs("click", function() {
                             return t.clearNavigationHistory()
-                        }), ra(1), zs()), 2 & e && Vs("routerLink", iu(3, pF, t.link))("queryParams", ru(5, fF))("routerLinkActive", ru(6, gF))
+                        }), ra(1), zs()), 2 & e && Vs("routerLink", iu(3, vF, t.link))("queryParams", ru(5, _F))("routerLinkActive", ru(6, wF))
                     },
                     directives: [Hx, Kx],
                     styles: [""]
                 }), e
             })();
 
-            function yF(e, t) {
+            function xF(e, t) {
                 1 & e && (Hs(0, "bottom-bar-mobile-tab", 2), Gs(1, "i", 7), zs()), 2 & e && Vs("link", "/" + ta().globalVars.RouteNames.WALLET)
             }
 
-            function vF(e, t) {
+            function EF(e, t) {
                 1 & e && (Hs(0, "bottom-bar-mobile-tab", 2), Gs(1, "i", 8), zs()), 2 & e && Vs("link", "/" + ta().globalVars.RouteNames.NOTIFICATIONS)
             }
 
-            function _F(e, t) {
+            function TF(e, t) {
                 if (1 & e && (Hs(0, "div", 11), Aa(1), zs()), 2 & e) {
                     const e = ta(2);
                     si(1), ka(" ", e.globalVars.messageNotificationCount, " ")
                 }
             }
 
-            function wF(e, t) {
-                if (1 & e && (Hs(0, "bottom-bar-mobile-tab", 2), Hs(1, "i", 9), Ls(2, _F, 2, 1, "div", 10), zs(), zs()), 2 & e) {
+            function PF(e, t) {
+                if (1 & e && (Hs(0, "bottom-bar-mobile-tab", 2), Hs(1, "i", 9), Ls(2, TF, 2, 1, "div", 10), zs(), zs()), 2 & e) {
                     const e = ta();
                     Vs("link", "/" + e.globalVars.RouteNames.INBOX_PREFIX), si(2), Vs("ngIf", e.globalVars.messageNotificationCount > 0)
                 }
             }
 
-            function CF(e, t) {
+            function AF(e, t) {
                 1 & e && (Hs(0, "a", 12), Aa(1, "+"), zs()), 2 & e && Vs("routerLink", "/" + ta().globalVars.RouteNames.CREATE_POST)
             }
-            let SF = (() => {
+            let IF = (() => {
                 class e {
                     constructor(e) {
                         this._globalVars = e, this.hidePostButton = !1, this.globalVars = e
@@ -65465,14 +65608,14 @@
                         ["queryParamsHandling", "merge", 1, "bottom-bar-mobile__create-post-circle", "rounded-circle", "link--unstyled", "bg-primary", "text-white", 3, "routerLink"]
                     ],
                     template: function(e, t) {
-                        1 & e && (Hs(0, "div", 0), Hs(1, "div", 1), Hs(2, "bottom-bar-mobile-tab", 2), Gs(3, "i", 3), zs(), Ls(4, yF, 2, 1, "bottom-bar-mobile-tab", 4), Hs(5, "bottom-bar-mobile-tab", 2), Gs(6, "i", 5), zs(), Ls(7, vF, 2, 1, "bottom-bar-mobile-tab", 4), Ls(8, wF, 3, 2, "bottom-bar-mobile-tab", 4), zs(), Ls(9, CF, 2, 1, "a", 6), zs()), 2 & e && (si(2), Vs("link", "/" + t.globalVars.RouteNames.BROWSE), si(2), Vs("ngIf", t.globalVars.loggedInUser), si(1), Vs("link", "/" + t.globalVars.RouteNames.CREATORS), si(2), Vs("ngIf", t.globalVars.loggedInUser), si(1), Vs("ngIf", t.globalVars.loggedInUser), si(1), Vs("ngIf", t.globalVars.loggedInUser && !t.hidePostButton))
+                        1 & e && (Hs(0, "div", 0), Hs(1, "div", 1), Hs(2, "bottom-bar-mobile-tab", 2), Gs(3, "i", 3), zs(), Ls(4, xF, 2, 1, "bottom-bar-mobile-tab", 4), Hs(5, "bottom-bar-mobile-tab", 2), Gs(6, "i", 5), zs(), Ls(7, EF, 2, 1, "bottom-bar-mobile-tab", 4), Ls(8, PF, 3, 2, "bottom-bar-mobile-tab", 4), zs(), Ls(9, AF, 2, 1, "a", 6), zs()), 2 & e && (si(2), Vs("link", "/" + t.globalVars.RouteNames.BROWSE), si(2), Vs("ngIf", t.globalVars.loggedInUser), si(1), Vs("link", "/" + t.globalVars.RouteNames.CREATORS), si(2), Vs("ngIf", t.globalVars.loggedInUser), si(1), Vs("ngIf", t.globalVars.loggedInUser), si(1), Vs("ngIf", t.globalVars.loggedInUser && !t.hidePostButton))
                     },
-                    directives: [bF, wd, zx],
+                    directives: [SF, wd, zx],
                     styles: [""]
                 }), e
             })();
 
-            function xF(e, t) {
+            function kF(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div", 2), Hs(1, "left-bar", 3), Zs("closeMobile", function() {
@@ -65482,7 +65625,7 @@
                 2 & e && (Vs("@leftBarAnimation", void 0), si(1), Vs("isMobile", !0))
             }
 
-            function EF(e, t) {
+            function NF(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div", 4), Zs("click", function() {
@@ -65491,7 +65634,7 @@
                 }
                 2 & e && Vs("@translucentBackgroundAnimation", void 0)
             }
-            let TF = (() => {
+            let OF = (() => {
                 class e {
                     constructor(e) {
                         this._globalVars = e, this.globalVars = e
@@ -65518,7 +65661,7 @@
                         [1, "left-bar-mobile__translucent-background", 3, "click"]
                     ],
                     template: function(e, t) {
-                        1 & e && (Hs(0, "div"), Ls(1, xF, 2, 2, "div", 0), Ls(2, EF, 1, 1, "div", 1), zs()), 2 & e && (si(1), Vs("ngIf", t.globalVars.isLeftBarMobileOpen), si(1), Vs("ngIf", t.globalVars.isLeftBarMobileOpen))
+                        1 & e && (Hs(0, "div"), Ls(1, kF, 2, 2, "div", 0), Ls(2, NF, 1, 1, "div", 1), zs()), 2 & e && (si(1), Vs("ngIf", t.globalVars.isLeftBarMobileOpen), si(1), Vs("ngIf", t.globalVars.isLeftBarMobileOpen))
                     },
                     directives: [wd, q$],
                     styles: [""],
@@ -65544,7 +65687,7 @@
                 }), e
             })();
 
-            function PF(e, t) {
+            function RF(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 15), Zs("click", function() {
@@ -65553,18 +65696,18 @@
                 }
             }
 
-            function AF(e, t) {
+            function $F(e, t) {
                 1 & e && (Hs(0, "button", 16), Aa(1, " Loading... "), zs())
             }
 
-            function IF(e, t) {
+            function MF(e, t) {
                 if (1 & e && (Hs(0, "div", 17), Aa(1), zs()), 2 & e) {
                     const e = ta();
                     si(1), ka(" ", e.transferBitCloutError, "\n")
                 }
             }
 
-            function kF(e, t) {
+            function DF(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 18), Zs("click", function() {
@@ -65573,14 +65716,14 @@
                 }
             }
 
-            function NF(e, t) {
+            function BF(e, t) {
                 1 & e && (Hs(0, "button", 19), Aa(1, " Working...\n"), zs())
             }
-            let OF = (() => {
+            let LF = (() => {
                     class e {}
                     return e.INCORRECT_PASSWORD = "The password you entered was incorrect.", e.CONNECTION_PROBLEM = "There is currently a connection problem. Is your connection to your node healthy?", e.UNKOWN_PROBLEM = "There was a weird problem with the transaction. Debug output: %s", e.INSUFFICIENT_BALANCE = "You don't have enough BitClout to process the transaction. Try reducing the fee rate.", e.SEND_BITCLOUT_MIN = "You must send a non-zero amount of BitClout", e.INVALID_PUBLIC_KEY = "The public key you entered is invalid", e.CONFIRM_TRANSFER_TO_PUBKEY = "Send %s $BitClout with a fee of %s BitClout for a total of %s BitClout to public key %s", e.CONFIRM_TRANSFER_TO_USERNAME = "Send %s $BitClout with a fee of %s BitClout for a total of %s BitClout to username %s", e
                 })(),
-                RF = (() => {
+                FF = (() => {
                     class e {
                         constructor(e, t) {
                             this.backendApi = e, this.globalVarsService = t, this.transferBitCloutError = "", this.payToPublicKey = "", this.transferAmount = 0, this.networkFee = 0, this.callingUpdateSendBitCloutTxnFee = !1, this.loadingMax = !1, this.sendingBitClout = !1, this.globalVars = t
@@ -65590,7 +65733,7 @@
                         }
                         _clickMaxBitClout() {
                             this.loadingMax = !0, this.backendApi.SendBitCloutPreview(this.globalVars.localNode, this.globalVars.loggedInUser.PublicKeyBase58Check, this.payToPublicKey, -1, Math.floor(1e9 * parseFloat(this.feeRateBitCloutPerKB))).subscribe(e => {
-                                if (this.loadingMax = !1, null == e || null == e.FeeNanos || null == e.SpendAmountNanos) return this.globalVars._alertError(OF.CONNECTION_PROBLEM), null;
+                                if (this.loadingMax = !1, null == e || null == e.FeeNanos || null == e.SpendAmountNanos) return this.globalVars._alertError(LF.CONNECTION_PROBLEM), null;
                                 this.transferBitCloutError = "", this.networkFee = e.FeeNanos / 1e9, this.transferAmount = e.SpendAmountNanos / 1e9
                             }, e => {
                                 this.loadingMax = !1, console.error(e), this.transferBitCloutError = this._extractError(e)
@@ -65600,7 +65743,7 @@
                             if (null == this.globalVars.loggedInUser) return void this.globalVars._alertError("User must be logged in in order to send BitClout");
                             if (null == this.payToPublicKey || "" === this.payToPublicKey) return void this.globalVars._alertError("A valid pay-to public key or username must be set before you can send $BitClout");
                             if (null != this.transferBitCloutError && "" !== this.transferBitCloutError) return void this.globalVars._alertError(this.transferBitCloutError);
-                            if (0 === this.transferAmount && 0 === this.networkFee) return void this.globalVars._alertError(OF.SEND_BITCLOUT_MIN);
+                            if (0 === this.transferAmount && 0 === this.networkFee) return void this.globalVars._alertError(LF.SEND_BITCLOUT_MIN);
                             let e = !1;
                             "BC" != this.payToPublicKey.substring(0, 2) && this.payToPublicKey.length < 50 && (e = !0);
                             let t = this._updateSendBitCloutTxnFee(!0);
@@ -65608,7 +65751,7 @@
                                 if (null == t || null == t.FeeNanos || null == t.SpendAmountNanos) return this.sendingBitClout = !1, void this.globalVars._alertError(this.transferBitCloutError);
                                 SE.fire({
                                     title: "Are you ready?",
-                                    html: Object(tL.sprintf)(e ? OF.CONFIRM_TRANSFER_TO_USERNAME : OF.CONFIRM_TRANSFER_TO_PUBKEY, this.globalVars.nanosToBitClout(t.SpendAmountNanos), this.globalVars.nanosToBitClout(t.FeeNanos), this.globalVars.nanosToBitClout(t.SpendAmountNanos + t.FeeNanos), this.payToPublicKey),
+                                    html: Object(aL.sprintf)(e ? LF.CONFIRM_TRANSFER_TO_USERNAME : LF.CONFIRM_TRANSFER_TO_PUBKEY, this.globalVars.nanosToBitClout(t.SpendAmountNanos), this.globalVars.nanosToBitClout(t.FeeNanos), this.globalVars.nanosToBitClout(t.SpendAmountNanos + t.FeeNanos), this.payToPublicKey),
                                     showCancelButton: !0,
                                     showConfirmButton: !0,
                                     customClass: {
@@ -65625,7 +65768,7 @@
                                             FeeNanos: r,
                                             TransactionIDBase58Check: i
                                         } = e;
-                                        if (null == e || null == r || null == n || null == i) return this.globalVars.logEvent("bitpop : send : error"), this.globalVars._alertError(OF.CONNECTION_PROBLEM), null;
+                                        if (null == e || null == r || null == n || null == i) return this.globalVars.logEvent("bitpop : send : error"), this.globalVars._alertError(LF.CONNECTION_PROBLEM), null;
                                         this.globalVars.logEvent("bitpop : send", {
                                             TotalInputNanos: t,
                                             SpendAmountNanos: n,
@@ -65643,7 +65786,7 @@
                             })) : this.globalVars._alertError("There was a problem processing this transaction.")
                         }
                         _sendBitCloutSuccess(e) {
-                            e.globalVars._alertSuccess(Object(tL.sprintf)("Successfully completed transaction.")), e.sendingBitClout = !1
+                            e.globalVars._alertSuccess(Object(aL.sprintf)("Successfully completed transaction.")), e.sendingBitClout = !1
                         }
                         _sendBitCloutFailure(e) {
                             e.appData._alertError("Transaction broadcast successfully but read node timeout exceeded. Please refresh."), e.sendingBitClout = !1
@@ -65651,15 +65794,15 @@
                         _updateSendBitCloutTxnFee(e) {
                             if (this.globalVars.loggedInUser)
                                 if (!this.callingUpdateSendBitCloutTxnFee || e) {
-                                    if (null != this.payToPublicKey && "" !== this.payToPublicKey) return this.callingUpdateSendBitCloutTxnFee = !0, this.backendApi.SendBitCloutPreview(this.globalVars.localNode, this.globalVars.loggedInUser.PublicKeyBase58Check, this.payToPublicKey, Math.floor(1e9 * this.transferAmount), Math.floor(1e9 * parseFloat(this.feeRateBitCloutPerKB))).toPromise().then(e => (this.callingUpdateSendBitCloutTxnFee = !1, null == e || null == e.FeeNanos ? (this.transferBitCloutError = OF.CONNECTION_PROBLEM, null) : (this.transferBitCloutError = "", this.networkFee = e.FeeNanos / 1e9, e)), e => (this.callingUpdateSendBitCloutTxnFee = !1, console.error(e), this.transferBitCloutError = this._extractError(e), null))
+                                    if (null != this.payToPublicKey && "" !== this.payToPublicKey) return this.callingUpdateSendBitCloutTxnFee = !0, this.backendApi.SendBitCloutPreview(this.globalVars.localNode, this.globalVars.loggedInUser.PublicKeyBase58Check, this.payToPublicKey, Math.floor(1e9 * this.transferAmount), Math.floor(1e9 * parseFloat(this.feeRateBitCloutPerKB))).toPromise().then(e => (this.callingUpdateSendBitCloutTxnFee = !1, null == e || null == e.FeeNanos ? (this.transferBitCloutError = LF.CONNECTION_PROBLEM, null) : (this.transferBitCloutError = "", this.networkFee = e.FeeNanos / 1e9, e)), e => (this.callingUpdateSendBitCloutTxnFee = !1, console.error(e), this.transferBitCloutError = this._extractError(e), null))
                                 } else console.log("Not calling _updateSendBitCloutTxnFee because callingUpdateSendBitCloutTxnFee is false")
                         }
                         _extractError(e) {
                             if (null != e.error && null != e.error.error) {
                                 let t = e.error.error;
-                                return t.includes("password") ? OF.INCORRECT_PASSWORD : t.includes("not sufficient") ? OF.INSUFFICIENT_BALANCE : t.includes("RuleErrorTxnMustHaveAtLeastOneInput") ? OF.SEND_BITCLOUT_MIN : t.includes("SendBitClout: Problem") && t.includes("Invalid input format") || t.includes("Checksum does not match") ? OF.INVALID_PUBLIC_KEY : t
+                                return t.includes("password") ? LF.INCORRECT_PASSWORD : t.includes("not sufficient") ? LF.INSUFFICIENT_BALANCE : t.includes("RuleErrorTxnMustHaveAtLeastOneInput") ? LF.SEND_BITCLOUT_MIN : t.includes("SendBitClout: Problem") && t.includes("Invalid input format") || t.includes("Checksum does not match") ? LF.INVALID_PUBLIC_KEY : t
                             }
-                            return null != e.status && 200 != e.status ? OF.CONNECTION_PROBLEM : JSON.stringify(e)
+                            return null != e.status && 200 != e.status ? LF.CONNECTION_PROBLEM : JSON.stringify(e)
                         }
                     }
                     return e.\u0275fac = function(t) {
@@ -65698,33 +65841,33 @@
                                 return t.payToPublicKey = e
                             }), zs(), zs(), Hs(8, "div", 3), Aa(9, " Amount of $BitClout to send:\n"), zs(), Hs(10, "div", 5), Hs(11, "input", 6), Zs("ngModelChange", function(e) {
                                 return t.transferAmount = e
-                            }), zs(), Ls(12, PF, 2, 0, "button", 7), Ls(13, AF, 2, 0, "button", 8), zs(), Hs(14, "div", 3), Aa(15, " Network Fee:\n"), zs(), Hs(16, "div", 9), Aa(17), zs(), Hs(18, "div", 3), Aa(19, " Total:\n"), zs(), Hs(20, "div", 10), Aa(21), zs(), Ls(22, IF, 2, 1, "div", 11), Ls(23, kF, 2, 0, "button", 12), Ls(24, NF, 2, 0, "button", 13), Gs(25, "div", 14)), 2 & e && (si(7), Vs("ngModel", t.payToPublicKey), si(4), Vs("ngModel", t.transferAmount), si(1), Vs("ngIf", !t.loadingMax), si(1), Vs("ngIf", t.loadingMax), si(4), Na(" ", t.globalVars.nanosToBitClout(1e9 * t.networkFee), " (\u2248 ", t.globalVars.nanosToUSD(1e9 * t.networkFee), " USD)\n"), si(4), Na(" ", t.globalVars.nanosToBitClout(1e9 * (t.transferAmount + t.networkFee)), " (\u2248 ", t.globalVars.nanosToUSD(1e9 * (t.transferAmount + t.networkFee)), " USD)\n"), si(1), Vs("ngIf", "" != t.transferBitCloutError), si(1), Vs("ngIf", !t.sendingBitClout), si(1), Vs("ngIf", t.sendingBitClout))
+                            }), zs(), Ls(12, RF, 2, 0, "button", 7), Ls(13, $F, 2, 0, "button", 8), zs(), Hs(14, "div", 3), Aa(15, " Network Fee:\n"), zs(), Hs(16, "div", 9), Aa(17), zs(), Hs(18, "div", 3), Aa(19, " Total:\n"), zs(), Hs(20, "div", 10), Aa(21), zs(), Ls(22, MF, 2, 1, "div", 11), Ls(23, DF, 2, 0, "button", 12), Ls(24, BF, 2, 0, "button", 13), Gs(25, "div", 14)), 2 & e && (si(7), Vs("ngModel", t.payToPublicKey), si(4), Vs("ngModel", t.transferAmount), si(1), Vs("ngIf", !t.loadingMax), si(1), Vs("ngIf", t.loadingMax), si(4), Na(" ", t.globalVars.nanosToBitClout(1e9 * t.networkFee), " (\u2248 ", t.globalVars.nanosToUSD(1e9 * t.networkFee), " USD)\n"), si(4), Na(" ", t.globalVars.nanosToBitClout(1e9 * (t.transferAmount + t.networkFee)), " (\u2248 ", t.globalVars.nanosToUSD(1e9 * (t.transferAmount + t.networkFee)), " USD)\n"), si(1), Vs("ngIf", "" != t.transferBitCloutError), si(1), Vs("ngIf", !t.sendingBitClout), si(1), Vs("ngIf", t.sendingBitClout))
                         },
                         directives: [bO, kh, Zh, Kp, $A, tp, wd],
                         styles: [""]
                     }), e
                 })();
 
-            function $F(e, t) {
+            function UF(e, t) {
                 1 & e && (Hs(0, "div", 22), Aa(1, " $BitClout is a cryptocurrency like Bitcoin, only it powers the first decentralized social network. "), zs())
             }
-            const MF = function() {
+            const VF = function() {
                     return {
                         stepNum: 1
                     }
                 },
-                DF = function() {
+                jF = function() {
                     return ["selected"]
                 },
-                BF = function() {
+                HF = function() {
                     return {
                         exact: !0
                     }
                 },
-                LF = function(e) {
+                zF = function(e) {
                     return [e]
                 };
-            let FF = (() => {
+            let GF = (() => {
                 class e {
                     constructor(e) {
                         this._globalVars = e, this.globalVars = e
@@ -65766,88 +65909,88 @@
                         [1, "fc-default", "fs-15px", "mt-30px", "pr-15px", "ml-15px", "pb-30px"]
                     ],
                     template: function(e, t) {
-                        1 & e && (Hs(0, "div", 0), Hs(1, "div", 1), Hs(2, "div", 2), Gs(3, "top-bar-mobile-navigation-control", 3), Aa(4, " Buy BitClout "), zs(), Gs(5, "top-bar-mobile-log-in-or-sign-up"), zs(), Hs(6, "div", 4), Gs(7, "div", 5), Ls(8, $F, 2, 0, "div", 6), Gs(9, "div", 7), Hs(10, "div", 8), Hs(11, "div", 9), Aa(12, " How do I get $BitClout? "), zs(), Hs(13, "div"), Hs(14, "div", 10), Hs(15, "div", 11), Hs(16, "a", 12), Aa(17, " Create an anonymous account "), zs(), Aa(18, " to buy $BitClout in under a minute."), zs(), zs(), zs(), zs(), Gs(19, "div", 13), Hs(20, "div", 8), Hs(21, "div", 14), Aa(22, " What is $BitClout useful for? "), zs(), Hs(23, "div"), Hs(24, "div", 15), Hs(25, "div", 11), Aa(26, "You can use it to buy and sell "), Hs(27, "a", 16), Aa(28, " creator coins "), zs(), zs(), zs(), Hs(29, "div", 17), Aa(30, " You can use it to send messages to people\n"), zs(), Hs(31, "div", 18), Hs(32, "div"), Aa(33, "You can use it to "), Hs(34, "a", 16), Aa(35, " submit posts "), zs(), Aa(36, " of your own"), zs(), zs(), Hs(37, "div", 19), Aa(38, " You can buy it anonymously with Bitcoin in under a minute "), zs(), Hs(39, "div", 20), Hs(40, "div"), Aa(41, "It's blockchain's \"iPhone moment.\""), zs(), zs(), zs(), zs(), Gs(42, "div", 21), Gs(43, "div", 21), zs(), zs()), 2 & e && (si(8), Vs("ngIf", !t.globalVars.loggedInUser), si(8), Vs("routerLink", "/" + t.globalVars.RouteNames.SIGN_UP)("queryParams", ru(11, MF))("routerLinkActive", ru(12, DF))("routerLinkActiveOptions", ru(13, BF)), si(11), Vs("routerLink", iu(14, LF, "/" + t.globalVars.RouteNames.CREATORS))("routerLinkActive", ru(16, DF))("routerLinkActiveOptions", ru(17, BF)), si(7), Vs("routerLink", iu(18, LF, "/" + t.globalVars.RouteNames.BROWSE))("routerLinkActive", ru(20, DF))("routerLinkActiveOptions", ru(21, BF)))
+                        1 & e && (Hs(0, "div", 0), Hs(1, "div", 1), Hs(2, "div", 2), Gs(3, "top-bar-mobile-navigation-control", 3), Aa(4, " Buy BitClout "), zs(), Gs(5, "top-bar-mobile-log-in-or-sign-up"), zs(), Hs(6, "div", 4), Gs(7, "div", 5), Ls(8, UF, 2, 0, "div", 6), Gs(9, "div", 7), Hs(10, "div", 8), Hs(11, "div", 9), Aa(12, " How do I get $BitClout? "), zs(), Hs(13, "div"), Hs(14, "div", 10), Hs(15, "div", 11), Hs(16, "a", 12), Aa(17, " Create an anonymous account "), zs(), Aa(18, " to buy $BitClout in under a minute."), zs(), zs(), zs(), zs(), Gs(19, "div", 13), Hs(20, "div", 8), Hs(21, "div", 14), Aa(22, " What is $BitClout useful for? "), zs(), Hs(23, "div"), Hs(24, "div", 15), Hs(25, "div", 11), Aa(26, "You can use it to buy and sell "), Hs(27, "a", 16), Aa(28, " creator coins "), zs(), zs(), zs(), Hs(29, "div", 17), Aa(30, " You can use it to send messages to people\n"), zs(), Hs(31, "div", 18), Hs(32, "div"), Aa(33, "You can use it to "), Hs(34, "a", 16), Aa(35, " submit posts "), zs(), Aa(36, " of your own"), zs(), zs(), Hs(37, "div", 19), Aa(38, " You can buy it anonymously with Bitcoin in under a minute "), zs(), Hs(39, "div", 20), Hs(40, "div"), Aa(41, "It's blockchain's \"iPhone moment.\""), zs(), zs(), zs(), zs(), Gs(42, "div", 21), Gs(43, "div", 21), zs(), zs()), 2 & e && (si(8), Vs("ngIf", !t.globalVars.loggedInUser), si(8), Vs("routerLink", "/" + t.globalVars.RouteNames.SIGN_UP)("queryParams", ru(11, VF))("routerLinkActive", ru(12, jF))("routerLinkActiveOptions", ru(13, HF)), si(11), Vs("routerLink", iu(14, zF, "/" + t.globalVars.RouteNames.CREATORS))("routerLinkActive", ru(16, jF))("routerLinkActiveOptions", ru(17, HF)), si(7), Vs("routerLink", iu(18, zF, "/" + t.globalVars.RouteNames.BROWSE))("routerLinkActive", ru(20, jF))("routerLinkActiveOptions", ru(21, HF)))
                     },
                     directives: [bO, vO, wd, zx, Kx],
                     styles: [""]
                 }), e
             })();
 
-            function UF(e, t) {
+            function KF(e, t) {
                 if (1 & e && Gs(0, "div", 8), 2 & e) {
                     const e = ta(2);
                     fa("background-image", "url(" + (e.globalVars.loggedInUser && e.globalVars.loggedInUser.ProfileEntryResponse && e.globalVars.loggedInUser.ProfileEntryResponse.ProfilePic ? e.globalVars.loggedInUser.ProfileEntryResponse.ProfilePic : "default_profile_pic.png") + ")")
                 }
             }
 
-            function VF(e, t) {
+            function qF(e, t) {
                 1 & e && Gs(0, "div", 9)
             }
 
-            function jF(e, t) {
-                if (1 & e && (Hs(0, "div", 4), Hs(1, "div", 5), Aa(2), zs(), Ls(3, UF, 1, 2, "div", 6), Ls(4, VF, 1, 0, "div", 7), zs()), 2 & e) {
+            function WF(e, t) {
+                if (1 & e && (Hs(0, "div", 4), Hs(1, "div", 5), Aa(2), zs(), Ls(3, KF, 1, 2, "div", 6), Ls(4, qF, 1, 0, "div", 7), zs()), 2 & e) {
                     const e = ta();
                     si(2), Ia(e.globalVars.messageMeta.decryptedMessgesMap[e.globalVars.loggedInUser.PublicKeyBase58Check + "" + e.message.TstampNanos] ? e.globalVars.messageMeta.decryptedMessgesMap[e.globalVars.loggedInUser.PublicKeyBase58Check + "" + e.message.TstampNanos].DecryptedText : "<Message is not decryptable on this device>"), si(1), Vs("ngIf", !e.nextMessage || e.message.IsSender != e.nextMessage.IsSender), si(1), Vs("ngIf", !!e.nextMessage && e.message.IsSender == e.nextMessage.IsSender)
                 }
             }
 
-            function HF(e, t) {
+            function YF(e, t) {
                 if (1 & e && (Hs(0, "span"), Aa(1), zs()), 2 & e) {
                     const e = ta(3);
                     si(1), Ia(e.globalVars.convertTstampToDateOrTime(e.message.TstampNanos))
                 }
             }
 
-            function zF(e, t) {
+            function QF(e, t) {
                 1 & e && (Hs(0, "span"), Aa(1, "Sending..."), zs())
             }
 
-            function GF(e, t) {
-                if (1 & e && (Hs(0, "div", 12), Ls(1, HF, 2, 1, "span", 13), Ls(2, zF, 2, 0, "span", 13), zs()), 2 & e) {
+            function XF(e, t) {
+                if (1 & e && (Hs(0, "div", 12), Ls(1, YF, 2, 1, "span", 13), Ls(2, QF, 2, 0, "span", 13), zs()), 2 & e) {
                     const e = ta(2);
                     si(1), Vs("ngIf", e.message.TstampNanos), si(1), Vs("ngIf", !e.message.TstampNanos)
                 }
             }
 
-            function KF(e, t) {
-                if (1 & e && (Hs(0, "div", 10), Ls(1, GF, 3, 2, "div", 11), Gs(2, "div", 9), zs()), 2 & e) {
+            function ZF(e, t) {
+                if (1 & e && (Hs(0, "div", 10), Ls(1, XF, 3, 2, "div", 11), Gs(2, "div", 9), zs()), 2 & e) {
                     const e = ta();
                     si(1), Vs("ngIf", !e.nextMessage || e.message.IsSender != e.nextMessage.IsSender)
                 }
             }
 
-            function qF(e, t) {
+            function JF(e, t) {
                 if (1 & e && Gs(0, "div", 17), 2 & e) {
                     const e = ta(2);
                     fa("background-image", "url(" + (e.profile && e.profile.ProfilePic ? e.profile.ProfilePic : "default_profile_pic.png") + ")")
                 }
             }
 
-            function WF(e, t) {
+            function eU(e, t) {
                 1 & e && Gs(0, "div", 9)
             }
 
-            function YF(e, t) {
-                if (1 & e && (Hs(0, "div", 14), Ls(1, qF, 1, 2, "div", 15), Ls(2, WF, 1, 0, "div", 7), Hs(3, "div", 16), Aa(4), zs(), zs()), 2 & e) {
+            function tU(e, t) {
+                if (1 & e && (Hs(0, "div", 14), Ls(1, JF, 1, 2, "div", 15), Ls(2, eU, 1, 0, "div", 7), Hs(3, "div", 16), Aa(4), zs(), zs()), 2 & e) {
                     const e = ta();
                     si(1), Vs("ngIf", !e.nextMessage || e.message.IsSender != e.nextMessage.IsSender), si(1), Vs("ngIf", !!e.nextMessage && e.message.IsSender == e.nextMessage.IsSender), si(2), Ia(e.message.DecryptedText)
                 }
             }
 
-            function QF(e, t) {
+            function nU(e, t) {
                 if (1 & e && (Hs(0, "div", 12), Aa(1), zs()), 2 & e) {
                     const e = ta(2);
                     si(1), ka(" ", e.globalVars.convertTstampToDateOrTime(e.message.TstampNanos), " ")
                 }
             }
 
-            function XF(e, t) {
-                if (1 & e && (Hs(0, "div", 14), Gs(1, "div", 9), Ls(2, QF, 2, 1, "div", 11), zs()), 2 & e) {
+            function oU(e, t) {
+                if (1 & e && (Hs(0, "div", 14), Gs(1, "div", 9), Ls(2, nU, 2, 1, "div", 11), zs()), 2 & e) {
                     const e = ta();
                     si(2), Vs("ngIf", !e.nextMessage || e.message.IsSender != e.nextMessage.IsSender)
                 }
             }
-            let ZF = (() => {
+            let rU = (() => {
                 class e {
                     constructor(e) {
                         this.globalVarsService = e, this.globalVars = e
@@ -65889,67 +66032,67 @@
                         [1, "message__avatar", "mr-15px"]
                     ],
                     template: function(e, t) {
-                        1 & e && (Ls(0, jF, 5, 3, "div", 0), Ls(1, KF, 3, 1, "div", 1), Ls(2, YF, 5, 3, "div", 2), Ls(3, XF, 3, 1, "div", 2), Gs(4, "div", 3)), 2 & e && (Vs("ngIf", t.message.IsSender), si(1), Vs("ngIf", t.message.IsSender), si(1), Vs("ngIf", !t.message.IsSender), si(1), Vs("ngIf", !t.message.IsSender))
+                        1 & e && (Ls(0, WF, 5, 3, "div", 0), Ls(1, ZF, 3, 1, "div", 1), Ls(2, tU, 5, 3, "div", 2), Ls(3, oU, 3, 1, "div", 2), Gs(4, "div", 3)), 2 & e && (Vs("ngIf", t.message.IsSender), si(1), Vs("ngIf", t.message.IsSender), si(1), Vs("ngIf", !t.message.IsSender), si(1), Vs("ngIf", !t.message.IsSender))
                     },
                     directives: [wd],
                     styles: [""]
                 }), e
             })();
-            const JF = ["messagesContainer"],
-                eU = function(e) {
+            const iU = ["messagesContainer"],
+                sU = function(e) {
                     return {
                         "cursor-auto": e
                     }
                 },
-                tU = function() {
+                aU = function() {
                     return []
                 };
 
-            function nU(e, t) {
+            function lU(e, t) {
                 if (1 & e && Gs(0, "a", 11), 2 & e) {
                     const e = ta(2);
-                    fa("background-image", "url(" + (e.messageThread.ProfileEntryResponse && e.messageThread.ProfileEntryResponse.ProfilePic ? e.messageThread.ProfileEntryResponse.ProfilePic : "default_profile_pic.png") + ")"), Vs("ngClass", iu(4, eU, !e.counterpartyUsername()))("routerLink", e.counterpartyUsername() ? e.AppRoutingModule.profilePath(e.counterpartyUsername()) : ru(6, tU))
+                    fa("background-image", "url(" + (e.messageThread.ProfileEntryResponse && e.messageThread.ProfileEntryResponse.ProfilePic ? e.messageThread.ProfileEntryResponse.ProfilePic : "default_profile_pic.png") + ")"), Vs("ngClass", iu(4, sU, !e.counterpartyUsername()))("routerLink", e.counterpartyUsername() ? e.AppRoutingModule.profilePath(e.counterpartyUsername()) : ru(6, aU))
                 }
             }
 
-            function oU(e, t) {
+            function uU(e, t) {
                 1 & e && (Hs(0, "span", 18), Gs(1, "i", 19), zs())
             }
 
-            function rU(e, t) {
-                if (1 & e && (Hs(0, "div"), Hs(1, "a", 16), Hs(2, "span"), Aa(3), zs(), Ls(4, oU, 2, 0, "span", 17), zs(), zs()), 2 & e) {
+            function cU(e, t) {
+                if (1 & e && (Hs(0, "div"), Hs(1, "a", 16), Hs(2, "span"), Aa(3), zs(), Ls(4, uU, 2, 0, "span", 17), zs(), zs()), 2 & e) {
                     const e = ta(3);
                     si(1), Vs("routerLink", e.AppRoutingModule.profilePath(e.counterpartyUsername())), si(2), Ia(e.counterpartyUsername()), si(1), Vs("ngIf", e.messageThread.ProfileEntryResponse.IsVerified)
                 }
             }
 
-            function iU(e, t) {
+            function dU(e, t) {
                 1 & e && Aa(0), 2 & e && ka(" ", ta(3).messageThread.PublicKeyBase58Check, " ")
             }
 
-            function sU(e, t) {
+            function hU(e, t) {
                 if (1 & e && (Hs(0, "a", 20), Aa(1), zs()), 2 & e) {
                     const e = ta(3);
                     Vs("routerLink", e.AppRoutingModule.buyCreatorPath(e.messageThread.ProfileEntryResponse.Username)), si(1), ka(" ", e.globalVars.nanosToUSD(e.globalVars._parseFloat(e.messageThread.ProfileEntryResponse.CoinPriceBitCloutNanos), 2), " ")
                 }
             }
 
-            function aU(e, t) {
-                if (1 & e && (Hs(0, "div"), Ls(1, rU, 5, 3, "div", 12), Ls(2, iU, 1, 1, "ng-template", null, 13, Bu), Hs(4, "div", 14), Ls(5, sU, 2, 2, "a", 15), zs(), zs()), 2 & e) {
+            function pU(e, t) {
+                if (1 & e && (Hs(0, "div"), Ls(1, cU, 5, 3, "div", 12), Ls(2, dU, 1, 1, "ng-template", null, 13, Bu), Hs(4, "div", 14), Ls(5, hU, 2, 2, "a", 15), zs(), zs()), 2 & e) {
                     const e = Fs(3),
                         t = ta(2);
                     si(1), Vs("ngIf", t.counterpartyUsername())("ngIfElse", e), si(4), Vs("ngIf", t.messageThread.ProfileEntryResponse)
                 }
             }
 
-            function lU(e, t) {
-                if (1 & e && (Hs(0, "div", 8), Ls(1, nU, 1, 7, "a", 9), Ls(2, aU, 6, 3, "div", 10), zs()), 2 & e) {
+            function fU(e, t) {
+                if (1 & e && (Hs(0, "div", 8), Ls(1, lU, 1, 7, "a", 9), Ls(2, pU, 6, 3, "div", 10), zs()), 2 & e) {
                     const e = ta();
                     si(1), Vs("ngIf", e.messageThread), si(1), Vs("ngIf", e.messageThread)
                 }
             }
 
-            function uU(e, t) {
+            function gU(e, t) {
                 if (1 & e && Gs(0, "message", 24), 2 & e) {
                     const e = t.$implicit,
                         n = t.index,
@@ -65958,14 +66101,14 @@
                 }
             }
 
-            function cU(e, t) {
-                if (1 & e && (Hs(0, "div", 21, 22), Ls(2, uU, 1, 3, "message", 23), zs()), 2 & e) {
+            function mU(e, t) {
+                if (1 & e && (Hs(0, "div", 21, 22), Ls(2, gU, 1, 3, "message", 23), zs()), 2 & e) {
                     const e = ta();
                     si(2), Vs("ngForOf", e.messageThread.Messages)
                 }
             }
 
-            function dU(e, t) {
+            function bU(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 25), Zs("click", function() {
@@ -65974,10 +66117,10 @@
                 }
             }
 
-            function hU(e, t) {
+            function yU(e, t) {
                 1 & e && (Hs(0, "button", 26), Aa(1, " Sending... "), zs())
             }
-            let pU = (() => {
+            let vU = (() => {
                     class e {
                         constructor(e, t) {
                             this.globalVarsService = e, this.backendApi = t, this.isMobile = !1, this.messageText = "", this.sendMessageBeingCalled = !1, this.AppRoutingModule = ZA, this.globalVars = e
@@ -66030,7 +66173,7 @@
                             ["messages-thread-view"]
                         ],
                         viewQuery: function(e, t) {
-                            if (1 & e && Nu(JF, 1), 2 & e) {
+                            if (1 & e && Nu(iU, 1), 2 & e) {
                                 let e;
                                 ku(e = Ru()) && (t.userContent = e.first)
                             }
@@ -66071,17 +66214,17 @@
                             [1, "btn", "btn-primary", "fs-15px", "ml-15px", "messages-thread__border-radius"]
                         ],
                         template: function(e, t) {
-                            1 & e && (Hs(0, "div", 0), Ls(1, lU, 3, 2, "div", 1), Hs(2, "div", 2), Ls(3, cU, 3, 1, "div", 3), zs(), Hs(4, "div", 4), Hs(5, "textarea", 5), Zs("keypress", function(e) {
+                            1 & e && (Hs(0, "div", 0), Ls(1, fU, 3, 2, "div", 1), Hs(2, "div", 2), Ls(3, mU, 3, 1, "div", 3), zs(), Hs(4, "div", 4), Hs(5, "textarea", 5), Zs("keypress", function(e) {
                                 return t._messageTextChanged(e)
                             })("ngModelChange", function(e) {
                                 return t.messageText = e
-                            }), zs(), Ls(6, dU, 2, 0, "button", 6), Ls(7, hU, 2, 0, "button", 7), zs(), zs()), 2 & e && (si(1), Vs("ngIf", !t.isMobile), si(2), Vs("ngIf", t.messageThread), si(2), Vs("ngModel", t.messageText), si(1), Vs("ngIf", !t.sendMessageBeingCalled), si(1), Vs("ngIf", t.sendMessageBeingCalled))
+                            }), zs(), Ls(6, bU, 2, 0, "button", 6), Ls(7, yU, 2, 0, "button", 7), zs(), zs()), 2 & e && (si(1), Vs("ngIf", !t.isMobile), si(2), Vs("ngIf", t.messageThread), si(2), Vs("ngModel", t.messageText), si(1), Vs("ngIf", !t.sendMessageBeingCalled), si(1), Vs("ngIf", t.sendMessageBeingCalled))
                         },
-                        directives: [wd, kh, Zh, Kp, $A, zx, bd, vd, ZF],
+                        directives: [wd, kh, Zh, Kp, $A, zx, bd, vd, rU],
                         styles: [""]
                     }), e
                 })(),
-                fU = (() => {
+                _U = (() => {
                     class e {
                         constructor(e, t) {
                             this._globalVars = e, this._router = t, this.globalVars = e, this.router = t
@@ -66118,71 +66261,71 @@
                     }), e
                 })();
 
-            function gU(e, t) {
+            function wU(e, t) {
                 1 & e && (Hs(0, "span", 10), Aa(1, " Syncing Bitcoin Headers "), zs())
             }
 
-            function mU(e, t) {
+            function CU(e, t) {
                 1 & e && (Hs(0, "span", 10), Aa(1, " Syncing BitClout Headers "), zs())
             }
 
-            function bU(e, t) {
+            function SU(e, t) {
                 1 & e && (Hs(0, "span", 10), Aa(1, " Syncing BitClout Blocks "), zs())
             }
 
-            function yU(e, t) {
+            function xU(e, t) {
                 1 & e && (Hs(0, "span", 10), Aa(1, " Syncing Last BitClout Blocks "), zs())
             }
 
-            function vU(e, t) {
+            function EU(e, t) {
                 1 & e && (Hs(0, "span", 11), Aa(1, " Fully Synced "), zs())
             }
 
-            function _U(e, t) {
+            function TU(e, t) {
                 1 & e && Gs(0, "i", 12)
             }
 
-            function wU(e, t) {
+            function PU(e, t) {
                 1 & e && Gs(0, "i", 13)
             }
 
-            function CU(e, t) {
+            function AU(e, t) {
                 if (1 & e && (Hs(0, "div"), Aa(1, " Bitcoin Headers Left: "), Hs(2, "div", 20), Aa(3), zs(), zs()), 2 & e) {
                     const e = ta(2);
                     si(3), ka(" ", e.globalVars.nodeInfo.BitcoinStatus.HeadersRemaining, " ")
                 }
             }
 
-            function SU(e, t) {
+            function IU(e, t) {
                 if (1 & e && (Hs(0, "div"), Aa(1, " BitClout Headers Left: "), Hs(2, "div", 20), Aa(3), zs(), zs()), 2 & e) {
                     const e = ta(2);
                     si(3), ka(" ", e.globalVars.nodeInfo.BitCloutStatus.HeadersRemaining, " ")
                 }
             }
 
-            function xU(e, t) {
+            function kU(e, t) {
                 if (1 & e && (Hs(0, "div"), Hs(1, "div"), Aa(2, " BitClout Blocks Left: "), zs(), Hs(3, "div", 20), Aa(4), zs(), zs()), 2 & e) {
                     const e = ta(2);
                     si(4), ka(" ", e.globalVars.nodeInfo.BitCloutStatus.BlocksRemaining, " ")
                 }
             }
 
-            function EU(e, t) {
+            function NU(e, t) {
                 1 & e && (Hs(0, "div", 21), Gs(1, "i", 22), zs())
             }
 
-            function TU(e, t) {
+            function OU(e, t) {
                 1 & e && (Hs(0, "div", 21), Gs(1, "i", 22), zs())
             }
 
-            function PU(e, t) {
+            function RU(e, t) {
                 if (1 & e) {
                     const e = Ws();
-                    Hs(0, "div", 14), Ls(1, CU, 4, 1, "div", 15), Ls(2, SU, 4, 1, "div", 15), Ls(3, xU, 5, 1, "div", 15), Aa(4, " Last Block Height: "), Hs(5, "div", 16), Hs(6, "span"), Aa(7), zs(), Hs(8, "div", 17), Zs("click", function() {
+                    Hs(0, "div", 14), Ls(1, AU, 4, 1, "div", 15), Ls(2, IU, 4, 1, "div", 15), Ls(3, kU, 5, 1, "div", 15), Aa(4, " Last Block Height: "), Hs(5, "div", 16), Hs(6, "span"), Aa(7), zs(), Hs(8, "div", 17), Zs("click", function() {
                         return $t(e), ta()._copyNetworkInfo("lastBlockHeight")
-                    }), Gs(9, "i", 18), zs(), Ls(10, EU, 2, 0, "div", 19), zs(), Aa(11, " Last Block Hash: "), Hs(12, "div", 16), Aa(13), Hs(14, "div", 17), Zs("click", function() {
+                    }), Gs(9, "i", 18), zs(), Ls(10, NU, 2, 0, "div", 19), zs(), Aa(11, " Last Block Hash: "), Hs(12, "div", 16), Aa(13), Hs(14, "div", 17), Zs("click", function() {
                         return $t(e), ta()._copyNetworkInfo("lastBlockHash")
-                    }), Gs(15, "i", 18), zs(), Ls(16, TU, 2, 0, "div", 19), zs(), Aa(17, " Last Block Time: "), Hs(18, "div", 20), Aa(19), zs(), zs()
+                    }), Gs(15, "i", 18), zs(), Ls(16, OU, 2, 0, "div", 19), zs(), Aa(17, " Last Block Time: "), Hs(18, "div", 20), Aa(19), zs(), zs()
                 }
                 if (2 & e) {
                     const e = ta();
@@ -66190,34 +66333,34 @@
                 }
             }
 
-            function AU(e, t) {
+            function $U(e, t) {
                 1 & e && Gs(0, "i", 12)
             }
 
-            function IU(e, t) {
+            function MU(e, t) {
                 1 & e && Gs(0, "i", 13)
             }
 
-            function kU(e, t) {
+            function DU(e, t) {
                 1 & e && (Hs(0, "div", 31), Aa(1, " Currently Mining "), zs())
             }
 
-            function NU(e, t) {
+            function BU(e, t) {
                 1 & e && (Hs(0, "div", 32), Aa(1, " Not Mining "), zs())
             }
 
-            function OU(e, t) {
+            function LU(e, t) {
                 1 & e && (Hs(0, "div", 21), Gs(1, "i", 22), zs())
             }
 
-            function RU(e, t) {
+            function FU(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div", 34), Aa(1), Hs(2, "div", 17), Zs("click", function() {
                         $t(e);
                         const n = t.index;
                         return ta(3)._copyNetworkInfo("minerPublicKey", n)
-                    }), Gs(3, "i", 18), zs(), Ls(4, OU, 2, 0, "div", 19), zs()
+                    }), Gs(3, "i", 18), zs(), Ls(4, LU, 2, 0, "div", 19), zs()
                 }
                 if (2 & e) {
                     const e = t.$implicit,
@@ -66227,18 +66370,18 @@
                 }
             }
 
-            function $U(e, t) {
-                if (1 & e && (Hs(0, "div"), Ls(1, RU, 5, 2, "div", 33), zs()), 2 & e) {
+            function UU(e, t) {
+                if (1 & e && (Hs(0, "div"), Ls(1, FU, 5, 2, "div", 33), zs()), 2 & e) {
                     const e = ta(2);
                     si(1), Vs("ngForOf", e.globalVars.nodeInfo.MinerPublicKeys)
                 }
             }
 
-            function MU(e, t) {
+            function VU(e, t) {
                 1 & e && (Hs(0, "div", 20), Aa(1, " No miner public keys found. "), zs())
             }
 
-            function DU(e, t) {
+            function jU(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div", 35), Zs("click", function() {
@@ -66247,11 +66390,11 @@
                 }
             }
 
-            function BU(e, t) {
+            function HU(e, t) {
                 1 & e && (Hs(0, "div", 36), Aa(1, " Updating "), zs())
             }
 
-            function LU(e, t) {
+            function zU(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div", 37), Zs("click", function() {
@@ -66260,16 +66403,16 @@
                 }
             }
 
-            function FU(e, t) {
+            function GU(e, t) {
                 1 & e && (Hs(0, "div", 38), Aa(1, " Stopping "), zs())
             }
 
-            function UU(e, t) {
+            function KU(e, t) {
                 if (1 & e) {
                     const e = Ws();
-                    Hs(0, "div", 14), Aa(1, " Miner Status: "), Ls(2, kU, 2, 0, "div", 23), Ls(3, NU, 2, 0, "div", 24), Aa(4, " Miner Public Keys: "), Ls(5, $U, 2, 1, "div", 15), Ls(6, MU, 2, 0, "div", 25), Aa(7, " Update Miner Public Key List: "), Hs(8, "div", 16), Hs(9, "input", 26), Zs("ngModelChange", function(t) {
+                    Hs(0, "div", 14), Aa(1, " Miner Status: "), Ls(2, DU, 2, 0, "div", 23), Ls(3, BU, 2, 0, "div", 24), Aa(4, " Miner Public Keys: "), Ls(5, UU, 2, 1, "div", 15), Ls(6, VU, 2, 0, "div", 25), Aa(7, " Update Miner Public Key List: "), Hs(8, "div", 16), Hs(9, "input", 26), Zs("ngModelChange", function(t) {
                         return $t(e), ta().updatedMinerPubKeys = t
-                    }), zs(), Ls(10, DU, 2, 0, "div", 27), Ls(11, BU, 2, 0, "div", 28), zs(), Ls(12, LU, 2, 0, "div", 29), Ls(13, FU, 2, 0, "div", 30), zs()
+                    }), zs(), Ls(10, jU, 2, 0, "div", 27), Ls(11, HU, 2, 0, "div", 28), zs(), Ls(12, zU, 2, 0, "div", 29), Ls(13, GU, 2, 0, "div", 30), zs()
                 }
                 if (2 & e) {
                     const e = ta();
@@ -66277,23 +66420,23 @@
                 }
             }
 
-            function VU(e, t) {
+            function qU(e, t) {
                 1 & e && Gs(0, "i", 12)
             }
 
-            function jU(e, t) {
+            function WU(e, t) {
                 1 & e && Gs(0, "i", 13)
             }
 
-            function HU(e, t) {
+            function YU(e, t) {
                 1 & e && (Hs(0, "div", 39), Aa(1, " Updating BitClout peers... "), zs())
             }
 
-            function zU(e, t) {
+            function QU(e, t) {
                 1 & e && (Hs(0, "div"), Aa(1, " Not connected to any outbound peers. "), zs())
             }
 
-            function GU(e, t) {
+            function XU(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div", 17), Zs("click", function() {
@@ -66304,14 +66447,14 @@
                 }
             }
 
-            function KU(e, t) {
+            function ZU(e, t) {
                 1 & e && (Hs(0, "div", 48), Gs(1, "i", 22), zs())
             }
 
-            function qU(e, t) {
+            function JU(e, t) {
                 if (1 & e) {
                     const e = Ws();
-                    Hs(0, "div"), Hs(1, "div", 43), Hs(2, "div", 44), Aa(3), zs(), Hs(4, "div", 45), Ls(5, GU, 2, 0, "div", 46), Ls(6, KU, 2, 0, "div", 47), Hs(7, "div", 35), Zs("click", function() {
+                    Hs(0, "div"), Hs(1, "div", 43), Hs(2, "div", 44), Aa(3), zs(), Hs(4, "div", 45), Ls(5, XU, 2, 0, "div", 46), Ls(6, ZU, 2, 0, "div", 47), Hs(7, "div", 35), Zs("click", function() {
                         $t(e);
                         const n = t.$implicit;
                         return ta(2).disconnectBitCloutPeer(n.IP + ":" + n.ProtocolPort)
@@ -66323,11 +66466,11 @@
                 }
             }
 
-            function WU(e, t) {
+            function eV(e, t) {
                 1 & e && (Hs(0, "div"), Aa(1, " Not connected to any inbound peers. "), zs())
             }
 
-            function YU(e, t) {
+            function tV(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div", 17), Zs("click", function() {
@@ -66338,14 +66481,14 @@
                 }
             }
 
-            function QU(e, t) {
+            function nV(e, t) {
                 1 & e && (Hs(0, "div", 48), Gs(1, "i", 22), zs())
             }
 
-            function XU(e, t) {
+            function oV(e, t) {
                 if (1 & e) {
                     const e = Ws();
-                    Hs(0, "div"), Hs(1, "div", 43), Hs(2, "div", 44), Aa(3), zs(), Hs(4, "div", 45), Ls(5, YU, 2, 0, "div", 46), Ls(6, QU, 2, 0, "div", 47), Hs(7, "div", 35), Zs("click", function() {
+                    Hs(0, "div"), Hs(1, "div", 43), Hs(2, "div", 44), Aa(3), zs(), Hs(4, "div", 45), Ls(5, tV, 2, 0, "div", 46), Ls(6, nV, 2, 0, "div", 47), Hs(7, "div", 35), Zs("click", function() {
                         $t(e);
                         const n = t.$implicit;
                         return ta(2).disconnectBitCloutPeer(n.IP + ":" + n.ProtocolPort)
@@ -66357,11 +66500,11 @@
                 }
             }
 
-            function ZU(e, t) {
+            function rV(e, t) {
                 1 & e && (Hs(0, "div"), Aa(1, " No other peers available. "), zs())
             }
 
-            function JU(e, t) {
+            function iV(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div", 17), Zs("click", function() {
@@ -66372,14 +66515,14 @@
                 }
             }
 
-            function eV(e, t) {
+            function sV(e, t) {
                 1 & e && (Hs(0, "div", 48), Gs(1, "i", 22), zs())
             }
 
-            function tV(e, t) {
+            function aV(e, t) {
                 if (1 & e) {
                     const e = Ws();
-                    Hs(0, "div"), Hs(1, "div", 43), Hs(2, "div", 44), Aa(3), zs(), Hs(4, "div", 45), Ls(5, JU, 2, 0, "div", 46), Ls(6, eV, 2, 0, "div", 47), Hs(7, "div", 35), Zs("click", function() {
+                    Hs(0, "div"), Hs(1, "div", 43), Hs(2, "div", 44), Aa(3), zs(), Hs(4, "div", 45), Ls(5, iV, 2, 0, "div", 46), Ls(6, sV, 2, 0, "div", 47), Hs(7, "div", 35), Zs("click", function() {
                         $t(e);
                         const n = t.$implicit;
                         return ta(2).connectBitCloutPeer(n.IP + ":" + n.ProtocolPort)
@@ -66391,10 +66534,10 @@
                 }
             }
 
-            function nV(e, t) {
+            function lV(e, t) {
                 if (1 & e) {
                     const e = Ws();
-                    Hs(0, "div", 14), Aa(1), Hs(2, "div", 40), Ls(3, zU, 2, 0, "div", 15), Ls(4, qU, 9, 3, "div", 41), zs(), Aa(5), Hs(6, "div", 40), Ls(7, WU, 2, 0, "div", 15), Ls(8, XU, 9, 3, "div", 41), zs(), Aa(9), Hs(10, "div", 40), Ls(11, ZU, 2, 0, "div", 15), Ls(12, tV, 9, 3, "div", 41), zs(), Aa(13, " Manual Connection: "), Hs(14, "div", 16), Hs(15, "input", 42), Zs("ngModelChange", function(t) {
+                    Hs(0, "div", 14), Aa(1), Hs(2, "div", 40), Ls(3, QU, 2, 0, "div", 15), Ls(4, JU, 9, 3, "div", 41), zs(), Aa(5), Hs(6, "div", 40), Ls(7, eV, 2, 0, "div", 15), Ls(8, oV, 9, 3, "div", 41), zs(), Aa(9), Hs(10, "div", 40), Ls(11, rV, 2, 0, "div", 15), Ls(12, aV, 9, 3, "div", 41), zs(), Aa(13, " Manual Connection: "), Hs(14, "div", 16), Hs(15, "input", 42), Zs("ngModelChange", function(t) {
                         return $t(e), ta().manualBitcloutPeer = t
                     }), zs(), Hs(16, "div", 35), Zs("click", function() {
                         $t(e);
@@ -66408,34 +66551,34 @@
                 }
             }
 
-            function oV(e, t) {
+            function uV(e, t) {
                 1 & e && Gs(0, "i", 12)
             }
 
-            function rV(e, t) {
+            function cV(e, t) {
                 1 & e && Gs(0, "i", 13)
             }
 
-            function iV(e, t) {
+            function dV(e, t) {
                 1 & e && (Hs(0, "div", 39), Aa(1, " Updating Bitcoin peer... "), zs())
             }
 
-            function sV(e, t) {
+            function hV(e, t) {
                 1 & e && (Hs(0, "div"), Aa(1, " No sync peer currently set. "), zs())
             }
 
-            function aV(e, t) {
+            function pV(e, t) {
                 if (1 & e && (Hs(0, "div"), Hs(1, "div", 49), Hs(2, "div", 44), Aa(3), zs(), zs(), zs()), 2 & e) {
                     const e = ta(2);
                     si(3), ka(" ", e.globalVars.nodeInfo.BitcoinSyncPeer.IP + ":" + e.globalVars.nodeInfo.BitcoinSyncPeer.ProtocolPort, " ")
                 }
             }
 
-            function lV(e, t) {
+            function fV(e, t) {
                 1 & e && (Hs(0, "div"), Aa(1, " No other peers available. "), zs())
             }
 
-            function uV(e, t) {
+            function gV(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div", 17), Zs("click", function() {
@@ -66446,14 +66589,14 @@
                 }
             }
 
-            function cV(e, t) {
+            function mV(e, t) {
                 1 & e && (Hs(0, "div", 21), Gs(1, "i", 22), zs())
             }
 
-            function dV(e, t) {
+            function bV(e, t) {
                 if (1 & e) {
                     const e = Ws();
-                    Hs(0, "div"), Hs(1, "div", 43), Hs(2, "div", 44), Aa(3), zs(), Hs(4, "div", 45), Ls(5, uV, 2, 0, "div", 46), Ls(6, cV, 2, 0, "div", 19), Hs(7, "div", 35), Zs("click", function() {
+                    Hs(0, "div"), Hs(1, "div", 43), Hs(2, "div", 44), Aa(3), zs(), Hs(4, "div", 45), Ls(5, gV, 2, 0, "div", 46), Ls(6, mV, 2, 0, "div", 19), Hs(7, "div", 35), Zs("click", function() {
                         $t(e);
                         const n = t.$implicit;
                         return ta(2).connectBitcoinPeer(n.IP + ":" + n.ProtocolPort)
@@ -66465,10 +66608,10 @@
                 }
             }
 
-            function hV(e, t) {
+            function yV(e, t) {
                 if (1 & e) {
                     const e = Ws();
-                    Hs(0, "div", 14), Aa(1, " Sync Peer: "), Hs(2, "div", 20), Ls(3, sV, 2, 0, "div", 15), Ls(4, aV, 4, 1, "div", 15), zs(), Aa(5), Hs(6, "div", 40), Ls(7, lV, 2, 0, "div", 15), Ls(8, dV, 9, 3, "div", 41), zs(), Aa(9, " Manual Connection: "), Hs(10, "div", 16), Hs(11, "input", 42), Zs("ngModelChange", function(t) {
+                    Hs(0, "div", 14), Aa(1, " Sync Peer: "), Hs(2, "div", 20), Ls(3, hV, 2, 0, "div", 15), Ls(4, pV, 4, 1, "div", 15), zs(), Aa(5), Hs(6, "div", 40), Ls(7, fV, 2, 0, "div", 15), Ls(8, bV, 9, 3, "div", 41), zs(), Aa(9, " Manual Connection: "), Hs(10, "div", 16), Hs(11, "input", 42), Zs("ngModelChange", function(t) {
                         return $t(e), ta().manualBitcoinPeer = t
                     }), zs(), Hs(12, "div", 35), Zs("click", function() {
                         $t(e);
@@ -66481,11 +66624,11 @@
                     si(3), Vs("ngIf", null == e.globalVars.nodeInfo.BitcoinSyncPeer), si(1), Vs("ngIf", null != e.globalVars.nodeInfo.BitcoinSyncPeer), si(1), ka(" Unconnected Peers (", e.globalVars.nodeInfo.BitcoinUnconnectedPeers.length, "): "), si(2), Vs("ngIf", null == e.globalVars.nodeInfo.BitcoinUnconnectedPeers || 0 === e.globalVars.nodeInfo.BitcoinUnconnectedPeers.length), si(1), Vs("ngForOf", e.globalVars.nodeInfo.BitcoinUnconnectedPeers), si(3), Vs("ngModel", e.manualBitcoinPeer)
                 }
             }
-            let pV = (() => {
+            let vV = (() => {
                     class e {}
                     return e.MISSING_REQUIRED_FIELD = "You are missing required field with label: %s", e.INCORRECT_PASSWORD = "The password you entered was incorrect.", e.INSUFFICIENT_BALANCE = "Your balance is insufficient to process the transaction.", e.TOTAL_bitclout_INVALID = "The total BitClout is currently an invalid value. Is your balance insufficient?", e.CONNECTION_PROBLEM = "There is currently a connection problem. Is your connection to your node healthy?", e
                 })(),
-                fV = (() => {
+                _V = (() => {
                     class e {
                         constructor(e, t) {
                             this._globalVars = e, this.backendApi = t, this.prevTstamp = null, this.prevTstampDate = null, this.isOpen = {
@@ -66528,7 +66671,7 @@
                                     }
                                 })
                             }, e => {
-                                this.globalVars._alertError(Object(tL.sprintf)("Problem updating the miner. Debug output: %s", JSON.stringify(e)))
+                                this.globalVars._alertError(Object(aL.sprintf)("Problem updating the miner. Debug output: %s", JSON.stringify(e)))
                             }).add(() => {
                                 this.stoppingMiners = !1
                             })
@@ -66536,9 +66679,9 @@
                         _extractError(e) {
                             if (null != e.error && null != e.error.error) {
                                 let t = e.error.error;
-                                return t.includes("password") ? pV.INCORRECT_PASSWORD : t.includes("not sufficient") ? pV.INSUFFICIENT_BALANCE : t
+                                return t.includes("password") ? vV.INCORRECT_PASSWORD : t.includes("not sufficient") ? vV.INSUFFICIENT_BALANCE : t
                             }
-                            return null != e.status && 200 != e.status ? pV.CONNECTION_PROBLEM : Object(tL.sprintf)(JSON.stringify(e))
+                            return null != e.status && 200 != e.status ? vV.CONNECTION_PROBLEM : Object(aL.sprintf)(JSON.stringify(e))
                         }
                         disconnectBitCloutPeer(e) {
                             this.updatingBitCloutPeer ? this.globalVars._alertError("Please wait for your previous request to finish.") : (this.updatingBitCloutPeer = !0, this.backendApi.NodeControl(this.globalVars.localNode, this.globalVars.loggedInUser.PublicKeyBase58Check, e, "disconnect_bitclout_node").subscribe(t => {
@@ -66584,7 +66727,7 @@
                                     }
                                 })
                             }, e => {
-                                this.globalVars._alertError(Object(tL.sprintf)("Problem updating the miner. Debug output: %s", JSON.stringify(e)))
+                                this.globalVars._alertError(Object(aL.sprintf)("Problem updating the miner. Debug output: %s", JSON.stringify(e)))
                             }).add(() => {
                                 this.updatingMiners = !1
                             })
@@ -66661,38 +66804,38 @@
                             [2, "display", "flex", "align-items", "center"]
                         ],
                         template: function(e, t) {
-                            1 & e && (Hs(0, "div", 0), Aa(1, " Node Sync State "), Hs(2, "div"), Ls(3, gU, 2, 0, "span", 1), Ls(4, mU, 2, 0, "span", 1), Ls(5, bU, 2, 0, "span", 1), Ls(6, yU, 2, 0, "span", 1), Ls(7, vU, 2, 0, "span", 2), zs(), zs(), Hs(8, "div", 3), Hs(9, "span", 4), Zs("click", function() {
+                            1 & e && (Hs(0, "div", 0), Aa(1, " Node Sync State "), Hs(2, "div"), Ls(3, wU, 2, 0, "span", 1), Ls(4, CU, 2, 0, "span", 1), Ls(5, SU, 2, 0, "span", 1), Ls(6, xU, 2, 0, "span", 1), Ls(7, EU, 2, 0, "span", 2), zs(), zs(), Hs(8, "div", 3), Hs(9, "span", 4), Zs("click", function() {
                                 return t.isOpen.detailedSyncInfo = !t.isOpen.detailedSyncInfo
-                            }), Ls(10, _U, 1, 0, "i", 5), Ls(11, wU, 1, 0, "i", 6), Aa(12, " Detailed Sync Info "), zs(), Ls(13, PU, 20, 8, "div", 7), zs(), Hs(14, "div", 3), Hs(15, "span", 4), Zs("click", function() {
+                            }), Ls(10, TU, 1, 0, "i", 5), Ls(11, PU, 1, 0, "i", 6), Aa(12, " Detailed Sync Info "), zs(), Ls(13, RU, 20, 8, "div", 7), zs(), Hs(14, "div", 3), Hs(15, "span", 4), Zs("click", function() {
                                 return t.isOpen.minerInfo = !t.isOpen.minerInfo
-                            }), Ls(16, AU, 1, 0, "i", 5), Ls(17, IU, 1, 0, "i", 6), Aa(18, " Miner Info "), zs(), Ls(19, UU, 14, 9, "div", 7), zs(), Hs(20, "div", 3), Hs(21, "span", 4), Zs("click", function() {
+                            }), Ls(16, $U, 1, 0, "i", 5), Ls(17, MU, 1, 0, "i", 6), Aa(18, " Miner Info "), zs(), Ls(19, KU, 14, 9, "div", 7), zs(), Hs(20, "div", 3), Hs(21, "span", 4), Zs("click", function() {
                                 return t.isOpen.bitcloutNode = !t.isOpen.bitcloutNode
-                            }), Ls(22, VU, 1, 0, "i", 5), Ls(23, jU, 1, 0, "i", 6), Aa(24, " BitClout Node Info "), zs(), Ls(25, HU, 2, 0, "div", 8), Ls(26, nV, 18, 10, "div", 7), zs(), Hs(27, "div", 3), Hs(28, "span", 4), Zs("click", function() {
+                            }), Ls(22, qU, 1, 0, "i", 5), Ls(23, WU, 1, 0, "i", 6), Aa(24, " BitClout Node Info "), zs(), Ls(25, YU, 2, 0, "div", 8), Ls(26, lV, 18, 10, "div", 7), zs(), Hs(27, "div", 3), Hs(28, "span", 4), Zs("click", function() {
                                 return t.isOpen.bitcoinNode = !t.isOpen.bitcoinNode
-                            }), Ls(29, oV, 1, 0, "i", 5), Ls(30, rV, 1, 0, "i", 6), Aa(31, " Bitcoin Node Info "), zs(), Ls(32, iV, 2, 0, "div", 8), Ls(33, hV, 14, 6, "div", 7), zs(), Gs(34, "div", 9)), 2 & e && (si(3), Vs("ngIf", "SYNCING_BITCOIN" === t.globalVars.nodeInfo.BitCloutStatus.State), si(1), Vs("ngIf", "SYNCING_HEADERS" === t.globalVars.nodeInfo.BitCloutStatus.State), si(1), Vs("ngIf", "SYNCING_BLOCKS" === t.globalVars.nodeInfo.BitCloutStatus.State), si(1), Vs("ngIf", "NEED_BLOCKS" === t.globalVars.nodeInfo.BitCloutStatus.State), si(1), Vs("ngIf", "FULLY_CURRENT" === t.globalVars.nodeInfo.BitCloutStatus.State), si(3), Vs("ngIf", !t.isOpen.detailedSyncInfo), si(1), Vs("ngIf", t.isOpen.detailedSyncInfo), si(2), Vs("ngIf", t.isOpen.detailedSyncInfo), si(3), Vs("ngIf", !t.isOpen.minerInfo), si(1), Vs("ngIf", t.isOpen.minerInfo), si(2), Vs("ngIf", t.isOpen.minerInfo), si(3), Vs("ngIf", !t.isOpen.bitcloutNode), si(1), Vs("ngIf", t.isOpen.bitcloutNode), si(2), Vs("ngIf", t.isOpen.bitcloutNode && t.updatingBitCloutPeer), si(1), Vs("ngIf", t.isOpen.bitcloutNode && !t.updatingBitCloutPeer), si(3), Vs("ngIf", !t.isOpen.bitcoinNode), si(1), Vs("ngIf", t.isOpen.bitcoinNode), si(2), Vs("ngIf", t.isOpen.bitcoinNode && t.updatingBitcoinPeer), si(1), Vs("ngIf", t.isOpen.bitcoinNode && !t.updatingBitcoinPeer))
+                            }), Ls(29, uV, 1, 0, "i", 5), Ls(30, cV, 1, 0, "i", 6), Aa(31, " Bitcoin Node Info "), zs(), Ls(32, dV, 2, 0, "div", 8), Ls(33, yV, 14, 6, "div", 7), zs(), Gs(34, "div", 9)), 2 & e && (si(3), Vs("ngIf", "SYNCING_BITCOIN" === t.globalVars.nodeInfo.BitCloutStatus.State), si(1), Vs("ngIf", "SYNCING_HEADERS" === t.globalVars.nodeInfo.BitCloutStatus.State), si(1), Vs("ngIf", "SYNCING_BLOCKS" === t.globalVars.nodeInfo.BitCloutStatus.State), si(1), Vs("ngIf", "NEED_BLOCKS" === t.globalVars.nodeInfo.BitCloutStatus.State), si(1), Vs("ngIf", "FULLY_CURRENT" === t.globalVars.nodeInfo.BitCloutStatus.State), si(3), Vs("ngIf", !t.isOpen.detailedSyncInfo), si(1), Vs("ngIf", t.isOpen.detailedSyncInfo), si(2), Vs("ngIf", t.isOpen.detailedSyncInfo), si(3), Vs("ngIf", !t.isOpen.minerInfo), si(1), Vs("ngIf", t.isOpen.minerInfo), si(2), Vs("ngIf", t.isOpen.minerInfo), si(3), Vs("ngIf", !t.isOpen.bitcloutNode), si(1), Vs("ngIf", t.isOpen.bitcloutNode), si(2), Vs("ngIf", t.isOpen.bitcloutNode && t.updatingBitCloutPeer), si(1), Vs("ngIf", t.isOpen.bitcloutNode && !t.updatingBitCloutPeer), si(3), Vs("ngIf", !t.isOpen.bitcoinNode), si(1), Vs("ngIf", t.isOpen.bitcoinNode), si(2), Vs("ngIf", t.isOpen.bitcoinNode && t.updatingBitcoinPeer), si(1), Vs("ngIf", t.isOpen.bitcoinNode && !t.updatingBitcoinPeer))
                         },
                         directives: [wd, kh, Zh, Kp, $A, vd],
                         styles: [""]
                     }), e
                 })();
 
-            function gV(e, t) {
+            function wV(e, t) {
                 1 & e && (Hs(0, "div", 8), Hs(1, "div", 9), Gs(2, "top-bar-mobile-navigation-control", 10), Aa(3, " Admin "), zs(), zs())
             }
 
-            function mV(e, t) {
+            function CV(e, t) {
                 if (1 & e && (Hs(0, "mat-option", 23), Aa(1), zs()), 2 & e) {
                     const e = t.$implicit;
                     Vs("value", e.value), si(1), ka(" ", e.key, " ")
                 }
             }
 
-            function bV(e, t) {
+            function SV(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div", 17), Hs(1, "mat-form-field", 18), Hs(2, "mat-label", 19), Aa(3, "Time Window: "), zs(), Hs(4, "mat-select", 20), Zs("valueChange", function(t) {
                         return $t(e), ta(3).selectedTimeWindow = t
-                    }), Ls(5, mV, 2, 2, "mat-option", 21), pu(6, "keyvalue"), zs(), zs(), Hs(7, "a", 22), Zs("click", function() {
+                    }), Ls(5, CV, 2, 2, "mat-option", 21), pu(6, "keyvalue"), zs(), zs(), Hs(7, "a", 22), Zs("click", function() {
                         return $t(e), ta(3)._searchPostsByClout()
                     }), Aa(8, "Search"), zs(), zs()
                 }
@@ -66702,11 +66845,11 @@
                 }
             }
 
-            function yV(e, t) {
+            function xV(e, t) {
                 1 & e && Gs(0, "simple-center-loader")
             }
 
-            function vV(e, t) {
+            function EV(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "feed-post", 28), Zs("addToGlobalFeed", function() {
@@ -66721,38 +66864,38 @@
                 }
             }
 
-            function _V(e, t) {
-                if (1 & e && (Hs(0, "div", 26), Ls(1, vV, 1, 7, "feed-post", 27), zs()), 2 & e) {
+            function TV(e, t) {
+                if (1 & e && (Hs(0, "div", 26), Ls(1, EV, 1, 7, "feed-post", 27), zs()), 2 & e) {
                     const e = ta().$implicit;
                     si(1), Vs("ngIf", e.ProfileEntryResponse)
                 }
             }
 
-            function wV(e, t) {
-                if (1 & e && (Hs(0, "div"), Ls(1, _V, 2, 1, "div", 25), zs()), 2 & e) {
+            function PV(e, t) {
+                if (1 & e && (Hs(0, "div"), Ls(1, TV, 2, 1, "div", 25), zs()), 2 & e) {
                     const e = t.$implicit;
                     si(1), Vs("ngIf", e.ProfileEntryResponse)
                 }
             }
 
-            function CV(e, t) {
-                1 & e && Ls(0, wV, 2, 1, "div", 24), 2 & e && Vs("ngForOf", ta(3).activePosts)
+            function AV(e, t) {
+                1 & e && Ls(0, PV, 2, 1, "div", 24), 2 & e && Vs("ngForOf", ta(3).activePosts)
             }
 
-            function SV(e, t) {
+            function IV(e, t) {
                 1 & e && (Hs(0, "div", 31), Aa(1, " Load More "), zs())
             }
 
-            function xV(e, t) {
+            function kV(e, t) {
                 1 & e && (Hs(0, "div", 31), Aa(1, " Loading... "), zs())
             }
 
-            function EV(e, t) {
+            function NV(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div", 29), Zs("click", function() {
                         return $t(e), ta(3)._loadPosts()
-                    }), Ls(1, SV, 2, 0, "div", 30), Ls(2, xV, 2, 0, "div", 30), zs()
+                    }), Ls(1, IV, 2, 0, "div", 30), Ls(2, kV, 2, 0, "div", 30), zs()
                 }
                 if (2 & e) {
                     const e = ta(3);
@@ -66760,12 +66903,12 @@
                 }
             }
 
-            function TV(e, t) {
+            function OV(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div", 11), Hs(1, "div", 12), Aa(2, " Select posts below to show them in the featured feed. "), zs(), Hs(3, "tab-selector", 3), Zs("tabClick", function(t) {
                         return $t(e), ta(2)._postTabClicked(t)
-                    }), zs(), Ls(4, bV, 9, 4, "div", 13), Ls(5, yV, 1, 0, "simple-center-loader", 14), Ls(6, CV, 1, 1, "ng-template", null, 15, Bu), Ls(8, EV, 3, 2, "div", 16), zs()
+                    }), zs(), Ls(4, SV, 9, 4, "div", 13), Ls(5, xV, 1, 0, "simple-center-loader", 14), Ls(6, AV, 1, 1, "ng-template", null, 15, Bu), Ls(8, NV, 3, 2, "div", 16), zs()
                 }
                 if (2 & e) {
                     const e = Fs(7),
@@ -66774,15 +66917,15 @@
                 }
             }
 
-            function PV(e, t) {
+            function RV(e, t) {
                 1 & e && (Hs(0, "div", 32), Hs(1, "div", 33), Aa(2, "No posts found."), zs(), zs())
             }
 
-            function AV(e, t) {
+            function $V(e, t) {
                 1 & e && Gs(0, "simple-center-loader")
             }
 
-            function IV(e, t) {
+            function MV(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 54), Zs("click", function() {
@@ -66791,15 +66934,15 @@
                 }
             }
 
-            function kV(e, t) {
+            function DV(e, t) {
                 1 & e && (Hs(0, "button", 55), Aa(1, "Working... "), zs())
             }
 
-            function NV(e, t) {
+            function BV(e, t) {
                 1 & e && (Hs(0, "div", 56), Gs(1, "i", 57), Aa(2, " Successfully added user to blacklist. "), zs())
             }
 
-            function OV(e, t) {
+            function LV(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 58), Zs("click", function() {
@@ -66808,15 +66951,15 @@
                 }
             }
 
-            function RV(e, t) {
+            function FV(e, t) {
                 1 & e && (Hs(0, "button", 59), Aa(1, "Working... "), zs())
             }
 
-            function $V(e, t) {
+            function UV(e, t) {
                 1 & e && (Hs(0, "div", 56), Gs(1, "i", 57), Aa(2, " Successfully added user to graylist. "), zs())
             }
 
-            function MV(e, t) {
+            function VV(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 60), Zs("click", function() {
@@ -66825,15 +66968,15 @@
                 }
             }
 
-            function DV(e, t) {
+            function jV(e, t) {
                 1 & e && (Hs(0, "button", 61), Aa(1, "Working... "), zs())
             }
 
-            function BV(e, t) {
+            function HV(e, t) {
                 1 & e && (Hs(0, "div", 56), Gs(1, "i", 57), Aa(2, " Successfully removed user from blacklist and graylist. "), zs())
             }
 
-            function LV(e, t) {
+            function zV(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 62), Zs("click", function() {
@@ -66842,15 +66985,15 @@
                 }
             }
 
-            function FV(e, t) {
+            function GV(e, t) {
                 1 & e && (Hs(0, "button", 63), Aa(1, "Working... "), zs())
             }
 
-            function UV(e, t) {
+            function KV(e, t) {
                 1 & e && (Hs(0, "div", 56), Gs(1, "i", 57), Aa(2, " Successfully added user to whitelist. "), zs())
             }
 
-            function VV(e, t) {
+            function qV(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 62), Zs("click", function() {
@@ -66859,15 +67002,15 @@
                 }
             }
 
-            function jV(e, t) {
+            function WV(e, t) {
                 1 & e && (Hs(0, "button", 63), Aa(1, "Working... "), zs())
             }
 
-            function HV(e, t) {
+            function YV(e, t) {
                 1 & e && (Hs(0, "div", 56), Gs(1, "i", 57), Aa(2, " Successfully removed user from whitelist. "), zs())
             }
 
-            function zV(e, t) {
+            function QV(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 65), Zs("click", function() {
@@ -66876,31 +67019,31 @@
                 }
             }
 
-            function GV(e, t) {
+            function XV(e, t) {
                 1 & e && (Hs(0, "button", 63), Aa(1, "Working... "), zs())
             }
 
-            function KV(e, t) {
+            function ZV(e, t) {
                 1 & e && (Hs(0, "div", 56), Gs(1, "i", 57), Aa(2, " Success. "), zs())
             }
 
-            function qV(e, t) {
+            function JV(e, t) {
                 1 & e && Gs(0, "i", 66)
             }
 
-            function WV(e, t) {
+            function ej(e, t) {
                 1 & e && Gs(0, "i", 67)
             }
 
-            function YV(e, t) {
+            function tj(e, t) {
                 1 & e && (Hs(0, "span"), Aa(1, "See what's in global state"), zs())
             }
 
-            function QV(e, t) {
+            function nj(e, t) {
                 1 & e && (Hs(0, "span"), Aa(1, "Loading..."), zs())
             }
 
-            function XV(e, t) {
+            function oj(e, t) {
                 if (1 & e && (Hs(0, "span", 72), Aa(1), zs()), 2 & e) {
                     const e = ta().$implicit,
                         t = ta(4);
@@ -66908,51 +67051,51 @@
                 }
             }
 
-            function ZV(e, t) {
-                if (1 & e && (Hs(0, "div"), Hs(1, "ul", 70), Hs(2, "li"), Ls(3, XV, 2, 1, "span", 71), Aa(4), Hs(5, "ul"), Hs(6, "li"), Aa(7, "RemoveEverywhere: "), Hs(8, "span", 69), Aa(9), zs(), zs(), Hs(10, "li"), Aa(11, "RemoveFromLeaderboard: "), Hs(12, "span", 69), Aa(13), zs(), zs(), Hs(14, "li"), Aa(15, "WhitelistPosts: "), Hs(16, "span", 69), Aa(17), zs(), zs(), zs(), zs(), zs(), zs()), 2 & e) {
+            function rj(e, t) {
+                if (1 & e && (Hs(0, "div"), Hs(1, "ul", 70), Hs(2, "li"), Ls(3, oj, 2, 1, "span", 71), Aa(4), Hs(5, "ul"), Hs(6, "li"), Aa(7, "RemoveEverywhere: "), Hs(8, "span", 69), Aa(9), zs(), zs(), Hs(10, "li"), Aa(11, "RemoveFromLeaderboard: "), Hs(12, "span", 69), Aa(13), zs(), zs(), Hs(14, "li"), Aa(15, "WhitelistPosts: "), Hs(16, "span", 69), Aa(17), zs(), zs(), zs(), zs(), zs(), zs()), 2 & e) {
                     const e = t.$implicit,
                         n = ta(4);
                     si(3), Vs("ngIf", n.usernameMap[e.key]), si(1), ka("", e.key.slice(0, 15), "... "), si(5), Ia(e.value.RemoveEverywhere), si(4), Ia(e.value.RemoveFromLeaderboard), si(4), Ia(e.value.WhitelistPosts)
                 }
             }
 
-            function JV(e, t) {
-                if (1 & e && (Hs(0, "div"), Hs(1, "div", 68), Aa(2, " --- Returned "), Hs(3, "span", 69), Aa(4), zs(), Aa(5, " UserMetadata entries --- "), zs(), Ls(6, ZV, 18, 5, "div", 24), pu(7, "keyvalue"), zs()), 2 & e) {
+            function ij(e, t) {
+                if (1 & e && (Hs(0, "div"), Hs(1, "div", 68), Aa(2, " --- Returned "), Hs(3, "span", 69), Aa(4), zs(), Aa(5, " UserMetadata entries --- "), zs(), Ls(6, rj, 18, 5, "div", 24), pu(7, "keyvalue"), zs()), 2 & e) {
                     const e = ta(3);
                     si(4), Ia(e.userMetadataMapLength), si(2), Vs("ngForOf", gu(7, 2, e.userMetadataMap, e.descOrder))
                 }
             }
 
-            function ej(e, t) {
+            function sj(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div", 34), Hs(1, "div", 12), Aa(2, ' \u2620\ufe0f Use the controls below to remove profiles from the UI. Profiles that are "Blacklisted" will be removed everywhere. Profiles that are "Greylisted" will be selectively removed. '), zs(), Hs(3, "div", 35), Aa(4, " Remove everywhere: "), Hs(5, "div", 36), Hs(6, "input", 37), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).blacklistPubKeyOrUsername = t
                     })("keydown.enter", function() {
                         return $t(e), ta(2).updateProfileModerationLevel("blacklist")
-                    }), zs(), Ls(7, IV, 2, 0, "button", 38), Ls(8, kV, 2, 0, "button", 39), zs(), Ls(9, NV, 3, 0, "div", 40), zs(), Hs(10, "div", 35), Aa(11, " Remove from leaderboards: "), Hs(12, "div", 36), Hs(13, "input", 37), Zs("ngModelChange", function(t) {
+                    }), zs(), Ls(7, MV, 2, 0, "button", 38), Ls(8, DV, 2, 0, "button", 39), zs(), Ls(9, BV, 3, 0, "div", 40), zs(), Hs(10, "div", 35), Aa(11, " Remove from leaderboards: "), Hs(12, "div", 36), Hs(13, "input", 37), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).graylistPubKeyOrUsername = t
                     })("keydown.enter", function() {
                         return $t(e), ta(2).updateProfileModerationLevel("graylist")
-                    }), zs(), Ls(14, OV, 2, 0, "button", 41), Ls(15, RV, 2, 0, "button", 42), zs(), Ls(16, $V, 3, 0, "div", 40), zs(), Hs(17, "div", 43), Aa(18, " Remove from blacklist and graylist: "), Hs(19, "div", 36), Hs(20, "input", 37), Zs("ngModelChange", function(t) {
+                    }), zs(), Ls(14, LV, 2, 0, "button", 41), Ls(15, FV, 2, 0, "button", 42), zs(), Ls(16, UV, 3, 0, "div", 40), zs(), Hs(17, "div", 43), Aa(18, " Remove from blacklist and graylist: "), Hs(19, "div", 36), Hs(20, "input", 37), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).unrestrictPubKeyOrUsername = t
                     })("keydown.enter", function() {
                         return $t(e), ta(2).updateProfileModerationLevel("unrestrict")
-                    }), zs(), Ls(21, MV, 2, 0, "button", 44), Ls(22, DV, 2, 0, "button", 45), zs(), Ls(23, BV, 3, 0, "div", 40), zs(), Hs(24, "div", 12), Aa(25, " \u2b50 Use the controls below to Whitelist profiles. Profiles that are Whitelisted will automatically have up to five of their posts added to the global feed per day. "), zs(), Hs(26, "div", 35), Aa(27, " Whitelist user: "), Hs(28, "div", 36), Hs(29, "input", 37), Zs("ngModelChange", function(t) {
+                    }), zs(), Ls(21, VV, 2, 0, "button", 44), Ls(22, jV, 2, 0, "button", 45), zs(), Ls(23, HV, 3, 0, "div", 40), zs(), Hs(24, "div", 12), Aa(25, " \u2b50 Use the controls below to Whitelist profiles. Profiles that are Whitelisted will automatically have up to five of their posts added to the global feed per day. "), zs(), Hs(26, "div", 35), Aa(27, " Whitelist user: "), Hs(28, "div", 36), Hs(29, "input", 37), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).whitelistPubKeyOrUsername = t
                     })("keydown.enter", function() {
                         return $t(e), ta(2).whitelistClicked()
-                    }), zs(), Ls(30, LV, 2, 0, "button", 46), Ls(31, FV, 2, 0, "button", 47), zs(), Ls(32, UV, 3, 0, "div", 40), zs(), Hs(33, "div", 43), Aa(34, " Remove user from whitelist: "), Hs(35, "div", 36), Hs(36, "input", 37), Zs("ngModelChange", function(t) {
+                    }), zs(), Ls(30, zV, 2, 0, "button", 46), Ls(31, GV, 2, 0, "button", 47), zs(), Ls(32, KV, 3, 0, "div", 40), zs(), Hs(33, "div", 43), Aa(34, " Remove user from whitelist: "), Hs(35, "div", 36), Hs(36, "input", 37), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).unwhitelistPubKeyOrUsername = t
                     })("keydown.enter", function() {
                         return $t(e), ta(2).unwhitelistClicked()
-                    }), zs(), Ls(37, VV, 3, 0, "button", 46), Ls(38, jV, 2, 0, "button", 47), zs(), Ls(39, HV, 3, 0, "div", 40), zs(), Hs(40, "div", 12), Aa(41, " \ud83d\udcde Enter a username or public key below to wipe their phone registration. "), zs(), Hs(42, "div", 48), Aa(43, " Allow phone number re-registration: "), Hs(44, "div", 36), Hs(45, "input", 37), Zs("ngModelChange", function(t) {
+                    }), zs(), Ls(37, qV, 3, 0, "button", 46), Ls(38, WV, 2, 0, "button", 47), zs(), Ls(39, YV, 3, 0, "div", 40), zs(), Hs(40, "div", 12), Aa(41, " \ud83d\udcde Enter a username or public key below to wipe their phone registration. "), zs(), Hs(42, "div", 48), Aa(43, " Allow phone number re-registration: "), Hs(44, "div", 36), Hs(45, "input", 37), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).removePhonePubKeyorUsername = t
                     })("keydown.enter", function() {
                         return $t(e), ta(2).submitRemovePhoneNumber
-                    }), zs(), Ls(46, zV, 2, 0, "button", 49), Ls(47, GV, 2, 0, "button", 47), zs(), Ls(48, KV, 3, 0, "div", 40), zs(), Hs(49, "div", 12), Aa(50, " \ud83d\udda5\ufe0f Dump blacklist / whitelist data. "), zs(), Hs(51, "div", 50), Zs("click", function() {
+                    }), zs(), Ls(46, QV, 2, 0, "button", 49), Ls(47, XV, 2, 0, "button", 47), zs(), Ls(48, ZV, 3, 0, "div", 40), zs(), Hs(49, "div", 12), Aa(50, " \ud83d\udda5\ufe0f Dump blacklist / whitelist data. "), zs(), Hs(51, "div", 50), Zs("click", function() {
                         return $t(e), ta(2)._toggleDbDetails()
-                    }), Ls(52, qV, 1, 0, "i", 51), Ls(53, WV, 1, 0, "i", 52), Hs(54, "span", 53), Ls(55, YV, 2, 0, "span", 0), Ls(56, QV, 2, 0, "span", 0), zs(), Ls(57, JV, 8, 5, "div", 0), zs(), zs()
+                    }), Ls(52, JV, 1, 0, "i", 51), Ls(53, ej, 1, 0, "i", 52), Hs(54, "span", 53), Ls(55, tj, 2, 0, "span", 0), Ls(56, nj, 2, 0, "span", 0), zs(), Ls(57, ij, 8, 5, "div", 0), zs(), zs()
                 }
                 if (2 & e) {
                     const e = ta(2);
@@ -66960,55 +67103,55 @@
                 }
             }
 
-            function tj(e, t) {
+            function aj(e, t) {
                 1 & e && (Hs(0, "div"), Hs(1, "div", 12), Aa(2, " See the state of your bitclout node below. "), zs(), Gs(3, "network-info", 73), zs())
             }
 
-            function nj(e, t) {
+            function lj(e, t) {
                 if (1 & e && (Hs(0, "div", 83), Hs(1, "div", 78), Aa(2), zs(), Hs(3, "div", 78), Aa(4), zs(), Hs(5, "div", 78), Aa(6), zs(), zs()), 2 & e) {
                     const e = t.$implicit;
                     si(2), ka(" ", e.key, " "), si(2), ka(" ", e.value.Count, " "), si(2), ka(" ", e.value.TotalBytes, " ")
                 }
             }
 
-            function oj(e, t) {
+            function uj(e, t) {
                 1 & e && (Hs(0, "div", 84), Aa(1, " Couldn't find any mempool transactions right now. "), zs())
             }
 
-            function rj(e, t) {
+            function cj(e, t) {
                 1 & e && (Hs(0, "span"), Aa(1, "s"), zs())
             }
 
-            function ij(e, t) {
+            function dj(e, t) {
                 if (1 & e && (Hs(0, "span", 91), Aa(1), zs()), 2 & e) {
                     const e = ta(4);
                     si(1), ka(" (first seen ", e.globalVars.abbreviateNumber(e.nextBlockStats.FailingTxnMinutesSinceAdded, 2), " minutes ago)")
                 }
             }
 
-            function sj(e, t) {
-                if (1 & e && (Hs(0, "div", 85), Hs(1, "div", 86), Aa(2, " Next block template "), zs(), Hs(3, "div", 87), Aa(4), Ls(5, rj, 2, 0, "span", 0), Aa(6, " expected to mine in the next block. "), zs(), Hs(7, "div", 88), Aa(8, " Next failing txn "), Ls(9, ij, 2, 1, "span", 89), zs(), Hs(10, "div", 90), Aa(11), zs(), Hs(12, "div", 88), Aa(13, " Next failing txn error "), zs(), Hs(14, "div", 90), Aa(15), zs(), zs()), 2 & e) {
+            function hj(e, t) {
+                if (1 & e && (Hs(0, "div", 85), Hs(1, "div", 86), Aa(2, " Next block template "), zs(), Hs(3, "div", 87), Aa(4), Ls(5, cj, 2, 0, "span", 0), Aa(6, " expected to mine in the next block. "), zs(), Hs(7, "div", 88), Aa(8, " Next failing txn "), Ls(9, dj, 2, 1, "span", 89), zs(), Hs(10, "div", 90), Aa(11), zs(), Hs(12, "div", 88), Aa(13, " Next failing txn error "), zs(), Hs(14, "div", 90), Aa(15), zs(), zs()), 2 & e) {
                     const e = ta(3);
                     si(4), ka(" ", e.nextBlockStats.TxnCount, " transaction"), si(1), Vs("ngIf", e.nextBlockStats.TxnCount > 1), si(4), Vs("ngIf", e.nextBlockStats.FailingTxnMinutesSinceAdded), si(2), ka(" ", e.nextBlockStats.FailingTxnHash, " "), si(4), ka(' "', e.nextBlockStats.FailingTxnError, '" ')
                 }
             }
 
-            function aj(e, t) {
+            function pj(e, t) {
                 1 & e && (Hs(0, "div"), Aa(1, "Next block stats not available. Try refreshing."), zs())
             }
 
-            function lj(e, t) {
+            function fj(e, t) {
                 1 & e && (Hs(0, "div"), Aa(1, "Loading..."), zs())
             }
 
-            function uj(e, t) {
-                if (1 & e && (Hs(0, "div", 74), Hs(1, "div", 12), Aa(2, " See the state of your node's mempool below. "), zs(), Hs(3, "div", 75), Hs(4, "div", 76), Hs(5, "div", 77), Hs(6, "div", 78), Aa(7, " Txn Type "), zs(), Hs(8, "div", 78), Aa(9, " Txn Count "), zs(), Hs(10, "div", 78), Aa(11, " Total Bytes "), zs(), zs(), Ls(12, nj, 7, 3, "div", 79), pu(13, "keyvalue"), Ls(14, oj, 2, 0, "div", 80), Hs(15, "div", 81), Hs(16, "div", 78), Aa(17, " Total "), zs(), Hs(18, "div", 78), Aa(19), zs(), Hs(20, "div", 78), Aa(21), zs(), zs(), zs(), zs(), Ls(22, sj, 16, 5, "div", 82), Ls(23, aj, 2, 0, "div", 0), Ls(24, lj, 2, 0, "div", 0), zs()), 2 & e) {
+            function gj(e, t) {
+                if (1 & e && (Hs(0, "div", 74), Hs(1, "div", 12), Aa(2, " See the state of your node's mempool below. "), zs(), Hs(3, "div", 75), Hs(4, "div", 76), Hs(5, "div", 77), Hs(6, "div", 78), Aa(7, " Txn Type "), zs(), Hs(8, "div", 78), Aa(9, " Txn Count "), zs(), Hs(10, "div", 78), Aa(11, " Total Bytes "), zs(), zs(), Ls(12, lj, 7, 3, "div", 79), pu(13, "keyvalue"), Ls(14, uj, 2, 0, "div", 80), Hs(15, "div", 81), Hs(16, "div", 78), Aa(17, " Total "), zs(), Hs(18, "div", 78), Aa(19), zs(), Hs(20, "div", 78), Aa(21), zs(), zs(), zs(), zs(), Ls(22, hj, 16, 5, "div", 82), Ls(23, pj, 2, 0, "div", 0), Ls(24, fj, 2, 0, "div", 0), zs()), 2 & e) {
                     const e = ta(2);
                     si(12), Vs("ngForOf", fu(13, 7, e.mempoolSummaryStats)), si(2), Vs("ngIf", 0 === e.mempoolTxnCount), si(5), ka(" ", e.mempoolTxnCount, " "), si(2), ka(" ", e.mempoolTotalBytes, " "), si(1), Vs("ngIf", !e.loadingNextBlockStats && e.nextBlockStats), si(1), Vs("ngIf", !e.loadingNextBlockStats && !e.nextBlockStats), si(1), Vs("ngIf", e.loadingNextBlockStats)
                 }
             }
 
-            function cj(e, t) {
+            function mj(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 118), Zs("click", function() {
@@ -67017,39 +67160,39 @@
                 }
             }
 
-            function dj(e, t) {
+            function bj(e, t) {
                 1 & e && (Hs(0, "button", 119), Aa(1, "Working... "), zs())
             }
 
-            function hj(e, t) {
+            function yj(e, t) {
                 if (1 & e && (Hs(0, "li"), Aa(1), zs()), 2 & e) {
                     const e = t.$implicit;
                     si(1), Na("", e.key, ": ", e.value, "")
                 }
             }
 
-            function pj(e, t) {
-                if (1 & e && (Hs(0, "div", 120), Hs(1, "span"), Aa(2, "User Global Metadata"), zs(), Hs(3, "ul"), Ls(4, hj, 2, 2, "li", 24), pu(5, "keyvalue"), zs(), zs()), 2 & e) {
+            function vj(e, t) {
+                if (1 & e && (Hs(0, "div", 120), Hs(1, "span"), Aa(2, "User Global Metadata"), zs(), Hs(3, "ul"), Ls(4, yj, 2, 2, "li", 24), pu(5, "keyvalue"), zs(), zs()), 2 & e) {
                     const e = ta(3);
                     si(4), Vs("ngForOf", fu(5, 1, e.userMetadataToUpdate))
                 }
             }
 
-            function fj(e, t) {
+            function _j(e, t) {
                 if (1 & e && (Hs(0, "li"), Aa(1), zs()), 2 & e) {
                     const e = t.$implicit;
                     si(1), Na("", e.key, ": ", e.value, "")
                 }
             }
 
-            function gj(e, t) {
-                if (1 & e && (Hs(0, "div", 120), Hs(1, "span"), Aa(2, "User Profile Entry"), zs(), Hs(3, "ul"), Ls(4, fj, 2, 2, "li", 24), pu(5, "keyvalue"), zs(), zs()), 2 & e) {
+            function wj(e, t) {
+                if (1 & e && (Hs(0, "div", 120), Hs(1, "span"), Aa(2, "User Profile Entry"), zs(), Hs(3, "ul"), Ls(4, _j, 2, 2, "li", 24), pu(5, "keyvalue"), zs(), zs()), 2 & e) {
                     const e = ta(3);
                     si(4), Vs("ngForOf", fu(5, 1, e.userProfileEntryResponseToUpdate))
                 }
             }
 
-            function mj(e, t) {
+            function Cj(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 118), Zs("click", function() {
@@ -67058,11 +67201,11 @@
                 }
             }
 
-            function bj(e, t) {
+            function Sj(e, t) {
                 1 & e && (Hs(0, "button", 119), Aa(1, "Working... "), zs())
             }
 
-            function yj(e, t) {
+            function xj(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 98), Zs("click", function() {
@@ -67071,16 +67214,16 @@
                 }
             }
 
-            function vj(e, t) {
+            function Ej(e, t) {
                 1 & e && (Hs(0, "button", 121), Aa(1, "Working... "), zs())
             }
-            const _j = function(e) {
+            const Tj = function(e) {
                 return {
                     disabled: e
                 }
             };
 
-            function wj(e, t) {
+            function Pj(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 122), Zs("click", function() {
@@ -67089,15 +67232,15 @@
                 }
                 if (2 & e) {
                     const e = ta(3);
-                    Vs("ngStyle", iu(1, _j, e.updatingGlobalParams))
+                    Vs("ngStyle", iu(1, Tj, e.updatingGlobalParams))
                 }
             }
 
-            function Cj(e, t) {
+            function Aj(e, t) {
                 1 & e && (Hs(0, "button", 123), Aa(1, "Updating... "), zs())
             }
 
-            function Sj(e, t) {
+            function Ij(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 122), Zs("click", function() {
@@ -67106,15 +67249,15 @@
                 }
                 if (2 & e) {
                     const e = ta(3);
-                    Vs("ngStyle", iu(1, _j, e.updatingGlobalParams))
+                    Vs("ngStyle", iu(1, Tj, e.updatingGlobalParams))
                 }
             }
 
-            function xj(e, t) {
+            function kj(e, t) {
                 1 & e && (Hs(0, "button", 123), Aa(1, "Updating... "), zs())
             }
 
-            function Ej(e, t) {
+            function Nj(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 122), Zs("click", function() {
@@ -67123,15 +67266,15 @@
                 }
                 if (2 & e) {
                     const e = ta(3);
-                    Vs("ngStyle", iu(1, _j, e.updatingGlobalParams))
+                    Vs("ngStyle", iu(1, Tj, e.updatingGlobalParams))
                 }
             }
 
-            function Tj(e, t) {
+            function Oj(e, t) {
                 1 & e && (Hs(0, "button", 123), Aa(1, "Updating... "), zs())
             }
 
-            function Pj(e, t) {
+            function Rj(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 98), Zs("click", function() {
@@ -67140,11 +67283,11 @@
                 }
             }
 
-            function Aj(e, t) {
+            function $j(e, t) {
                 1 & e && (Hs(0, "button", 121), Aa(1, "Working... "), zs())
             }
 
-            function Ij(e, t) {
+            function Mj(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 98), Zs("click", function() {
@@ -67153,11 +67296,11 @@
                 }
             }
 
-            function kj(e, t) {
+            function Dj(e, t) {
                 1 & e && (Hs(0, "button", 121), Aa(1, "Working... "), zs())
             }
 
-            function Nj(e, t) {
+            function Bj(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 124), Zs("click", function() {
@@ -67166,11 +67309,11 @@
                 }
             }
 
-            function Oj(e, t) {
+            function Lj(e, t) {
                 1 & e && (Hs(0, "button", 125), Aa(1, "Loading... "), zs())
             }
 
-            function Rj(e, t) {
+            function Fj(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 98), Zs("click", function() {
@@ -67179,11 +67322,11 @@
                 }
             }
 
-            function $j(e, t) {
+            function Uj(e, t) {
                 1 & e && (Hs(0, "button", 121), Aa(1, "Working... "), zs())
             }
 
-            function Mj(e, t) {
+            function Vj(e, t) {
                 if (1 & e && (Hs(0, "ul"), Hs(1, "li", 126), Aa(2), zs(), Hs(3, "ul"), Hs(4, "li", 126), Aa(5), zs(), Hs(6, "li", 126), Aa(7), zs(), Hs(8, "li", 126), Aa(9), zs(), zs(), zs()), 2 & e) {
                     const e = t.$implicit,
                         n = ta(3);
@@ -67191,7 +67334,7 @@
                 }
             }
 
-            function Dj(e, t) {
+            function jj(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 98), Zs("click", function() {
@@ -67200,18 +67343,18 @@
                 }
             }
 
-            function Bj(e, t) {
+            function Hj(e, t) {
                 1 & e && (Hs(0, "button", 121), Aa(1, "Working... "), zs())
             }
 
-            function Lj(e, t) {
+            function zj(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div", 74), Hs(1, "div", 12), Aa(2, " Are you a super user? Welcome. "), zs(), Hs(3, "div", 35), Aa(4, " Swap Identity (BE CAREFUL): "), Hs(5, "div", 92), Hs(6, "input", 93), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).swapIdentityFromUsernameOrPublicKey = t
                     }), zs(), zs(), Hs(7, "div", 92), Hs(8, "input", 94), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).swapIdentityToUsernameOrPublicKey = t
-                    }), zs(), zs(), Hs(9, "div", 92), Ls(10, cj, 2, 0, "button", 95), Ls(11, dj, 2, 0, "button", 96), zs(), zs(), Hs(12, "div", 35), Aa(13, " Change Username (BE CAREFUL): "), Hs(14, "div", 92), Hs(15, "input", 97), Zs("ngModelChange", function(t) {
+                    }), zs(), zs(), Hs(9, "div", 92), Ls(10, mj, 2, 0, "button", 95), Ls(11, bj, 2, 0, "button", 96), zs(), zs(), Hs(12, "div", 35), Aa(13, " Change Username (BE CAREFUL): "), Hs(14, "div", 92), Hs(15, "input", 97), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).changeUsernamePublicKey = t
                     })("change", function() {
                         $t(e);
@@ -67219,31 +67362,31 @@
                         return t.searchedForPubKey = !1, t.userMetadataToUpdate = null, t.userProfileEntryResponseToUpdate = null
                     }), zs(), Hs(16, "button", 98), Zs("click", function() {
                         return $t(e), ta(2).getUserMetadata()
-                    }), Aa(17, "Get User"), zs(), zs(), Ls(18, pj, 6, 3, "div", 99), Ls(19, gj, 6, 3, "div", 99), Hs(20, "div", 92), Hs(21, "input", 100), Zs("ngModelChange", function(t) {
+                    }), Aa(17, "Get User"), zs(), zs(), Ls(18, vj, 6, 3, "div", 99), Ls(19, wj, 6, 3, "div", 99), Hs(20, "div", 92), Hs(21, "input", 100), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).usernameTarget = t
-                    }), zs(), zs(), Hs(22, "div", 92), Ls(23, mj, 2, 0, "button", 95), Ls(24, bj, 2, 0, "button", 96), zs(), zs(), Hs(25, "div", 35), Aa(26, " Reprocess Bitcoin Block: "), Hs(27, "div", 92), Hs(28, "input", 101), Zs("ngModelChange", function(t) {
+                    }), zs(), zs(), Hs(22, "div", 92), Ls(23, Cj, 2, 0, "button", 95), Ls(24, Sj, 2, 0, "button", 96), zs(), zs(), Hs(25, "div", 35), Aa(26, " Reprocess Bitcoin Block: "), Hs(27, "div", 92), Hs(28, "input", 101), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).bitcoinBlockHashOrHeight = t
                     })("keydown.enter", function() {
                         return $t(e), ta(2).reprocessBitcoinBlock()
-                    }), zs(), Ls(29, yj, 2, 0, "button", 102), Ls(30, vj, 2, 0, "button", 103), zs(), zs(), Hs(31, "div", 104), Aa(32, " Update Bitcoin to USD Price "), Hs(33, "div", 105), Hs(34, "input", 106), Zs("ngModelChange", function(t) {
+                    }), zs(), Ls(29, xj, 2, 0, "button", 102), Ls(30, Ej, 2, 0, "button", 103), zs(), zs(), Hs(31, "div", 104), Aa(32, " Update Bitcoin to USD Price "), Hs(33, "div", 105), Hs(34, "input", 106), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).updateGlobalParamsValues.USDPerBitcoin = t
-                    }), zs(), Ls(35, wj, 2, 3, "button", 107), Ls(36, Cj, 2, 0, "button", 108), zs(), zs(), Hs(37, "div", 104), Aa(38, " Create Profile Fee "), Hs(39, "div", 105), Hs(40, "input", 109), Zs("ngModelChange", function(t) {
+                    }), zs(), Ls(35, Pj, 2, 3, "button", 107), Ls(36, Aj, 2, 0, "button", 108), zs(), zs(), Hs(37, "div", 104), Aa(38, " Create Profile Fee "), Hs(39, "div", 105), Hs(40, "input", 109), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).updateGlobalParamsValues.CreateProfileFeeNanos = t
-                    }), zs(), Ls(41, Sj, 2, 3, "button", 107), Ls(42, xj, 2, 0, "button", 108), zs(), zs(), Hs(43, "div", 104), Aa(44, " Min. Network Fee Rate (nanos / kb) "), Hs(45, "div", 105), Hs(46, "input", 110), Zs("ngModelChange", function(t) {
+                    }), zs(), Ls(41, Ij, 2, 3, "button", 107), Ls(42, kj, 2, 0, "button", 108), zs(), zs(), Hs(43, "div", 104), Aa(44, " Min. Network Fee Rate (nanos / kb) "), Hs(45, "div", 105), Hs(46, "input", 110), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).updateGlobalParamsValues.MinimumNetworkFeeNanosPerKB = t
-                    }), zs(), Ls(47, Ej, 2, 3, "button", 107), Ls(48, Tj, 2, 0, "button", 108), zs(), zs(), Hs(49, "div", 35), Aa(50, " Grant Verification Badge: "), Hs(51, "div", 92), Hs(52, "input", 111), Zs("ngModelChange", function(t) {
+                    }), zs(), Ls(47, Nj, 2, 3, "button", 107), Ls(48, Oj, 2, 0, "button", 108), zs(), zs(), Hs(49, "div", 35), Aa(50, " Grant Verification Badge: "), Hs(51, "div", 92), Hs(52, "input", 111), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).usernameToVerify = t
                     })("keydown.enter", function() {
                         return $t(e), ta(2).grantVerificationBadge()
-                    }), zs(), Ls(53, Pj, 2, 0, "button", 102), Ls(54, Aj, 2, 0, "button", 103), zs(), zs(), Hs(55, "div", 35), Aa(56, " Remove Verification Badge: "), Hs(57, "div", 92), Hs(58, "input", 112), Zs("ngModelChange", function(t) {
+                    }), zs(), Ls(53, Rj, 2, 0, "button", 102), Ls(54, $j, 2, 0, "button", 103), zs(), zs(), Hs(55, "div", 35), Aa(56, " Remove Verification Badge: "), Hs(57, "div", 92), Hs(58, "input", 112), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).usernameForWhomToRemoveVerification = t
                     })("keydown.enter", function() {
                         return $t(e), ta(2).RemoveVerificationBadge()
-                    }), zs(), Ls(59, Ij, 2, 0, "button", 102), Ls(60, kj, 2, 0, "button", 103), zs(), zs(), Hs(61, "div", 113), Ls(62, Nj, 2, 0, "button", 114), Ls(63, Oj, 2, 0, "button", 115), zs(), Hs(64, "div", 116), Aa(65), zs(), Hs(66, "div", 35), Aa(67, " Get Username Verification Logs: "), Hs(68, "div", 92), Hs(69, "input", 117), Zs("ngModelChange", function(t) {
+                    }), zs(), Ls(59, Mj, 2, 0, "button", 102), Ls(60, Dj, 2, 0, "button", 103), zs(), zs(), Hs(61, "div", 113), Ls(62, Bj, 2, 0, "button", 114), Ls(63, Lj, 2, 0, "button", 115), zs(), Hs(64, "div", 116), Aa(65), zs(), Hs(66, "div", 35), Aa(67, " Get Username Verification Logs: "), Hs(68, "div", 92), Hs(69, "input", 117), Zs("ngModelChange", function(t) {
                         return $t(e), ta(2).usernameToFetchVerificationAuditLogs = t
                     })("keydown.enter", function() {
                         return $t(e), ta(2)._loadVerifiedUsersAuditLog()
-                    }), zs(), Ls(70, Rj, 2, 0, "button", 102), Ls(71, $j, 2, 0, "button", 103), zs(), zs(), Ls(72, Mj, 10, 4, "ul", 24), Hs(73, "div", 35), Aa(74, " Remove nil posts from global feed: "), Hs(75, "div", 92), Ls(76, Dj, 2, 0, "button", 102), Ls(77, Bj, 2, 0, "button", 103), zs(), zs(), zs()
+                    }), zs(), Ls(70, Fj, 2, 0, "button", 102), Ls(71, Uj, 2, 0, "button", 103), zs(), zs(), Ls(72, Vj, 10, 4, "ul", 24), Hs(73, "div", 35), Aa(74, " Remove nil posts from global feed: "), Hs(75, "div", 92), Ls(76, jj, 2, 0, "button", 102), Ls(77, Hj, 2, 0, "button", 103), zs(), zs(), zs()
                 }
                 if (2 & e) {
                     const e = ta(2);
@@ -67251,12 +67394,12 @@
                 }
             }
 
-            function Fj(e, t) {
+            function Gj(e, t) {
                 if (1 & e) {
                     const e = Ws();
-                    Hs(0, "div"), Ls(1, gV, 4, 0, "div", 2), Hs(2, "tab-selector", 3), Zs("tabClick", function(t) {
+                    Hs(0, "div"), Ls(1, wV, 4, 0, "div", 2), Hs(2, "tab-selector", 3), Zs("tabClick", function(t) {
                         return $t(e), ta()._tabClicked(t)
-                    }), zs(), Ls(3, TV, 9, 6, "div", 4), Ls(4, PV, 3, 0, "div", 5), Ls(5, AV, 1, 0, "simple-center-loader", 0), Ls(6, ej, 58, 29, "div", 6), Ls(7, tj, 4, 0, "div", 0), Ls(8, uj, 25, 9, "div", 7), Ls(9, Lj, 78, 37, "div", 7), zs()
+                    }), zs(), Ls(3, OV, 9, 6, "div", 4), Ls(4, RV, 3, 0, "div", 5), Ls(5, $V, 1, 0, "simple-center-loader", 0), Ls(6, sj, 58, 29, "div", 6), Ls(7, aj, 4, 0, "div", 0), Ls(8, gj, 25, 9, "div", 7), Ls(9, zj, 78, 37, "div", 7), zs()
                 }
                 if (2 & e) {
                     const e = ta();
@@ -67264,14 +67407,14 @@
                 }
             }
 
-            function Uj(e, t) {
+            function Kj(e, t) {
                 1 & e && (Hs(0, "div", 127), Aa(1, " Access denied.\n"), zs())
             }
-            let Vj = (() => {
+            let qj = (() => {
                     class e {}
                     return e.INCORRECT_PASSWORD = "The password you entered was incorrect.", e.CONNECTION_PROBLEM = "There is currently a connection problem. Is your connection to your node healthy?", e.UNKOWN_PROBLEM = "There was a weird problem with the transaction. Debug output: %s", e.INSUFFICIENT_BALANCE = "You don't have enough BitClout to process the transaction. Try reducing the fee rate.", e.SEND_BITCLOUT_MIN = "You must send a non-zero amount of BitClout", e.INVALID_PUBLIC_KEY = "The public key you entered is invalid", e
                 })(),
-                jj = (() => {
+                Wj = (() => {
                     class e {
                         constructor(e, t, n, o) {
                             this._globalVars = e, this.router = t, this.route = n, this.backendApi = o, this.adminPosts = [], this.adminPostsByClout = [], this.activePosts = [], this.loadingPosts = !1, this.loadingMorePosts = !1, this.loadingMempoolStats = !0, this.loadingGlobalParams = !0, this.loadingPostsByClout = !1, this.searchingForPostsByClout = !1, this.isMobile = !1, this.blacklistPubKeyOrUsername = "", this.graylistPubKeyOrUsername = "", this.unrestrictPubKeyOrUsername = "", this.whitelistPubKeyOrUsername = "", this.unwhitelistPubKeyOrUsername = "", this.removePhonePubKeyorUsername = "", this.updateProfileSuccessType = "", this.whitelistUpdateSuccess = !1, this.unwhitelistUpdateSuccess = !1, this.submittingProfileUpdateType = "", this.submittingBlacklistUpdate = !1, this.submittingGraylistUpdate = !1, this.submittingUnrestrictUpdate = !1, this.submittingWhitelistUpdate = !1, this.submittingUnwhitelistUpdate = !1, this.submittingRemovePhone = !1, this.dbDetailsOpen = !1, this.dbDetailsLoading = !1, this.userMetadataMap = {}, this.usernameMap = {}, this.userMetadataMapLength = 0, this.mempoolSummaryStats = {}, this.mempoolTxnCount = 0, this.updatingBitcoinExchangeRate = !1, this.updatingGlobalParams = !1, this.updatingUSDToBitcoin = !1, this.updatingCreateProfileFee = !1, this.updatingMinimumNetworkFee = !1, this.feeRateBitCloutPerKB = 1e-6.toFixed(9), this.bitcoinBlockHashOrHeight = "", this.usernameToVerify = "", this.usernameForWhomToRemoveVerification = "", this.usernameToFetchVerificationAuditLogs = "", this.removingNilPosts = !1, this.submittingReprocessRequest = !1, this.submittingRemovalRequest = !1, this.submittingVerifyRequest = !1, this.mempoolTotalBytes = 0, this.loadingNextBlockStats = !1, this.nextBlockStats = {}, this.globalParams = {}, this.updateGlobalParamsValues = {
@@ -67467,9 +67610,9 @@
                         extractError(e) {
                             if (null != e.error && null != e.error.error) {
                                 const t = e.error.error;
-                                return t.includes("password") ? Vj.INCORRECT_PASSWORD : t.includes("not sufficient") ? Vj.INSUFFICIENT_BALANCE : t.includes("RuleErrorTxnMustHaveAtLeastOneInput") ? Vj.SEND_BITCLOUT_MIN : t.includes("SendBitClout: Problem") && t.includes("Invalid input format") || t.includes("Checksum does not match") ? Vj.INVALID_PUBLIC_KEY : t
+                                return t.includes("password") ? qj.INCORRECT_PASSWORD : t.includes("not sufficient") ? qj.INSUFFICIENT_BALANCE : t.includes("RuleErrorTxnMustHaveAtLeastOneInput") ? qj.SEND_BITCLOUT_MIN : t.includes("SendBitClout: Problem") && t.includes("Invalid input format") || t.includes("Checksum does not match") ? qj.INVALID_PUBLIC_KEY : t
                             }
-                            return null != e.status && 200 !== e.status ? Vj.CONNECTION_PROBLEM : JSON.stringify(e)
+                            return null != e.status && 200 !== e.status ? qj.CONNECTION_PROBLEM : JSON.stringify(e)
                         }
                         updateGlobalParamUSDPerBitcoin() {
                             this.updatingUSDToBitcoin = !0, this.updateGlobalParams(this.updateGlobalParamsValues.USDPerBitcoin, -1, -1)
@@ -67493,10 +67636,10 @@
                                 reverseButtons: !0
                             }).then(o => {
                                 o.isConfirmed && (this.updatingGlobalParams = !0, this.backendApi.UpdateGlobalParams(this.globalVars.localNode, this.globalVars.loggedInUser.PublicKeyBase58Check, e >= 0 ? 100 * e : -1, t >= 0 ? 1e9 * t : -1, n >= 0 ? 1e9 * n : -1, n >= 0 ? 1e9 * n : Math.floor(1e9 * parseFloat(this.feeRateBitCloutPerKB))).subscribe(e => {
-                                    if (null == e || null == e.FeeNanos) return this.globalVars._alertError(Vj.CONNECTION_PROBLEM), null;
+                                    if (null == e || null == e.FeeNanos) return this.globalVars._alertError(qj.CONNECTION_PROBLEM), null;
                                     n >= 0 && (this.globalParams.MinimumNetworkFeeNanosPerKB = n);
                                     const t = e.FeeNanos / 1e9;
-                                    this.globalVars._alertSuccess(Object(tL.sprintf)("Successfully updated global params rate. TxID: %s for a fee of %d BitClout", e.TransactionIDBase58Check, t))
+                                    this.globalVars._alertSuccess(Object(aL.sprintf)("Successfully updated global params rate. TxID: %s for a fee of %d BitClout", e.TransactionIDBase58Check, t))
                                 }, e => {
                                     console.error(e), this.globalVars._alertError(this.extractError(e))
                                 }).add(() => {
@@ -67529,9 +67672,9 @@
                                 reverseButtons: !0
                             }).then(e => {
                                 e.isConfirmed && (this.updatingBitcoinExchangeRate = !0, this.backendApi.UpdateBitcoinUSDExchangeRate(this.globalVars.localNode, this.globalVars.loggedInUser.PublicKeyBase58Check, 100 * this.bitcoinExchangeRate, Math.floor(1e9 * parseFloat(this.feeRateBitCloutPerKB))).subscribe(e => {
-                                    if (null == e || null == e.FeeNanos) return this.globalVars._alertError(Vj.CONNECTION_PROBLEM), null;
+                                    if (null == e || null == e.FeeNanos) return this.globalVars._alertError(qj.CONNECTION_PROBLEM), null;
                                     const t = e.FeeNanos / 1e9;
-                                    this.globalVars._alertSuccess(Object(tL.sprintf)("Successfully updated exchange rate. TxID: %s for a fee of %d BitClout", e.TransactionIDBase58Check, t))
+                                    this.globalVars._alertSuccess(Object(aL.sprintf)("Successfully updated exchange rate. TxID: %s for a fee of %d BitClout", e.TransactionIDBase58Check, t))
                                 }, e => {
                                     console.error(e), this.globalVars._alertError(this.extractError(e))
                                 }).add(() => {
@@ -67541,7 +67684,7 @@
                         }
                         reprocessBitcoinBlock() {
                             "" !== this.bitcoinBlockHashOrHeight ? (this.submittingReprocessRequest = !0, this.backendApi.AdminReprocessBitcoinBlock(this.globalVars.localNode, this.globalVars.loggedInUser.PublicKeyBase58Check, this.bitcoinBlockHashOrHeight).subscribe(e => {
-                                if (null == e || null == e.Message) return this.globalVars._alertError(Vj.CONNECTION_PROBLEM), null;
+                                if (null == e || null == e.Message) return this.globalVars._alertError(qj.CONNECTION_PROBLEM), null;
                                 this.bitcoinBlockHashOrHeight = "", this.globalVars._alertSuccess(e.Message)
                             }, e => {
                                 console.error(e), this.globalVars._alertError(this.extractError(e))
@@ -67569,7 +67712,7 @@
                         }
                         swapIdentity() {
                             "" !== this.swapIdentityFromUsernameOrPublicKey ? "" !== this.swapIdentityToUsernameOrPublicKey ? (this.submittingSwapIdentity = !0, this.backendApi.SwapIdentity(this.globalVars.localNode, this.globalVars.loggedInUser.PublicKeyBase58Check, this.swapIdentityFromUsernameOrPublicKey, this.swapIdentityToUsernameOrPublicKey, Math.floor(1e9 * parseFloat(this.feeRateBitCloutPerKB))).subscribe(e => {
-                                if (null == e) return this.globalVars._alertError(Vj.CONNECTION_PROBLEM), null;
+                                if (null == e) return this.globalVars._alertError(qj.CONNECTION_PROBLEM), null;
                                 this.globalVars._alertSuccess("Identities successfully swapped!")
                             }, e => {
                                 console.error(e), this.globalVars._alertError(this.extractError(e))
@@ -67763,23 +67906,23 @@
                             [1, "d-flex", "flex-column", "align-items-center", "justify-content-center", "p-15px", "font-italic", 2, "height", "600px"]
                         ],
                         template: function(e, t) {
-                            1 & e && (Ls(0, Fj, 10, 10, "div", 0), Ls(1, Uj, 2, 0, "div", 1)), 2 & e && (Vs("ngIf", null != t.globalVars.nodeInfo), si(1), Vs("ngIf", !t.globalVars.showAdminTools()))
+                            1 & e && (Ls(0, Gj, 10, 10, "div", 0), Ls(1, Kj, 2, 0, "div", 1)), 2 & e && (Vs("ngIf", null != t.globalVars.nodeInfo), si(1), Vs("ngIf", !t.globalVars.showAdminTools()))
                         },
-                        directives: [wd, SO, bO, D_, P_, iw, vd, o_, oI, WM, kh, Zh, Kp, $A, fV, tp, Ad],
+                        directives: [wd, SO, bO, D_, P_, iw, vd, o_, oI, WM, kh, Zh, Kp, $A, _V, tp, Ad],
                         pipes: [Bd],
                         styles: [""]
                     }), e
                 })();
 
-            function Hj(e, t) {
+            function Yj(e, t) {
                 1 & e && Gs(0, "simple-center-loader")
             }
 
-            function zj(e, t) {
+            function Qj(e, t) {
                 1 & e && (Hs(0, "div", 18), Aa(1, " Please enter a valid email address."), zs())
             }
 
-            function Gj(e, t) {
+            function Xj(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 19), Zs("click", function() {
@@ -67788,7 +67931,7 @@
                 }
             }
 
-            function Kj(e, t) {
+            function Zj(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "button", 20), Zs("click", function() {
@@ -67797,29 +67940,29 @@
                 }
             }
 
-            function qj(e, t) {
+            function Jj(e, t) {
                 1 & e && (Hs(0, "button", 21), Aa(1, " Updating... "), zs())
             }
 
-            function Wj(e, t) {
+            function eH(e, t) {
                 1 & e && (Hs(0, "div", 22), Aa(1, " Success! "), zs())
             }
 
-            function Yj(e, t) {
+            function tH(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div", 7), Hs(1, "div", 8), Aa(2, "E-mail"), zs(), Hs(3, "div", 9), Hs(4, "input", 10), Zs("ngModelChange", function(t) {
                         return $t(e), ta().emailAddress = t
                     })("ngModelChange", function(t) {
                         return $t(e), ta()._validateEmail(t)
-                    }), zs(), Ls(5, zj, 2, 0, "div", 11), zs(), Hs(6, "div", 12), Ls(7, Gj, 2, 0, "button", 13), Ls(8, Kj, 2, 0, "button", 14), Ls(9, qj, 2, 0, "button", 15), Ls(10, Wj, 2, 0, "div", 16), zs(), Gs(11, "div", 17), Gs(12, "div", 17), zs()
+                    }), zs(), Ls(5, Qj, 2, 0, "div", 11), zs(), Hs(6, "div", 12), Ls(7, Xj, 2, 0, "button", 13), Ls(8, Zj, 2, 0, "button", 14), Ls(9, Jj, 2, 0, "button", 15), Ls(10, eH, 2, 0, "div", 16), zs(), Gs(11, "div", 17), Gs(12, "div", 17), zs()
                 }
                 if (2 & e) {
                     const e = ta();
                     si(4), Vs("ngModel", e.emailAddress), si(1), Vs("ngIf", e.invalidEmailEntered), si(2), Vs("ngIf", !e.updatingSettings && !(e.invalidEmailEntered || e.f && e.f.form.value.phone && e.f.form.controls.phone.invalid)), si(1), Vs("ngIf", !e.updatingSettings && (e.invalidEmailEntered || e.f && e.f.form.value.phone && e.f.form.controls.phone.invalid)), si(1), Vs("ngIf", e.updatingSettings), si(1), Vs("ngIf", e.showSuccessMessage)
                 }
             }
-            let Qj = (() => {
+            let nH = (() => {
                 class e {
                     constructor(e, t) {
                         this._globalVars = e, this.backendApi = t, this.loading = !1, this.countryISO = AA, this.emailAddress = "", this.invalidEmailEntered = !1, this.phoneForm = new Fp({
@@ -67888,57 +68031,57 @@
                         [1, "fs-15px", "ml-10px", 2, "color", "green"]
                     ],
                     template: function(e, t) {
-                        1 & e && (Hs(0, "div", 0), Gs(1, "top-bar-mobile-navigation-control", 1), Aa(2, " Settings\n"), zs(), Gs(3, "div", 2), Hs(4, "div", 3), Hs(5, "div", 4), Ls(6, Hj, 1, 0, "simple-center-loader", 5), Ls(7, Yj, 13, 6, "div", 6), zs(), zs()), 2 & e && (si(6), Vs("ngIf", !t.globalVars.loggedInUser || t.loading), si(1), Vs("ngIf", t.globalVars.loggedInUser && !t.loading))
+                        1 & e && (Hs(0, "div", 0), Gs(1, "top-bar-mobile-navigation-control", 1), Aa(2, " Settings\n"), zs(), Gs(3, "div", 2), Hs(4, "div", 3), Hs(5, "div", 4), Ls(6, Yj, 1, 0, "simple-center-loader", 5), Ls(7, tH, 13, 6, "div", 6), zs(), zs()), 2 & e && (si(6), Vs("ngIf", !t.globalVars.loggedInUser || t.loading), si(1), Vs("ngIf", t.globalVars.loggedInUser && !t.loading))
                     },
                     directives: [bO, wd, oI, kh, Zh, Kp, $A],
                     styles: [""]
                 }), e
             })();
 
-            function Xj(e, t) {
+            function oH(e, t) {
                 1 & e && (Hs(0, "div"), Gs(1, "simple-center-loader"), zs())
             }
 
-            function Zj(e, t) {
+            function rH(e, t) {
                 1 & e && (Hs(0, "div", 7), Hs(1, "span"), Aa(2, "You don't have any notifications"), zs(), zs())
             }
 
-            function Jj(e, t) {
+            function iH(e, t) {
                 if (1 & e && (Hs(0, "div", 17), Gs(1, "i"), zs()), 2 & e) {
                     const e = ta(2).$implicit;
                     si(1), ma(e.icon)
                 }
             }
-            const eH = function(e, t) {
+            const sH = function(e, t) {
                 return [e, t]
             };
 
-            function tH(e, t) {
-                if (1 & e && (Hs(0, "div", 12), Hs(1, "div", 13), Ls(2, Jj, 2, 3, "div", 14), Gs(3, "img", 15), Gs(4, "div", 16), zs(), zs()), 2 & e) {
+            function aH(e, t) {
+                if (1 & e && (Hs(0, "div", 12), Hs(1, "div", 13), Ls(2, iH, 2, 3, "div", 14), Gs(3, "img", 15), Gs(4, "div", 16), zs(), zs()), 2 & e) {
                     const e = ta().$implicit,
                         t = ta();
-                    Vs("routerLink", e.link), si(2), Vs("ngIf", e.icon), si(1), ia("src", e.actor.ProfilePic, ar), Vs("routerLink", su(5, eH, "/" + t.globalVars.RouteNames.USER_PREFIX, e.actor.Username)), si(1), Vs("innerHtml", e.action, sr)
+                    Vs("routerLink", e.link), si(2), Vs("ngIf", e.icon), si(1), ia("src", e.actor.ProfilePic, ar), Vs("routerLink", su(5, sH, "/" + t.globalVars.RouteNames.USER_PREFIX, e.actor.Username)), si(1), Vs("innerHtml", e.action, sr)
                 }
             }
 
-            function nH(e, t) {
+            function lH(e, t) {
                 if (1 & e && (Hs(0, "div", 18), Gs(1, "feed-post", 19), zs()), 2 & e) {
                     const e = ta().$implicit;
                     si(1), Vs("post", e.post)("includePaddingOnPost", !0)("showReplyingToContent", !!e.parentPost)("parentPost", e.parentPost)("contentShouldLinkToThread", !0)("showFollowLink", !0)
                 }
             }
 
-            function oH(e, t) {
-                if (1 & e && (Hs(0, "div", 8, 9), Ls(2, tH, 5, 8, "div", 10), Ls(3, nH, 2, 6, "div", 11), zs()), 2 & e) {
+            function uH(e, t) {
+                if (1 & e && (Hs(0, "div", 8, 9), Ls(2, aH, 5, 8, "div", 10), Ls(3, lH, 2, 6, "div", 11), zs()), 2 & e) {
                     const e = t.$implicit;
                     si(2), Vs("ngIf", e.action), si(1), Vs("ngIf", e.post)
                 }
             }
 
-            function rH(e, t) {
+            function cH(e, t) {
                 1 & e && Gs(0, "simple-center-loader", 20), 2 & e && Vs("height", 200)
             }
-            let iH = (() => {
+            let dH = (() => {
                 class e {
                     constructor(e, t) {
                         this.globalVars = e, this.backendApi = t, this.pagedRequests = {
@@ -68089,30 +68232,30 @@
                         [3, "height"]
                     ],
                     template: function(e, t) {
-                        1 & e && (Hs(0, "div", 0), Gs(1, "top-bar-mobile-navigation-control", 1), Aa(2, " Notifications\n"), zs(), Ls(3, Xj, 2, 0, "div", 2), Ls(4, Zj, 3, 0, "div", 3), Ls(5, oH, 4, 2, "div", 4), Ls(6, rH, 1, 1, "simple-center-loader", 5), Gs(7, "div", 6)), 2 & e && (si(3), Vs("ngIf", t.isLoading), si(1), Vs("ngIf", !(t.totalItems && 0 !== t.totalItems || t.isLoading)), si(1), Vs("uiScrollOf", t.datasource), si(1), Vs("ngIf", t.loadingMoreNotifications && !t.isLoading))
+                        1 & e && (Hs(0, "div", 0), Gs(1, "top-bar-mobile-navigation-control", 1), Aa(2, " Notifications\n"), zs(), Ls(3, oH, 2, 0, "div", 2), Ls(4, rH, 3, 0, "div", 3), Ls(5, uH, 4, 2, "div", 4), Ls(6, cH, 1, 1, "simple-center-loader", 5), Gs(7, "div", 6)), 2 & e && (si(3), Vs("ngIf", t.isLoading), si(1), Vs("ngIf", !(t.totalItems && 0 !== t.totalItems || t.isLoading)), si(1), Vs("uiScrollOf", t.datasource), si(1), Vs("ngIf", t.loadingMoreNotifications && !t.isLoading))
                     },
                     directives: [bO, wd, cO, oI, Hx, WM],
                     styles: [""]
                 }), e
             })();
 
-            function sH(e, t) {
+            function hH(e, t) {
                 1 & e && Gs(0, "left-bar")
             }
 
-            function aH(e, t) {
+            function pH(e, t) {
                 1 & e && Gs(0, "left-bar-mobile")
             }
 
-            function lH(e, t) {
+            function fH(e, t) {
                 1 & e && (Hs(0, "div", 4), Gs(1, "right-bar-creators", 5), zs())
             }
 
-            function uH(e, t) {
+            function gH(e, t) {
                 1 & e && Gs(0, "bottom-bar-mobile", 6)
             }
-            const cH = ["*"];
-            let dH = (() => {
+            const mH = ["*"];
+            let bH = (() => {
                 class e {
                     constructor(e) {
                         this.globalVars = e, this.mobile = !1
@@ -68142,7 +68285,7 @@
                     inputs: {
                         hideSidebar: "hideSidebar"
                     },
-                    ngContentSelectors: cH,
+                    ngContentSelectors: mH,
                     decls: 9,
                     vars: 10,
                     consts: [
@@ -68155,38 +68298,38 @@
                         [1, "global__bottom-bar-mobile"]
                     ],
                     template: function(e, t) {
-                        1 & e && (oa(), Hs(0, "div"), Ls(1, sH, 1, 0, "left-bar", 0), Ls(2, aH, 1, 0, "left-bar-mobile", 0), Hs(3, "div", 1), Hs(4, "div"), Hs(5, "div"), ra(6), zs(), zs(), Ls(7, lH, 2, 0, "div", 2), Ls(8, uH, 1, 0, "bottom-bar-mobile", 3), zs(), zs()), 2 & e && (ma(t.mobile ? "global__mobile" : "global__desktop"), si(1), Vs("ngIf", !t.mobile), si(1), Vs("ngIf", t.mobile), si(2), ma(t.mobile || t.hideSidebar ? "global__content__width" : "global__center__width"), si(1), ma(t.mobile || t.hideSidebar ? "global__content__inner" : "global__center__inner"), si(2), Vs("ngIf", !t.mobile && !t.hideSidebar), si(1), Vs("ngIf", t.mobile))
+                        1 & e && (oa(), Hs(0, "div"), Ls(1, hH, 1, 0, "left-bar", 0), Ls(2, pH, 1, 0, "left-bar-mobile", 0), Hs(3, "div", 1), Hs(4, "div"), Hs(5, "div"), ra(6), zs(), zs(), Ls(7, fH, 2, 0, "div", 2), Ls(8, gH, 1, 0, "bottom-bar-mobile", 3), zs(), zs()), 2 & e && (ma(t.mobile ? "global__mobile" : "global__desktop"), si(1), Vs("ngIf", !t.mobile), si(1), Vs("ngIf", t.mobile), si(2), ma(t.mobile || t.hideSidebar ? "global__content__width" : "global__center__width"), si(1), ma(t.mobile || t.hideSidebar ? "global__content__inner" : "global__center__inner"), si(2), Vs("ngIf", !t.mobile && !t.hideSidebar), si(1), Vs("ngIf", t.mobile))
                     },
-                    directives: [wd, q$, TF, sM, SF],
+                    directives: [wd, q$, OF, sM, IF],
                     styles: [""]
                 }), e
             })();
 
-            function hH(e, t) {
+            function yH(e, t) {
                 1 & e && (Hs(0, "div"), Hs(1, "div", 10), Aa(2, "STEP 3 of 4"), zs(), Hs(3, "div", 11), Aa(4, " Get Starter BitClout "), zs(), Hs(5, "div", 12), Aa(6, " BitClout is a cryptocurrency that's required to use the site. This helps prevent spam. "), zs(), Hs(7, "div", 12), Aa(8, " That said, most transactions (e.g. liking, posting, etc) cost essentially zero. "), zs(), zs())
             }
 
-            function pH(e, t) {
+            function vH(e, t) {
                 1 & e && (Hs(0, "div", 13), Aa(1, " Please enter a valid phone number "), zs())
             }
 
-            function fH(e, t) {
+            function _H(e, t) {
                 1 & e && (Hs(0, "div", 13), Aa(1, " This phone number is being used by another account. Please use a different phone number or sign into your other account. "), zs())
             }
 
-            function gH(e, t) {
+            function wH(e, t) {
                 1 & e && (Hs(0, "div", 13), Aa(1, " You've requested too many verification codes. Please wait 10 minutes and try again. "), zs())
             }
 
-            function mH(e, t) {
+            function CH(e, t) {
                 1 & e && (Hs(0, "div", 13), Aa(1, " This phone number is a VOIP number, which isn't allowed (to prevent spam). Please try again with a different phone number. "), zs())
             }
 
-            function bH(e, t) {
+            function SH(e, t) {
                 1 & e && (Hs(0, "div", 13), Aa(1, ' Currently we can\'t send text messages to China. If you have a non-Chinese number, please try that. If not, click "skip" below. You can still use the site by buying BitClout. '), zs())
             }
 
-            function yH(e, t) {
+            function xH(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "a", 14), Zs("click", function() {
@@ -68195,7 +68338,7 @@
                 }
             }
 
-            function vH(e, t) {
+            function EH(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "a", 14), Zs("click", function() {
@@ -68203,50 +68346,50 @@
                     }), Aa(1, " Skip "), zs()
                 }
             }
-            const _H = function(e, t) {
+            const TH = function(e, t) {
                 return {
                     disabled: e,
                     "btn-loading": t
                 }
             };
 
-            function wH(e, t) {
+            function PH(e, t) {
                 if (1 & e) {
                     const e = Ws();
-                    Hs(0, "div"), Ls(1, hH, 9, 0, "div", 0), Hs(2, "div", 1), Aa(3, " Verify your phone number for free BitClout. "), zs(), Hs(4, "form", 2, 3), Hs(6, "ngx-intl-tel-input", 4), Zs("ngModelChange", function() {
+                    Hs(0, "div"), Ls(1, yH, 9, 0, "div", 0), Hs(2, "div", 1), Aa(3, " Verify your phone number for free BitClout. "), zs(), Hs(4, "form", 2, 3), Hs(6, "ngx-intl-tel-input", 4), Zs("ngModelChange", function() {
                         return $t(e), ta().onPhoneNumberInputChanged()
-                    }), zs(), Hs(7, "div", 5), Ls(8, pH, 2, 0, "div", 6), Ls(9, fH, 2, 0, "div", 6), Ls(10, gH, 2, 0, "div", 6), Ls(11, mH, 2, 0, "div", 6), Ls(12, bH, 2, 0, "div", 6), zs(), zs(), Hs(13, "div", 7), Hs(14, "div"), Ls(15, yH, 2, 0, "a", 8), zs(), Hs(16, "div"), Ls(17, vH, 2, 0, "a", 8), Hs(18, "a", 9), Zs("click", function() {
+                    }), zs(), Hs(7, "div", 5), Ls(8, vH, 2, 0, "div", 6), Ls(9, _H, 2, 0, "div", 6), Ls(10, wH, 2, 0, "div", 6), Ls(11, CH, 2, 0, "div", 6), Ls(12, SH, 2, 0, "div", 6), zs(), zs(), Hs(13, "div", 7), Hs(14, "div"), Ls(15, xH, 2, 0, "a", 8), zs(), Hs(16, "div"), Ls(17, EH, 2, 0, "a", 8), Hs(18, "a", 9), Zs("click", function() {
                         return $t(e), ta().sendVerificationText()
                     }), Aa(19, " Next "), zs(), zs(), zs(), zs()
                 }
                 if (2 & e) {
                     const e = Fs(5),
                         t = ta();
-                    si(1), Vs("ngIf", t.displayForSignupFlow), si(3), Vs("formGroup", t.phoneForm), si(2), Vs("cssClass", "form-control sign-up__phone-input")("separateDialCode", !0)("enableAutoCountrySelect", !0)("enablePlaceholder", !0)("searchCountryFlag", !0)("selectFirstCountry", !1)("selectedCountryISO", t.CountryISO.UnitedStates)("maxLength", 15)("phoneValidation", !0), si(2), Vs("ngIf", e.form.value.phone && e.form.controls.phone.invalid), si(1), Vs("ngIf", t.sendPhoneNumberVerificationTextServerErrors.phoneNumberAlreadyInUse), si(1), Vs("ngIf", t.sendPhoneNumberVerificationTextServerErrors.maxSendAttemptsReached), si(1), Vs("ngIf", t.sendPhoneNumberVerificationTextServerErrors.voipNumberNotAllowed), si(1), Vs("ngIf", t.sendPhoneNumberVerificationTextServerErrors.chineseNumberNotAllowed), si(3), Vs("ngIf", t.displayForSignupFlow), si(2), Vs("ngIf", t.displayForSignupFlow), si(1), Vs("ngClass", su(19, _H, !t.phoneForm.valid, t.sendingPhoneNumberVerificationText))
+                    si(1), Vs("ngIf", t.displayForSignupFlow), si(3), Vs("formGroup", t.phoneForm), si(2), Vs("cssClass", "form-control sign-up__phone-input")("separateDialCode", !0)("enableAutoCountrySelect", !0)("enablePlaceholder", !0)("searchCountryFlag", !0)("selectFirstCountry", !1)("selectedCountryISO", t.CountryISO.UnitedStates)("maxLength", 15)("phoneValidation", !0), si(2), Vs("ngIf", e.form.value.phone && e.form.controls.phone.invalid), si(1), Vs("ngIf", t.sendPhoneNumberVerificationTextServerErrors.phoneNumberAlreadyInUse), si(1), Vs("ngIf", t.sendPhoneNumberVerificationTextServerErrors.maxSendAttemptsReached), si(1), Vs("ngIf", t.sendPhoneNumberVerificationTextServerErrors.voipNumberNotAllowed), si(1), Vs("ngIf", t.sendPhoneNumberVerificationTextServerErrors.chineseNumberNotAllowed), si(3), Vs("ngIf", t.displayForSignupFlow), si(2), Vs("ngIf", t.displayForSignupFlow), si(1), Vs("ngClass", su(19, TH, !t.phoneForm.valid, t.sendingPhoneNumberVerificationText))
                 }
             }
 
-            function CH(e, t) {
+            function AH(e, t) {
                 1 & e && (Hs(0, "div"), Hs(1, "div", 10), Aa(2, "STEP 3 of 4"), zs(), Hs(3, "div", 21), Aa(4, " Verify your phone number "), zs(), zs())
             }
 
-            function SH(e, t) {
+            function IH(e, t) {
                 1 & e && Gs(0, "i", 22)
             }
 
-            function xH(e, t) {
+            function kH(e, t) {
                 1 & e && (Hs(0, "div", 23), Aa(1, " You've requested too many verification codes. Please wait 10 minutes and try again. "), zs())
             }
 
-            function EH(e, t) {
+            function NH(e, t) {
                 1 & e && (Hs(0, "div", 13), Aa(1, " The code you entered is invalid. Please try again. "), zs())
             }
 
-            function TH(e, t) {
+            function OH(e, t) {
                 1 & e && (Hs(0, "div", 13), Aa(1, " You've checked too many codes and hit a rate limit. Please wait 10 minutes and try again. "), zs())
             }
 
-            function PH(e, t) {
+            function RH(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "a", 14), Zs("click", function() {
@@ -68255,7 +68398,7 @@
                 }
             }
 
-            function AH(e, t) {
+            function $H(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "a", 14), Zs("click", function() {
@@ -68264,28 +68407,28 @@
                 }
             }
 
-            function IH(e, t) {
+            function MH(e, t) {
                 if (1 & e) {
                     const e = Ws();
-                    Hs(0, "div"), Ls(1, CH, 5, 0, "div", 0), Hs(2, "div", 1), Aa(3), Hs(4, "div", 15), Hs(5, "a", 16), Zs("click", function(t) {
+                    Hs(0, "div"), Ls(1, AH, 5, 0, "div", 0), Hs(2, "div", 1), Aa(3), Hs(4, "div", 15), Hs(5, "a", 16), Zs("click", function(t) {
                         return $t(e), ta().resendVerificationCode(t)
-                    }), Aa(6, " Resend "), zs(), Ls(7, SH, 1, 0, "i", 17), zs(), Ls(8, xH, 2, 0, "div", 18), zs(), Hs(9, "form", 19, 3), Hs(11, "input", 20), Zs("ngModelChange", function() {
+                    }), Aa(6, " Resend "), zs(), Ls(7, IH, 1, 0, "i", 17), zs(), Ls(8, kH, 2, 0, "div", 18), zs(), Hs(9, "form", 19, 3), Hs(11, "input", 20), Zs("ngModelChange", function() {
                         return $t(e), ta().onVerificationCodeInputChanged()
-                    }), zs(), Hs(12, "div", 5), Ls(13, EH, 2, 0, "div", 6), Ls(14, TH, 2, 0, "div", 6), zs(), zs(), Hs(15, "div", 7), Hs(16, "div"), Ls(17, PH, 2, 0, "a", 8), zs(), Hs(18, "div"), Ls(19, AH, 2, 0, "a", 8), Hs(20, "a", 9), Zs("click", function() {
+                    }), zs(), Hs(12, "div", 5), Ls(13, NH, 2, 0, "div", 6), Ls(14, OH, 2, 0, "div", 6), zs(), zs(), Hs(15, "div", 7), Hs(16, "div"), Ls(17, RH, 2, 0, "a", 8), zs(), Hs(18, "div"), Ls(19, $H, 2, 0, "a", 8), Hs(20, "a", 9), Zs("click", function() {
                         return $t(e), ta().submitVerificationCode()
                     }), Aa(21, " Verify "), zs(), zs(), zs(), zs()
                 }
                 if (2 & e) {
                     const e = ta();
-                    si(1), Vs("ngIf", e.displayForSignupFlow), si(2), ka(" Enter the 6 digit code sent to ", e.phoneNumber, " "), si(4), Vs("ngIf", e.resentVerificationCode), si(1), Vs("ngIf", e.sendPhoneNumberVerificationTextServerErrors.maxSendAttemptsReached), si(1), Vs("formGroup", e.verificationCodeForm), si(4), Vs("ngIf", e.submitPhoneNumberVerificationCodeServerErrors.invalidCode), si(1), Vs("ngIf", e.submitPhoneNumberVerificationCodeServerErrors.maxCheckAttemptsReached), si(3), Vs("ngIf", e.displayForSignupFlow), si(2), Vs("ngIf", e.displayForSignupFlow), si(1), Vs("ngClass", su(10, _H, !e.verificationCodeForm.valid, e.submittingPhoneNumberVerificationCode))
+                    si(1), Vs("ngIf", e.displayForSignupFlow), si(2), ka(" Enter the 6 digit code sent to ", e.phoneNumber, " "), si(4), Vs("ngIf", e.resentVerificationCode), si(1), Vs("ngIf", e.sendPhoneNumberVerificationTextServerErrors.maxSendAttemptsReached), si(1), Vs("formGroup", e.verificationCodeForm), si(4), Vs("ngIf", e.submitPhoneNumberVerificationCodeServerErrors.invalidCode), si(1), Vs("ngIf", e.submitPhoneNumberVerificationCodeServerErrors.maxCheckAttemptsReached), si(3), Vs("ngIf", e.displayForSignupFlow), si(2), Vs("ngIf", e.displayForSignupFlow), si(1), Vs("ngClass", su(10, TH, !e.verificationCodeForm.valid, e.submittingPhoneNumberVerificationCode))
                 }
             }
 
-            function kH(e, t) {
+            function DH(e, t) {
                 1 & e && (Hs(0, "div"), Hs(1, "div", 10), Aa(2, "STEP 3 of 4"), zs(), Hs(3, "div", 21), Aa(4, " Get Starter BitClout "), zs(), zs())
             }
 
-            function NH(e, t) {
+            function BH(e, t) {
                 if (1 & e) {
                     const e = Ws();
                     Hs(0, "div", 7), Hs(1, "a", 14), Zs("click", function() {
@@ -68295,34 +68438,34 @@
                     }), Aa(4, " Next "), zs(), zs()
                 }
             }
-            const OH = function() {
+            const LH = function() {
                 return {
                     stepNum: null
                 }
             };
 
-            function RH(e, t) {
+            function FH(e, t) {
                 if (1 & e && (Hs(0, "a", 28), Aa(1, " Buy BitClout "), zs(), Hs(2, "a", 29), Aa(3, " Update your profile "), zs(), Hs(4, "a", 29), Aa(5, " Browse "), zs()), 2 & e) {
                     const e = ta(2);
-                    Vs("routerLink", "/" + e.globalVars.RouteNames.BUY_BITCLOUT)("queryParams", ru(6, OH)), si(2), Vs("routerLink", "/" + e.globalVars.RouteNames.UPDATE_PROFILE)("queryParams", ru(7, OH)), si(2), Vs("routerLink", "/" + e.globalVars.RouteNames.BROWSE)("queryParams", ru(8, OH))
+                    Vs("routerLink", "/" + e.globalVars.RouteNames.BUY_BITCLOUT)("queryParams", ru(6, LH)), si(2), Vs("routerLink", "/" + e.globalVars.RouteNames.UPDATE_PROFILE)("queryParams", ru(7, LH)), si(2), Vs("routerLink", "/" + e.globalVars.RouteNames.BROWSE)("queryParams", ru(8, LH))
                 }
             }
 
-            function $H(e, t) {
-                if (1 & e && (Hs(0, "div"), Ls(1, kH, 5, 0, "div", 0), Hs(2, "div", 24), Aa(3, " Your phone number was verified. We sent you a small amount of BitClout, which is enough to post and follow people. "), zs(), Ls(4, NH, 5, 0, "div", 25), Ls(5, RH, 6, 9, "ng-template", null, 26, Bu), zs()), 2 & e) {
+            function UH(e, t) {
+                if (1 & e && (Hs(0, "div"), Ls(1, DH, 5, 0, "div", 0), Hs(2, "div", 24), Aa(3, " Your phone number was verified. We sent you a small amount of BitClout, which is enough to post and follow people. "), zs(), Ls(4, BH, 5, 0, "div", 25), Ls(5, FH, 6, 9, "ng-template", null, 26, Bu), zs()), 2 & e) {
                     const e = Fs(6),
                         t = ta();
                     si(1), Vs("ngIf", t.displayForSignupFlow), si(3), Vs("ngIf", t.displayForSignupFlow)("ngIfElse", e)
                 }
             }
-            let MH = (() => {
+            let VH = (() => {
                 class e {
                     constructor(t, n) {
                         this._globalVars = t, this._backendApi = n, this.displayForSignupFlow = !1, this.backToPreviousSignupStepClicked = new yu, this.phoneNumberVerified = new yu, this.skipButtonClicked = new yu, this.MessagesInboxComponent = h$, this.phoneForm = new Fp({
                             phone: new Lp(void 0, [Dh.required])
                         }), this.verificationCodeForm = new Fp({
                             verificationCode: new Lp(void 0, [Dh.required])
-                        }), this.CountryISO = AA, this.sendingPhoneNumberVerificationText = !1, this.submittingPhoneNumberVerificationCode = !1, this.screenToShow = null, this.SignUpGetStarterBitcloutComponent = e, this.phoneNumberCountryCode = null, this.resentVerificationCode = !1, this.sendPhoneNumberVerificationTextServerErrors = new DH, this.submitPhoneNumberVerificationCodeServerErrors = new BH, this.globalVars = t, this.backendApi = n
+                        }), this.CountryISO = AA, this.sendingPhoneNumberVerificationText = !1, this.submittingPhoneNumberVerificationCode = !1, this.screenToShow = null, this.SignUpGetStarterBitcloutComponent = e, this.phoneNumberCountryCode = null, this.resentVerificationCode = !1, this.sendPhoneNumberVerificationTextServerErrors = new jH, this.submitPhoneNumberVerificationCodeServerErrors = new HH, this.globalVars = t, this.backendApi = n
                     }
                     ngOnInit() {
                         this._setScreenToShow()
@@ -68342,7 +68485,7 @@
                         this.phoneForm.invalid || (this.globalVars.logEvent("account : create : send-verification-text"), this._sendPhoneNumberVerificationText())
                     }
                     resendVerificationCode(e) {
-                        return e.stopPropagation(), e.preventDefault(), this.resentVerificationCode || (this.sendPhoneNumberVerificationTextServerErrors = new DH, this.globalVars.logEvent("account : create : resend-phone-number"), this._sendPhoneNumberVerificationText(), this.resentVerificationCode = !0, setTimeout(() => this.resentVerificationCode = !1, 5e3)), !1
+                        return e.stopPropagation(), e.preventDefault(), this.resentVerificationCode || (this.sendPhoneNumberVerificationTextServerErrors = new jH, this.globalVars.logEvent("account : create : resend-phone-number"), this._sendPhoneNumberVerificationText(), this.resentVerificationCode = !0, setTimeout(() => this.resentVerificationCode = !1, 5e3)), !1
                     }
                     submitVerificationCode() {
                         this.verificationCodeForm.invalid || (this.globalVars.logEvent("account : create : submit-verification-code"), this._submitPhoneNumberVerificationCode())
@@ -68351,10 +68494,10 @@
                         this.skipButtonClicked.emit()
                     }
                     onPhoneNumberInputChanged() {
-                        this.sendPhoneNumberVerificationTextServerErrors = new DH
+                        this.sendPhoneNumberVerificationTextServerErrors = new jH
                     }
                     onVerificationCodeInputChanged() {
-                        this.submitPhoneNumberVerificationCodeServerErrors = new BH
+                        this.submitPhoneNumberVerificationCodeServerErrors = new HH
                     }
                     _sendPhoneNumberVerificationText() {
                         var t, n;
@@ -68432,15 +68575,15 @@
                         ["queryParamsHandling", "merge", 1, "btn", "btn-outline-primary", "font-weight-bold", "fs-15px", "mt-5px", "mr-15px", "mb-5px", 3, "routerLink", "queryParams"]
                     ],
                     template: function(e, t) {
-                        1 & e && (Ls(0, wH, 20, 22, "div", 0), Ls(1, IH, 22, 13, "div", 0), Ls(2, $H, 7, 3, "div", 0)), 2 & e && (Vs("ngIf", t.screenToShow == t.SignUpGetStarterBitcloutComponent.CREATE_PHONE_NUMBER_VERIFICATION_SCREEN), si(1), Vs("ngIf", t.screenToShow == t.SignUpGetStarterBitcloutComponent.SUBMIT_PHONE_NUMBER_VERIFICATION_SCREEN), si(1), Vs("ngIf", t.screenToShow == t.SignUpGetStarterBitcloutComponent.COMPLETED_PHONE_NUMBER_VERIFICATION_SCREEN))
+                        1 & e && (Ls(0, PH, 20, 22, "div", 0), Ls(1, MH, 22, 13, "div", 0), Ls(2, UH, 7, 3, "div", 0)), 2 & e && (Vs("ngIf", t.screenToShow == t.SignUpGetStarterBitcloutComponent.CREATE_PHONE_NUMBER_VERIFICATION_SCREEN), si(1), Vs("ngIf", t.screenToShow == t.SignUpGetStarterBitcloutComponent.SUBMIT_PHONE_NUMBER_VERIFICATION_SCREEN), si(1), Vs("ngIf", t.screenToShow == t.SignUpGetStarterBitcloutComponent.COMPLETED_PHONE_NUMBER_VERIFICATION_SCREEN))
                     },
                     directives: [wd, qp, Jh, Zp, RA, Zh, ef, $A, bd, kh, zx],
                     styles: [""]
                 }), e
             })();
-            class DH {}
-            class BH {}
-            let LH = (() => {
+            class jH {}
+            class HH {}
+            let zH = (() => {
                     class e {
                         constructor() {}
                         ngOnInit() {}
@@ -68463,11 +68606,11 @@
                         template: function(e, t) {
                             1 & e && (Hs(0, "div", 0), Gs(1, "top-bar-mobile-navigation-control", 1), Aa(2, " Get Starter BitClout\n"), zs(), Gs(3, "div", 2), Hs(4, "div", 3), Gs(5, "sign-up-get-starter-bitclout"), zs())
                         },
-                        directives: [bO, MH],
+                        directives: [bO, VH],
                         styles: [""]
                     }), e
                 })(),
-                FH = (() => {
+                GH = (() => {
                     class e {}
                     return e.\u0275mod = He({
                         type: e,
@@ -68478,15 +68621,15 @@
                         },
                         providers: [bE, xE, C$, gE],
                         imports: [
-                            [Sh, ZA, sf, aw, B_, Uw, af, Sv, DT, jw, BA, dO, _T.forRoot(), jL.forRoot()]
+                            [Sh, ZA, sf, aw, B_, Uw, af, Sv, DT, jw, BA, dO, _T.forRoot(), WL.forRoot()]
                         ]
                     }), e
                 })();
-            Fe(hE, [dH, zR], []), Fe(pE, [q$, BD, sM, TF, SF], []), Fe(WE, [wd, q$, HE, sM, TF, bO, e$, SF], []), Fe(HE, [wd, bO, bM, SO, vd, WM, zx, oI], []), Fe(WM, [wd, zx, bd, nD, $O, Hx, WM, fD], [$R]), Fe(YE, [dH, SD], []), Fe(ZE, [dH, wd, gL, FF], []), Fe(nP, [dH, bO, wd, zx, $T, vd, oI], []), Fe(iT, [q$, h$, pU, TF, wd, bO, zx, SF], []), Fe(sT, [dH, Qj], []), Fe(aT, [dH, hB], []), Fe(lT, [dH, eL], []), Fe(uT, [dH, hF], []), Fe(cT, [dH, iH], []), Fe(dT, [dH, XL], []), Fe(hT, [dH, RF], []), Fe(pT, [dH, fU], []), Fe(fT, [dH, uI], []), Fe(bT, [dH, wd, jj], []), Fe(YA, [dH, bO, wd, zx, MH, kh, Zh, Kp, $A, Hx], []), Fe(jT, [dH, LH], []),
+            Fe(hE, [bH, zR], []), Fe(pE, [q$, BD, sM, OF, IF], []), Fe(WE, [wd, q$, HE, sM, OF, bO, e$, IF], []), Fe(HE, [wd, bO, bM, SO, vd, WM, zx, oI], []), Fe(WM, [wd, zx, bd, nD, $O, Hx, WM, fD], [$R]), Fe(YE, [bH, SD], []), Fe(ZE, [bH, wd, wL, GF], []), Fe(nP, [bH, bO, wd, zx, $T, vd, oI], []), Fe(iT, [q$, h$, vU, OF, wd, bO, zx, IF], []), Fe(sT, [bH, nH], []), Fe(aT, [bH, yB], []), Fe(lT, [bH, sL], []), Fe(uT, [bH, yF], []), Fe(cT, [bH, dH], []), Fe(dT, [bH, oF], []), Fe(hT, [bH, FF], []), Fe(pT, [bH, _U], []), Fe(fT, [bH, uI], []), Fe(bT, [bH, wd, Wj], []), Fe(YA, [bH, bO, wd, zx, VH, kh, Zh, Kp, $A, Hx], []), Fe(jT, [bH, zH], []),
                 function() {
                     if (yc) throw new Error("Cannot enable prod mode after platform setup.");
                     bc = !1
-                }(), wh().bootstrapModule(FH).catch(e => console.error(e))
+                }(), wh().bootstrapModule(GH).catch(e => console.error(e))
         },
         zn8P: function(e, t) {
             function n(e) {