diff --git a/app/build.gradle b/app/build.gradle index 3c41924d1c..269e3add1c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId 'com.discord' minSdkVersion 21 targetSdkVersion 29 - versionCode 93203 - versionName "93.3 - Alpha" + versionCode 93204 + versionName "93.4 - Alpha" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b5acfb79a5..1658c45b95 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,5 +1,5 @@ - + diff --git a/app/src/main/java/c/a/q/o0/a.java b/app/src/main/java/c/a/q/o0/a.java index 8ab89f4736..39a819c884 100644 --- a/app/src/main/java/c/a/q/o0/a.java +++ b/app/src/main/java/c/a/q/o0/a.java @@ -13,7 +13,6 @@ import com.discord.utilities.logging.Logger; import d0.z.d.k; import d0.z.d.m; import f0.e0.c; -import java.util.Iterator; import java.util.Map; import java.util.Objects; import kotlin.Pair; @@ -29,8 +28,6 @@ public final /* synthetic */ class a extends k implements Function1 /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ @Override // kotlin.jvm.functions.Function1 public Unit invoke(Stats stats) { - e eVar; - Throwable th; long j; OutboundRtpVideo outboundRtpVideo; ReceiverReport[] receiverReports; @@ -42,112 +39,87 @@ public final /* synthetic */ class a extends k implements Function1 dVar.a.removeFirst(); } dVar.f.update(stats2); - e eVar2 = dVar.g; - synchronized (eVar2) { - try { - m.checkNotNullParameter(stats2, "stats"); - long currentTimeMillis = eVar2.q.currentTimeMillis(); - Transport transport = stats2.getTransport(); - eVar2.f(null, Integer.valueOf((transport == null || (receiverReports = transport.getReceiverReports()) == null) ? 0 : receiverReports.length), currentTimeMillis); - if (!eVar2.k.a() && (outboundRtpVideo = stats2.getOutboundRtpVideo()) != null) { - eVar2.a(eVar2.l, new e.h((long) outboundRtpVideo.getResolution().getHeight(), currentTimeMillis, new e.a(outboundRtpVideo.getFramesEncoded(), outboundRtpVideo.getFramesSent(), outboundRtpVideo.getPacketsSent(), (long) outboundRtpVideo.getPacketsLost(), 0, outboundRtpVideo.getBytesSent(), outboundRtpVideo.getNackCount(), outboundRtpVideo.getPliCount()))); - if (eVar2.l.d == null && outboundRtpVideo.getFramesEncoded() > 0) { - eVar2.e.notifyAsync(g.i); - eVar2.l.d = Long.valueOf(currentTimeMillis - eVar2.g); - Logger.i$default(eVar2.p, "VideoQuality: outboundStats.timeToFirstFrame: " + eVar2.l.d, null, 2, null); - } - eVar2.b(outboundRtpVideo.getBitrateTarget()); + e eVar = dVar.g; + synchronized (eVar) { + m.checkNotNullParameter(stats2, "stats"); + long currentTimeMillis = eVar.q.currentTimeMillis(); + Transport transport = stats2.getTransport(); + eVar.g(null, Integer.valueOf((transport == null || (receiverReports = transport.getReceiverReports()) == null) ? 0 : receiverReports.length), currentTimeMillis); + if (!eVar.k.a() && (outboundRtpVideo = stats2.getOutboundRtpVideo()) != null) { + eVar.a(eVar.l, new e.h((long) outboundRtpVideo.getResolution().getHeight(), currentTimeMillis, new e.a(outboundRtpVideo.getFramesEncoded(), outboundRtpVideo.getFramesSent(), outboundRtpVideo.getPacketsSent(), (long) outboundRtpVideo.getPacketsLost(), 0, outboundRtpVideo.getBytesSent(), outboundRtpVideo.getNackCount(), outboundRtpVideo.getPliCount(), outboundRtpVideo.getQpSum()))); + if (eVar.l.d == null && outboundRtpVideo.getFramesEncoded() > 0) { + eVar.e.notifyAsync(g.i); + eVar.l.d = Long.valueOf(currentTimeMillis - eVar.g); + Logger.i$default(eVar.p, "VideoQuality: outboundStats.timeToFirstFrame: " + eVar.l.d, null, 2, null); } - if (!eVar2.i.a()) { - Iterator> it = stats2.getInboundRtpVideo().entrySet().iterator(); - while (it.hasNext()) { - Map.Entry next = it.next(); - String key = next.getKey(); - InboundRtpVideo value = next.getValue(); - Map map = eVar2.m; - e.C0043e eVar3 = map.get(key); - if (eVar3 == null) { - eVar3 = new e.C0043e(); - map.put(key, eVar3); - } - e.C0043e eVar4 = eVar3; + eVar.b(outboundRtpVideo.getBitrateTarget()); + } + if (!eVar.i.a()) { + for (Map.Entry entry : stats2.getInboundRtpVideo().entrySet()) { + String key = entry.getKey(); + InboundRtpVideo value = entry.getValue(); + Map map = eVar.m; + e.C0043e eVar2 = map.get(key); + if (eVar2 == null) { + eVar2 = new e.C0043e(); + map.put(key, eVar2); + } + e.C0043e eVar3 = eVar2; + eVar.a(eVar3, eVar.f(value, currentTimeMillis)); + if (eVar3.d == null && value.getFramesDecoded() > 0) { + byte[] bArr = c.a; + m.checkParameterIsNotNull(key, "$this$toLongOrDefault"); try { - eVar = eVar2; - try { - eVar.a(eVar4, new e.h((long) value.getResolution().getHeight(), currentTimeMillis, new e.a((long) value.getFramesDecoded(), (long) value.getFramesReceived(), (long) value.getPacketsReceived(), (long) value.getPacketsLost(), (long) value.getFramesDropped(), value.getBytesReceived(), value.getNackCount(), value.getPliCount()))); - if (eVar4.d == null && value.getFramesDecoded() > 0) { - byte[] bArr = c.a; - m.checkParameterIsNotNull(key, "$this$toLongOrDefault"); - try { - j = Long.parseLong(key); - } catch (NumberFormatException unused) { - j = 0; - } - Long l = eVar.n.get(Long.valueOf(value.getSsrc())); - if (l != null) { - eVar.e.notifyAsync(new h(value)); - eVar4.d = Long.valueOf(currentTimeMillis - l.longValue()); - Logger.i$default(eVar.p, "VideoQuality: inbound.timeToFirstFrame: " + eVar4.d + " (userId: " + j + ", ssrc: " + value.getSsrc() + ')', null, 2, null); - } else { - Logger.e$default(eVar.p, "VideoQuality: inbound.timeToFirstFrame: Unable to locate start time. (userId: " + j + ", ssrc: " + value.getSsrc() + ')', null, null, 6, null); - } - } - eVar2 = eVar; - it = it; - stats2 = stats2; - dVar = dVar; - currentTimeMillis = currentTimeMillis; - } catch (Throwable th2) { - th = th2; - throw th; - } - } catch (Throwable th3) { - th = th3; - eVar = eVar2; - throw th; + j = Long.parseLong(key); + } catch (NumberFormatException unused) { + j = 0; + } + Long l = eVar.n.get(Long.valueOf(value.getSsrc())); + if (l != null) { + eVar.e.notifyAsync(new h(value)); + eVar3.d = Long.valueOf(currentTimeMillis - l.longValue()); + Logger.i$default(eVar.p, "VideoQuality: inbound.timeToFirstFrame: " + eVar3.d + " (userId: " + j + ", ssrc: " + value.getSsrc() + ')', null, 2, null); + } else { + Logger.e$default(eVar.p, "VideoQuality: inbound.timeToFirstFrame: Unable to locate start time. (userId: " + j + ", ssrc: " + value.getSsrc() + ')', null, null, 6, null); } } } - KrispOveruseDetector krispOveruseDetector = dVar.h; - Objects.requireNonNull(krispOveruseDetector); - m.checkNotNullParameter(stats2, "stats"); - if (krispOveruseDetector.d.getType() == MediaEngineConnection.Type.DEFAULT && krispOveruseDetector.d.b()) { - OutboundRtpAudio outboundRtpAudio = stats2.getOutboundRtpAudio(); - if (outboundRtpAudio != null && outboundRtpAudio.getNoiseCancellerIsEnabled()) { - OutboundRtpAudio outboundRtpAudio2 = krispOveruseDetector.b; - if (outboundRtpAudio2 != null) { - Pair a = krispOveruseDetector.a(outboundRtpAudio2, stats2.getOutboundRtpAudio(), 8.0d); - boolean booleanValue = a.component1().booleanValue(); - long longValue = a.component2().longValue(); - if (booleanValue) { - krispOveruseDetector.d.f(KrispOveruseDetector.Status.CPU_OVERUSE); - } else if (longValue == 0) { - int i = krispOveruseDetector.f2152c + 1; - krispOveruseDetector.f2152c = i; - if (i > 2) { - krispOveruseDetector.d.f(KrispOveruseDetector.Status.FAILED); - } - } else { - krispOveruseDetector.f2152c = 0; - } - } - krispOveruseDetector.b = stats2.getOutboundRtpAudio(); - } - OutboundRtpAudio outboundRtpAudio3 = stats2.getOutboundRtpAudio(); - if (outboundRtpAudio3 != null && outboundRtpAudio3.getVoiceActivityDetectorIsEnabled()) { - OutboundRtpAudio outboundRtpAudio4 = krispOveruseDetector.a; - if (outboundRtpAudio4 != null && krispOveruseDetector.a(outboundRtpAudio4, stats2.getOutboundRtpAudio(), 4.0d).component1().booleanValue()) { - krispOveruseDetector.d.f(KrispOveruseDetector.Status.VAD_CPU_OVERUSE); - } - krispOveruseDetector.a = stats2.getOutboundRtpAudio(); - } - } - return Unit.a; - } catch (Throwable th4) { - th = th4; - eVar = eVar2; - throw th; } } + KrispOveruseDetector krispOveruseDetector = dVar.h; + Objects.requireNonNull(krispOveruseDetector); + m.checkNotNullParameter(stats2, "stats"); + if (krispOveruseDetector.d.getType() == MediaEngineConnection.Type.DEFAULT && krispOveruseDetector.d.b()) { + OutboundRtpAudio outboundRtpAudio = stats2.getOutboundRtpAudio(); + if (outboundRtpAudio != null && outboundRtpAudio.getNoiseCancellerIsEnabled()) { + OutboundRtpAudio outboundRtpAudio2 = krispOveruseDetector.b; + if (outboundRtpAudio2 != null) { + Pair a = krispOveruseDetector.a(outboundRtpAudio2, stats2.getOutboundRtpAudio(), 8.0d); + boolean booleanValue = a.component1().booleanValue(); + long longValue = a.component2().longValue(); + if (booleanValue) { + krispOveruseDetector.d.f(KrispOveruseDetector.Status.CPU_OVERUSE); + } else if (longValue == 0) { + int i = krispOveruseDetector.f2152c + 1; + krispOveruseDetector.f2152c = i; + if (i > 2) { + krispOveruseDetector.d.f(KrispOveruseDetector.Status.FAILED); + } + } else { + krispOveruseDetector.f2152c = 0; + } + } + krispOveruseDetector.b = stats2.getOutboundRtpAudio(); + } + OutboundRtpAudio outboundRtpAudio3 = stats2.getOutboundRtpAudio(); + if (outboundRtpAudio3 != null && outboundRtpAudio3.getVoiceActivityDetectorIsEnabled()) { + OutboundRtpAudio outboundRtpAudio4 = krispOveruseDetector.a; + if (outboundRtpAudio4 != null && krispOveruseDetector.a(outboundRtpAudio4, stats2.getOutboundRtpAudio(), 4.0d).component1().booleanValue()) { + krispOveruseDetector.d.f(KrispOveruseDetector.Status.VAD_CPU_OVERUSE); + } + krispOveruseDetector.a = stats2.getOutboundRtpAudio(); + } + } + return Unit.a; } } diff --git a/app/src/main/java/c/a/q/o0/e.java b/app/src/main/java/c/a/q/o0/e.java index ccf7a3b981..1a46306035 100644 --- a/app/src/main/java/c/a/q/o0/e.java +++ b/app/src/main/java/c/a/q/o0/e.java @@ -1,6 +1,8 @@ package c.a.q.o0; import androidx.annotation.AnyThread; +import androidx.core.app.FrameMetricsAggregator; +import co.discord.media_engine.InboundRtpVideo; import com.discord.utilities.collections.Histogram; import com.discord.utilities.collections.ListenerCollection; import com.discord.utilities.collections.ListenerCollectionSubject; @@ -57,12 +59,13 @@ public final class e { public long f; public long g; public long h; + public long i; public a() { - this(0, 0, 0, 0, 0, 0, 0, 0, 255); + this(0, 0, 0, 0, 0, 0, 0, 0, 0, FrameMetricsAggregator.EVERY_DURATION); } - public a(long j, long j2, long j3, long j4, long j5, long j6, long j7, long j8) { + public a(long j, long j2, long j3, long j4, long j5, long j6, long j7, long j8, long j9) { this.a = j; this.b = j2; this.f230c = j3; @@ -71,11 +74,12 @@ public final class e { this.f = j6; this.g = j7; this.h = j8; + this.i = j9; } /* JADX INFO: this call moved to the top of the method (can break code semantics) */ - public /* synthetic */ a(long j, long j2, long j3, long j4, long j5, long j6, long j7, long j8, int i) { - this((i & 1) != 0 ? 0 : j, (i & 2) != 0 ? 0 : j2, (i & 4) != 0 ? 0 : j3, (i & 8) != 0 ? 0 : j4, (i & 16) != 0 ? 0 : j5, (i & 32) != 0 ? 0 : j6, (i & 64) != 0 ? 0 : j7, (i & 128) == 0 ? j8 : 0); + public /* synthetic */ a(long j, long j2, long j3, long j4, long j5, long j6, long j7, long j8, long j9, int i) { + this((i & 1) != 0 ? 0 : j, (i & 2) != 0 ? 0 : j2, (i & 4) != 0 ? 0 : j3, (i & 8) != 0 ? 0 : j4, (i & 16) != 0 ? 0 : j5, (i & 32) != 0 ? 0 : j6, (i & 64) != 0 ? 0 : j7, (i & 128) != 0 ? 0 : j8, (i & 256) == 0 ? j9 : 0); } public boolean equals(Object obj) { @@ -86,7 +90,7 @@ public final class e { return false; } a aVar = (a) obj; - return this.a == aVar.a && this.b == aVar.b && this.f230c == aVar.f230c && this.d == aVar.d && this.e == aVar.e && this.f == aVar.f && this.g == aVar.g && this.h == aVar.h; + return this.a == aVar.a && this.b == aVar.b && this.f230c == aVar.f230c && this.d == aVar.d && this.e == aVar.e && this.f == aVar.f && this.g == aVar.g && this.h == aVar.h && this.i == aVar.i; } public int hashCode() { @@ -96,7 +100,8 @@ public final class e { int a4 = a0.a.a.b.a(this.e); int a5 = a0.a.a.b.a(this.f); int a6 = a0.a.a.b.a(this.g); - return a0.a.a.b.a(this.h) + ((a6 + ((a5 + ((a4 + ((a3 + ((a2 + ((a + (a0.a.a.b.a(this.a) * 31)) * 31)) * 31)) * 31)) * 31)) * 31)) * 31); + int a7 = a0.a.a.b.a(this.h); + return a0.a.a.b.a(this.i) + ((a7 + ((a6 + ((a5 + ((a4 + ((a3 + ((a2 + ((a + (a0.a.a.b.a(this.a) * 31)) * 31)) * 31)) * 31)) * 31)) * 31)) * 31)) * 31); } public String toString() { @@ -115,7 +120,9 @@ public final class e { P.append(", nackCount="); P.append(this.g); P.append(", pliCount="); - return c.d.b.a.a.A(P, this.h, ")"); + P.append(this.h); + P.append(", qpSum="); + return c.d.b.a.a.A(P, this.i, ")"); } } @@ -182,7 +189,7 @@ public final class e { /* renamed from: c reason: collision with root package name */ public final Histogram f231c = new Histogram(25600, 0, 2, null); public Long d; - public a e = new a(0, 0, 0, 0, 0, 0, 0, 0, 255); + public a e = new a(0, 0, 0, 0, 0, 0, 0, 0, 0, FrameMetricsAggregator.EVERY_DURATION); public long f; public Map g = new LinkedHashMap(); public Map h = new LinkedHashMap(); @@ -227,7 +234,7 @@ public final class e { public final a f232c; public h() { - this(0, 0, new a(0, 0, 0, 0, 0, 0, 0, 0, 255)); + this(0, 0, new a(0, 0, 0, 0, 0, 0, 0, 0, 0, FrameMetricsAggregator.EVERY_DURATION)); } public h(long j, long j2, a aVar) { @@ -335,6 +342,7 @@ public final class e { aVar.f = fVar.a(aVar2.f, aVar3.f) + aVar.f; aVar.g = fVar.a(aVar2.g, aVar3.g) + aVar.g; aVar.h = fVar.a(aVar2.h, aVar3.h) + aVar.h; + aVar.i = fVar.a(aVar2.i, aVar3.i) + aVar.i; a aVar4 = hVar2.f232c; long j = aVar4.f; long j2 = aVar4.a; @@ -465,7 +473,7 @@ public final class e { a aVar = eVar.e; long a2 = i2 > 0 ? b.a(bVar, Float.valueOf(((float) (aVar.f * ((long) 8))) / f2)) : 0; long a3 = i2 > 0 ? b.a(bVar, Float.valueOf(((float) aVar.a) / f2)) : 0; - Pair[] pairArr = new Pair[10]; + Pair[] pairArr = new Pair[11]; pairArr[0] = d0.o.to("avg_bitrate", Long.valueOf(a2)); pairArr[1] = d0.o.to("avg_fps", Long.valueOf(a3)); pairArr[2] = d0.o.to("num_bytes", Long.valueOf(aVar.f)); @@ -477,10 +485,15 @@ public final class e { pairArr[7] = d0.o.to("num_frames_dropped", Long.valueOf(aVar.e)); pairArr[8] = d0.o.to("num_nacks", Long.valueOf(aVar.g)); pairArr[9] = d0.o.to("num_plis", Long.valueOf(aVar.h)); + pairArr[10] = d0.o.to("qp_sum", Long.valueOf(aVar.i)); return h0.plus(mapOf, h0.mapOf(pairArr)); } - public final void f(Boolean bool, Integer num, long j) { + public final h f(InboundRtpVideo inboundRtpVideo, long j) { + return new h((long) inboundRtpVideo.getResolution().getHeight(), j, new a((long) inboundRtpVideo.getFramesDecoded(), (long) inboundRtpVideo.getFramesReceived(), (long) inboundRtpVideo.getPacketsReceived(), (long) inboundRtpVideo.getPacketsLost(), (long) inboundRtpVideo.getFramesDropped(), inboundRtpVideo.getBytesReceived(), inboundRtpVideo.getNackCount(), inboundRtpVideo.getPliCount(), inboundRtpVideo.getQpSum())); + } + + public final void g(Boolean bool, Integer num, long j) { boolean z2 = false; if (num != null) { this.j.b(num.intValue() == 0, j); diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackDeepLinkClicked.java b/app/src/main/java/com/discord/analytics/generated/events/TrackDeepLinkClicked.java index d43199b6e1..221c8cead8 100644 --- a/app/src/main/java/com/discord/analytics/generated/events/TrackDeepLinkClicked.java +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackDeepLinkClicked.java @@ -9,6 +9,7 @@ import d0.z.d.m; public final class TrackDeepLinkClicked implements AnalyticsSchema, TrackBaseReceiver { private final transient String analyticsSchemaTypeName = "deep_link_clicked"; private final CharSequence attemptId = null; + private final CharSequence destination = null; private final Long fingerprint = null; private final CharSequence guildTemplateCode = null; private final CharSequence inviteCode = null; @@ -28,7 +29,7 @@ public final class TrackDeepLinkClicked implements AnalyticsSchema, TrackBaseRec return false; } TrackDeepLinkClicked trackDeepLinkClicked = (TrackDeepLinkClicked) obj; - return m.areEqual(this.fingerprint, trackDeepLinkClicked.fingerprint) && m.areEqual(this.attemptId, trackDeepLinkClicked.attemptId) && m.areEqual(this.source, trackDeepLinkClicked.source) && m.areEqual(this.inviteCode, trackDeepLinkClicked.inviteCode) && m.areEqual(this.guildTemplateCode, trackDeepLinkClicked.guildTemplateCode); + return m.areEqual(this.fingerprint, trackDeepLinkClicked.fingerprint) && m.areEqual(this.attemptId, trackDeepLinkClicked.attemptId) && m.areEqual(this.source, trackDeepLinkClicked.source) && m.areEqual(this.inviteCode, trackDeepLinkClicked.inviteCode) && m.areEqual(this.guildTemplateCode, trackDeepLinkClicked.guildTemplateCode) && m.areEqual(this.destination, trackDeepLinkClicked.destination); } public int hashCode() { @@ -42,10 +43,12 @@ public final class TrackDeepLinkClicked implements AnalyticsSchema, TrackBaseRec CharSequence charSequence3 = this.inviteCode; int hashCode4 = (hashCode3 + (charSequence3 != null ? charSequence3.hashCode() : 0)) * 31; CharSequence charSequence4 = this.guildTemplateCode; - if (charSequence4 != null) { - i = charSequence4.hashCode(); + int hashCode5 = (hashCode4 + (charSequence4 != null ? charSequence4.hashCode() : 0)) * 31; + CharSequence charSequence5 = this.destination; + if (charSequence5 != null) { + i = charSequence5.hashCode(); } - return hashCode4 + i; + return hashCode5 + i; } public String toString() { @@ -58,6 +61,8 @@ public final class TrackDeepLinkClicked implements AnalyticsSchema, TrackBaseRec P.append(", inviteCode="); P.append(this.inviteCode); P.append(", guildTemplateCode="); - return a.D(P, this.guildTemplateCode, ")"); + P.append(this.guildTemplateCode); + P.append(", destination="); + return a.D(P, this.destination, ")"); } } diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackMarkAsRead.java b/app/src/main/java/com/discord/analytics/generated/events/TrackMarkAsRead.java new file mode 100644 index 0000000000..53f16c1b29 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackMarkAsRead.java @@ -0,0 +1,51 @@ +package com.discord.analytics.generated.events; + +import c.d.b.a.a; +import com.discord.analytics.generated.traits.TrackBase; +import com.discord.analytics.generated.traits.TrackBaseReceiver; +import com.discord.analytics.generated.traits.TrackLocationMetadata; +import com.discord.analytics.generated.traits.TrackLocationMetadataReceiver; +import com.discord.api.science.AnalyticsSchema; +import d0.z.d.m; +/* compiled from: TrackMarkAsRead.kt */ +public final class TrackMarkAsRead implements AnalyticsSchema, TrackBaseReceiver, TrackLocationMetadataReceiver { + private final transient String analyticsSchemaTypeName = "mark_as_read"; + private final CharSequence source = null; + private TrackBase trackBase; + private TrackLocationMetadata trackLocationMetadata; + private final CharSequence type = null; + + @Override // com.discord.api.science.AnalyticsSchema + public String b() { + return this.analyticsSchemaTypeName; + } + + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof TrackMarkAsRead)) { + return false; + } + TrackMarkAsRead trackMarkAsRead = (TrackMarkAsRead) obj; + return m.areEqual(this.type, trackMarkAsRead.type) && m.areEqual(this.source, trackMarkAsRead.source); + } + + public int hashCode() { + CharSequence charSequence = this.type; + int i = 0; + int hashCode = (charSequence != null ? charSequence.hashCode() : 0) * 31; + CharSequence charSequence2 = this.source; + if (charSequence2 != null) { + i = charSequence2.hashCode(); + } + return hashCode + i; + } + + public String toString() { + StringBuilder P = a.P("TrackMarkAsRead(type="); + P.append(this.type); + P.append(", source="); + return a.D(P, this.source, ")"); + } +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackMarkAsReadReceiver.java b/app/src/main/java/com/discord/analytics/generated/events/TrackMarkAsReadReceiver.java new file mode 100644 index 0000000000..86da078c96 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackMarkAsReadReceiver.java @@ -0,0 +1,6 @@ +package com.discord.analytics.generated.events; + +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackMarkAsRead.kt */ +public interface TrackMarkAsReadReceiver extends AnalyticsSchema { +} diff --git a/app/src/main/java/com/discord/analytics/generated/traits/TrackEmail.java b/app/src/main/java/com/discord/analytics/generated/traits/TrackEmail.java index 5aad7d28ed..935c60c225 100644 --- a/app/src/main/java/com/discord/analytics/generated/traits/TrackEmail.java +++ b/app/src/main/java/com/discord/analytics/generated/traits/TrackEmail.java @@ -4,6 +4,7 @@ import c.d.b.a.a; import d0.z.d.m; /* compiled from: TrackEmail.kt */ public final class TrackEmail { + private final CharSequence category = null; private final CharSequence emailId = null; private final CharSequence emailType = null; private final CharSequence subjectType = null; @@ -16,7 +17,7 @@ public final class TrackEmail { return false; } TrackEmail trackEmail = (TrackEmail) obj; - return m.areEqual(this.emailType, trackEmail.emailType) && m.areEqual(this.subjectType, trackEmail.subjectType) && m.areEqual(this.emailId, trackEmail.emailId); + return m.areEqual(this.emailType, trackEmail.emailType) && m.areEqual(this.subjectType, trackEmail.subjectType) && m.areEqual(this.emailId, trackEmail.emailId) && m.areEqual(this.category, trackEmail.category); } public int hashCode() { @@ -26,10 +27,12 @@ public final class TrackEmail { CharSequence charSequence2 = this.subjectType; int hashCode2 = (hashCode + (charSequence2 != null ? charSequence2.hashCode() : 0)) * 31; CharSequence charSequence3 = this.emailId; - if (charSequence3 != null) { - i = charSequence3.hashCode(); + int hashCode3 = (hashCode2 + (charSequence3 != null ? charSequence3.hashCode() : 0)) * 31; + CharSequence charSequence4 = this.category; + if (charSequence4 != null) { + i = charSequence4.hashCode(); } - return hashCode2 + i; + return hashCode3 + i; } public String toString() { @@ -38,6 +41,8 @@ public final class TrackEmail { P.append(", subjectType="); P.append(this.subjectType); P.append(", emailId="); - return a.D(P, this.emailId, ")"); + P.append(this.emailId); + P.append(", category="); + return a.D(P, this.category, ")"); } } diff --git a/app/src/main/java/com/discord/models/member/GuildMember.java b/app/src/main/java/com/discord/models/member/GuildMember.java index f3b6c42fa3..d89431bf73 100644 --- a/app/src/main/java/com/discord/models/member/GuildMember.java +++ b/app/src/main/java/com/discord/models/member/GuildMember.java @@ -94,13 +94,13 @@ public final class GuildMember { return getColor(guildMember != null ? guildMember.getColor() : ViewCompat.MEASURED_STATE_MASK, i); } - public final GuildRole getHighestRole(List list, Map map) { + public final GuildRole getHighestRoleIconRole(List list, Map map) { GuildRole guildRole; m.checkNotNullParameter(list, "roles"); GuildRole guildRole2 = null; for (Long l : list) { long longValue = l.longValue(); - if (map != null && (guildRole = map.get(Long.valueOf(longValue))) != null && !RoleUtils.isDefaultColor(guildRole) && RoleUtils.rankIsHigher(guildRole, guildRole2)) { + if (!(map == null || (guildRole = map.get(Long.valueOf(longValue))) == null || guildRole.d() == null || !RoleUtils.rankIsHigher(guildRole, guildRole2))) { guildRole2 = guildRole; } } diff --git a/app/src/main/java/com/discord/utilities/guildscheduledevent/GuildScheduledEventUtilitiesKt.java b/app/src/main/java/com/discord/utilities/guildscheduledevent/GuildScheduledEventUtilitiesKt.java index d09de17192..39d398dd2f 100644 --- a/app/src/main/java/com/discord/utilities/guildscheduledevent/GuildScheduledEventUtilitiesKt.java +++ b/app/src/main/java/com/discord/utilities/guildscheduledevent/GuildScheduledEventUtilitiesKt.java @@ -61,7 +61,7 @@ public final class GuildScheduledEventUtilitiesKt { public static final GuildScheduledEventTiming getEventTiming(long j) { int minutesRelativeToTime = minutesRelativeToTime(j); - return minutesRelativeToTime <= -60 ? GuildScheduledEventTiming.EXPIRED : minutesRelativeToTime <= 0 ? GuildScheduledEventTiming.NOW : minutesRelativeToTime <= 30 ? GuildScheduledEventTiming.SOON : DateUtils.isToday(j) ? GuildScheduledEventTiming.TODAY : DateUtils.isToday(j - 86400000) ? GuildScheduledEventTiming.TOMORROW : GuildScheduledEventTiming.LATER; + return minutesRelativeToTime <= -60 ? GuildScheduledEventTiming.EXPIRED : minutesRelativeToTime <= 0 ? GuildScheduledEventTiming.NOW : minutesRelativeToTime <= 15 ? GuildScheduledEventTiming.SOON : DateUtils.isToday(j) ? GuildScheduledEventTiming.TODAY : DateUtils.isToday(j - 86400000) ? GuildScheduledEventTiming.TOMORROW : GuildScheduledEventTiming.LATER; } public static final GuildScheduledEventTiming getEventTiming(GuildScheduledEvent guildScheduledEvent) { diff --git a/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemMessage.java b/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemMessage.java index eb4fef80b0..2a58610d2b 100644 --- a/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemMessage.java +++ b/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemMessage.java @@ -604,12 +604,12 @@ public final class WidgetChatListAdapterItemMessage extends WidgetChatListItem { if (author5 == null || (list = author5.getRoles()) == null) { list = n.emptyList(); } - GuildRole highestRole = companion2.getHighestRole(list, companion.getGuilds().getRoles().get(channel != null ? Long.valueOf(channel.f()) : null)); + GuildRole highestRoleIconRole = companion2.getHighestRoleIconRole(list, companion.getGuilds().getRoles().get(channel != null ? Long.valueOf(channel.f()) : null)); RoleIconView roleIconView = this.itemRoleIcon; if (channel != null) { l = Long.valueOf(channel.f()); } - roleIconView.setRole(highestRole, l); + roleIconView.setRole(highestRoleIconRole, l); } if (this.failedUploadList != null) { List localAttachments = message.getLocalAttachments(); diff --git a/app/src/main/java/com/discord/widgets/guilds/profile/WidgetChangeGuildIdentity.java b/app/src/main/java/com/discord/widgets/guilds/profile/WidgetChangeGuildIdentity.java index fabfd41cd2..cde0146239 100644 --- a/app/src/main/java/com/discord/widgets/guilds/profile/WidgetChangeGuildIdentity.java +++ b/app/src/main/java/com/discord/widgets/guilds/profile/WidgetChangeGuildIdentity.java @@ -161,6 +161,7 @@ public final class WidgetChangeGuildIdentity extends AppFragment { Editable editable = null; ViewExtensions.setEnabledAndAlpha$default(textInputLayout, loaded.getCanChangeNickname(), 0.0f, 2, null); textInputLayout.setHint(loaded.getCanChangeNickname() ? getString(R.string.nickname) : getString(R.string.change_identity_modal_change_nickname_disabled)); + textInputLayout.setPlaceholderText(loaded.getMeUser().getUsername()); ViewExtensions.addBindedTextWatcher(textInputLayout, this, new WidgetChangeGuildIdentity$configureNickname$$inlined$also$lambda$1(this, loaded)); textInputLayout.setEndIconOnClickListener(new WidgetChangeGuildIdentity$configureNickname$$inlined$also$lambda$2(this, loaded)); TextInputLayout textInputLayout2 = getBinding().g; @@ -216,6 +217,7 @@ public final class WidgetChangeGuildIdentity extends AppFragment { } private final boolean handleBackPressed(WidgetChangeGuildIdentityViewModel.ViewState.Loaded loaded) { + hideKeyboard(getBinding().g); if (!loaded.isDirty() || this.discardConfirmed.get()) { return false; } @@ -300,6 +302,9 @@ public final class WidgetChangeGuildIdentity extends AppFragment { setActionBarTitle(R.string.change_identity); AppFragment.setActionBarDisplayHomeAsUpEnabled$default(this, false, 1, null); getBinding().f.setOnClickListener(new WidgetChangeGuildIdentity$onViewBound$2(this, view)); + TextInputLayout textInputLayout = getBinding().g; + m.checkNotNullExpressionValue(textInputLayout, "binding.setNicknameText"); + showKeyboard(textInputLayout); } @Override // com.discord.app.AppFragment diff --git a/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java b/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java index cb318fd0b3..4007d497c2 100644 --- a/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java +++ b/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java @@ -323,7 +323,7 @@ public final class WidgetSettings extends AppFragment implements OnTabSelectedLi TextView textView = binding.f; m.checkNotNullExpressionValue(textView, "appInfoHeader"); String string = getString(R.string.app_information); - textView.setText(string + " - 93.3 - Alpha (93203)"); + textView.setText(string + " - 93.4 - Alpha (93204)"); binding.B.setOnClickListener(new WidgetSettings$onViewBound$$inlined$with$lambda$3(this)); binding.u.setOnClickListener(WidgetSettings$onViewBound$1$5.INSTANCE); binding.q.setOnClickListener(WidgetSettings$onViewBound$1$6.INSTANCE); diff --git a/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheet.java b/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheet.java index 800c1496cb..54ced767c9 100644 --- a/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheet.java +++ b/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheet.java @@ -381,7 +381,17 @@ public final class WidgetUserSheet extends AppBottomSheet { } } + /* JADX WARNING: Removed duplicated region for block: B:17:0x0054 */ + /* JADX WARNING: Removed duplicated region for block: B:18:0x0056 */ + /* JADX WARNING: Removed duplicated region for block: B:26:0x0091 */ + /* JADX WARNING: Removed duplicated region for block: B:27:0x0093 */ + /* JADX WARNING: Removed duplicated region for block: B:30:0x00a5 */ + /* JADX WARNING: Removed duplicated region for block: B:31:0x00a7 */ + /* JADX WARNING: Removed duplicated region for block: B:34:0x00ae A[RETURN] */ + /* JADX WARNING: Removed duplicated region for block: B:35:0x00af */ private final void configureProfileActionButtons(WidgetUserSheetViewModel.ViewState.Loaded loaded) { + boolean z2; + boolean z3; boolean isMe = loaded.isMe(); Long currentGuildId = loaded.getCurrentGuildId(); FlexboxLayout flexboxLayout = getBinding().D; @@ -391,60 +401,83 @@ public final class WidgetUserSheet extends AppBottomSheet { getBinding().C.setOnClickListener(new WidgetUserSheet$configureProfileActionButtons$1(this)); MaterialButton materialButton = getBinding().F; m.checkNotNullExpressionValue(materialButton, "binding.userSheetProfileIdentityButton"); - boolean z2 = true; - materialButton.setVisibility(isMe && currentGuildId != null && loaded.getInGuildAvatarExperiment() ? 0 : 8); + boolean z4 = true; + if (isMe) { + if ((currentGuildId != null ? currentGuildId.longValue() : 0) > 0 && loaded.getInGuildAvatarExperiment()) { + z2 = true; + materialButton.setVisibility(!z2 ? 0 : 8); + getBinding().F.setOnClickListener(new WidgetUserSheet$configureProfileActionButtons$2(currentGuildId)); + boolean isBot = loaded.getUser().isBot(); + boolean isSystemUser = loaded.getUser().isSystemUser(); + int userRelationshipType = loaded.getUserRelationshipType(); + z3 = isMe && !isSystemUser; + View view = getBinding().B; + m.checkNotNullExpressionValue(view, "binding.userSheetProfileActionsDivider"); + view.setVisibility(!z3 ? 0 : 8); + LinearLayout linearLayout = getBinding().A; + m.checkNotNullExpressionValue(linearLayout, "binding.userSheetProfileActionsContainer"); + linearLayout.setVisibility(!z3 ? 0 : 8); + if (!z3) { + Button button = getBinding().u; + m.checkNotNullExpressionValue(button, "binding.userSheetMessageActionButton"); + Channel channel = loaded.getChannel(); + button.setVisibility(channel == null || channel.A() != 1 ? 0 : 8); + getBinding().u.setOnClickListener(new WidgetUserSheet$configureProfileActionButtons$3(this, loaded)); + getBinding().i.setOnClickListener(new WidgetUserSheet$configureProfileActionButtons$4(this)); + getBinding().L.setOnClickListener(new WidgetUserSheet$configureProfileActionButtons$5(this)); + if (userRelationshipType == 0) { + Button button2 = getBinding().f; + m.checkNotNullExpressionValue(button2, "binding.userSheetAddFriendActionButton"); + button2.setVisibility(0); + Button button3 = getBinding().f2080z; + m.checkNotNullExpressionValue(button3, "binding.userSheetPendingFriendRequestActionButton"); + button3.setVisibility(8); + } else if (userRelationshipType == 3 || userRelationshipType == 4) { + Button button4 = getBinding().f; + m.checkNotNullExpressionValue(button4, "binding.userSheetAddFriendActionButton"); + button4.setVisibility(8); + Button button5 = getBinding().f2080z; + m.checkNotNullExpressionValue(button5, "binding.userSheetPendingFriendRequestActionButton"); + button5.setVisibility(0); + } else { + Button button6 = getBinding().f; + m.checkNotNullExpressionValue(button6, "binding.userSheetAddFriendActionButton"); + button6.setVisibility(8); + Button button7 = getBinding().f2080z; + m.checkNotNullExpressionValue(button7, "binding.userSheetPendingFriendRequestActionButton"); + button7.setVisibility(8); + } + if (isMe || isBot || userRelationshipType != 0) { + z4 = false; + } + Button button8 = getBinding().f; + m.checkNotNullExpressionValue(button8, "binding.userSheetAddFriendActionButton"); + if (z4) { + i = 0; + } + button8.setVisibility(i); + getBinding().f.setOnClickListener(new WidgetUserSheet$configureProfileActionButtons$6(this, loaded)); + getBinding().f2080z.setOnClickListener(new WidgetUserSheet$configureProfileActionButtons$7(this, userRelationshipType, loaded)); + return; + } + return; + } + } + z2 = false; + materialButton.setVisibility(!z2 ? 0 : 8); getBinding().F.setOnClickListener(new WidgetUserSheet$configureProfileActionButtons$2(currentGuildId)); boolean isBot = loaded.getUser().isBot(); boolean isSystemUser = loaded.getUser().isSystemUser(); int userRelationshipType = loaded.getUserRelationshipType(); - boolean z3 = !isMe && !isSystemUser; + if (isMe) { + } View view = getBinding().B; m.checkNotNullExpressionValue(view, "binding.userSheetProfileActionsDivider"); - view.setVisibility(z3 ? 0 : 8); + view.setVisibility(!z3 ? 0 : 8); LinearLayout linearLayout = getBinding().A; m.checkNotNullExpressionValue(linearLayout, "binding.userSheetProfileActionsContainer"); - linearLayout.setVisibility(z3 ? 0 : 8); - if (z3) { - Button button = getBinding().u; - m.checkNotNullExpressionValue(button, "binding.userSheetMessageActionButton"); - Channel channel = loaded.getChannel(); - button.setVisibility(channel == null || channel.A() != 1 ? 0 : 8); - getBinding().u.setOnClickListener(new WidgetUserSheet$configureProfileActionButtons$3(this, loaded)); - getBinding().i.setOnClickListener(new WidgetUserSheet$configureProfileActionButtons$4(this)); - getBinding().L.setOnClickListener(new WidgetUserSheet$configureProfileActionButtons$5(this)); - if (userRelationshipType == 0) { - Button button2 = getBinding().f; - m.checkNotNullExpressionValue(button2, "binding.userSheetAddFriendActionButton"); - button2.setVisibility(0); - Button button3 = getBinding().f2080z; - m.checkNotNullExpressionValue(button3, "binding.userSheetPendingFriendRequestActionButton"); - button3.setVisibility(8); - } else if (userRelationshipType == 3 || userRelationshipType == 4) { - Button button4 = getBinding().f; - m.checkNotNullExpressionValue(button4, "binding.userSheetAddFriendActionButton"); - button4.setVisibility(8); - Button button5 = getBinding().f2080z; - m.checkNotNullExpressionValue(button5, "binding.userSheetPendingFriendRequestActionButton"); - button5.setVisibility(0); - } else { - Button button6 = getBinding().f; - m.checkNotNullExpressionValue(button6, "binding.userSheetAddFriendActionButton"); - button6.setVisibility(8); - Button button7 = getBinding().f2080z; - m.checkNotNullExpressionValue(button7, "binding.userSheetPendingFriendRequestActionButton"); - button7.setVisibility(8); - } - if (isMe || isBot || userRelationshipType != 0) { - z2 = false; - } - Button button8 = getBinding().f; - m.checkNotNullExpressionValue(button8, "binding.userSheetAddFriendActionButton"); - if (z2) { - i = 0; - } - button8.setVisibility(i); - getBinding().f.setOnClickListener(new WidgetUserSheet$configureProfileActionButtons$6(this, loaded)); - getBinding().f2080z.setOnClickListener(new WidgetUserSheet$configureProfileActionButtons$7(this, userRelationshipType, loaded)); + linearLayout.setVisibility(!z3 ? 0 : 8); + if (!z3) { } } diff --git a/app/src/main/res/layout-v22/widget_change_guild_identity.xml b/app/src/main/res/layout-v22/widget_change_guild_identity.xml index 8d02ce04db..d7ae39f13b 100644 --- a/app/src/main/res/layout-v22/widget_change_guild_identity.xml +++ b/app/src/main/res/layout-v22/widget_change_guild_identity.xml @@ -8,7 +8,7 @@ - + @@ -24,7 +24,7 @@ - + diff --git a/app/src/main/res/layout/widget_change_guild_identity.xml b/app/src/main/res/layout/widget_change_guild_identity.xml index d3b1c46a9e..2040e71682 100644 --- a/app/src/main/res/layout/widget_change_guild_identity.xml +++ b/app/src/main/res/layout/widget_change_guild_identity.xml @@ -8,7 +8,7 @@ - + @@ -24,7 +24,7 @@ - + diff --git a/app/src/main/res/values-ar-rXB/strings.xml b/app/src/main/res/values-ar-rXB/strings.xml index 414f287e4b..0f884da2fb 100644 --- a/app/src/main/res/values-ar-rXB/strings.xml +++ b/app/src/main/res/values-ar-rXB/strings.xml @@ -2240,6 +2240,10 @@ ‏‮Grant‬‏ ‏‮Access‬‏ ‏‮Sound‬‏ ‏‮Permissions‬‏ ‏‮Email‬‏ + ‏‮Manage‬‏ ‏‮your‬‏ ‏‮user‬‏ ‏‮settings.‬‏ + ‏‮You‬‏ ‏‮have‬‏ ‏‮unsubscribed‬‏ ‏‮from:‬‏ ‏‮{category}‬‏‏‮.‬‏ ‏‮To‬‏ ‏‮change‬‏ ‏‮your‬‏ ‏‮email‬‏ ‏‮notification‬‏ ‏‮settings,‬‏ ‏‮visit‬‏ ‏‮user‬‏ ‏‮settings.‬‏ + ‏‮You’re‬‏ ‏‮unsubscribed‬‏ + ‏‮To‬‏ ‏‮unsubscribe‬‏ ‏‮from‬‏ ‏‮all‬‏ ‏‮marketing‬‏ ‏‮emails,‬‏ ‏‮visit‬‏ ‏‮user‬‏ ‏‮settings.‬‏ ‏‮The‬‏ ‏‮email‬‏ ‏‮entered‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮valid,‬‏ ‏‮please‬‏ ‏‮update‬‏ ‏‮it‬‏ ‏‮and‬‏ ‏‮try‬‏ ‏‮again.‬‏ ‏‮A‬‏ ‏‮valid‬‏ ‏‮email‬‏ ‏‮is‬‏ ‏‮required.‬‏ ‏‮We‬‏ ‏‮sent‬‏ ‏‮instructions‬‏ ‏‮to‬‏ ‏‮change‬‏ ‏‮your‬‏ ‏‮password‬‏ ‏‮to‬‏ ‏‮**!!‬‏‏‮{email}‬‏‏‮!!**,‬‏ ‏‮please‬‏ ‏‮check‬‏ ‏‮both‬‏ ‏‮your‬‏ ‏‮inbox‬‏ ‏‮and‬‏ ‏‮spam‬‏ ‏‮folder.‬‏ @@ -3297,6 +3301,7 @@ ‏‮Are‬‏ ‏‮you‬‏ ‏‮sure‬‏ ‏‮you‬‏ ‏‮want‬‏ ‏‮to‬‏ ‏‮delete‬‏ ‏‮this‬‏ ‏‮event?‬‏ ‏‮Delete‬‏ ‏‮Event?‬‏ ‏‮The‬‏ ‏‮end‬‏ ‏‮time‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮after‬‏ ‏‮the‬‏ ‏‮start‬‏ ‏‮time.‬‏ + ‏‮It‬‏ ‏‮will‬‏ ‏‮eventually‬‏ ‏‮end‬‏ ‏‮automatically‬‏ ‏‮when‬‏ ‏‮it‬‏ ‏‮feels‬‏ ‏‮like‬‏ ‏‮it.‬‏ ‏‮No,‬‏ ‏‮just‬‏ ‏‮disconnect‬‏ ‏‮Yes,‬‏ ‏‮end‬‏ ‏‮the‬‏ ‏‮event‬‏ ‏‮Do‬‏ ‏‮you‬‏ ‏‮want‬‏ ‏‮to‬‏ ‏‮also‬‏ ‏‮end‬‏ ‏‮the‬‏ ‏‮event?‬‏ @@ -3558,6 +3563,7 @@ ‏‮Select‬‏ ‏‮Image‬‏ ‏‮Upload‬‏ ‏‮Image‬‏ ‏‮We‬‏ ‏‮recommend‬‏ ‏‮an‬‏ ‏‮image‬‏ ‏‮that\'s‬‏ ‏‮at‬‏ ‏‮least‬‏ ‏‮500‬‏ ‏‮pixels‬‏ ‏‮square.‬‏ + ‏‮Edit‬‏ ‏‮Image‬‏ ‏‮Custom‬‏ ‏‮Image‬‏ ‏‮Description‬‏ ‏‮Gotta‬‏ ‏‮make‬‏ ‏‮you‬‏ ‏‮understand‬‏ @@ -5321,6 +5327,8 @@ ‏‮Manage‬‏ ‏‮Plan‬‏ ‏‮We\'ve‬‏ ‏‮lowered‬‏ ‏‮Nitro‬‏ ‏‮pricing‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮area.‬‏ ‏‮See‬‏ ‏‮if‬‏ ‏‮you‬‏ ‏‮save‬‏ ‏‮with‬‏ ‏‮your‬‏ ‏‮local‬‏ ‏‮currency.‬‏ ‏‮Changing‬‏ ‏‮your‬‏ ‏‮payment‬‏ ‏‮method‬‏ ‏‮will‬‏ ‏‮change‬‏ ‏‮your‬‏ ‏‮subscription‬‏ ‏‮price‬‏ ‏‮and‬‏ ‏‮currency‬‏ ‏‮to‬‏ ‏‮{newCurrencyAndPrice}‬‏‏‮.‬‏ ‏‮[Click‬‏ ‏‮here](‬‏‏‮{helpCenterLink}‬‏‏‮)‬‏ ‏‮to‬‏ ‏‮learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮how‬‏ ‏‮we‬‏ ‏‮determine‬‏ ‏‮what‬‏ ‏‮you‬‏ ‏‮pay.‬‏ + ‏‮Manage‬‏ ‏‮Plan‬‏ + ‏‮We\'ve‬‏ ‏‮lowered‬‏ ‏‮Nitro‬‏ ‏‮pricing‬‏ ‏‮in‬‏ ‏‮some‬‏ ‏‮areas.‬‏ ‏‮Reactivate‬‏ ‏‮your‬‏ ‏‮Nitro‬‏ ‏‮subscription‬‏ ‏‮and‬‏ ‏‮see‬‏ ‏‮if‬‏ ‏‮you‬‏ ‏‮can‬‏ ‏‮save.‬‏ ‏‮**Tip**:‬‏ ‏‮Use‬‏ ‏‮a‬‏ ‏‮payment‬‏ ‏‮method‬‏ ‏‮local‬‏ ‏‮to‬‏ ‏‮{country}‬‏ ‏‮to‬‏ ‏‮pay‬‏ ‏‮for‬‏ ‏‮your‬‏ ‏‮subscription‬‏ ‏‮in‬‏ ‏‮{currency}‬‏‏‮!‬‏ ‏‮[Click‬‏ ‏‮here](‬‏‏‮{helpCenterLink}‬‏‏‮)‬‏ ‏‮to‬‏ ‏‮learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮how‬‏ ‏‮we‬‏ ‏‮determine‬‏ ‏‮price‬‏ ‏‮and‬‏ ‏‮currency.‬‏ ‏‮**Hooray!**‬‏ ‏‮As‬‏ ‏‮a‬‏ ‏‮resident‬‏ ‏‮of‬‏ ‏‮{country}‬‏‏‮,‬‏ ‏‮you\'re‬‏ ‏‮now‬‏ ‏‮paying‬‏ ‏‮the‬‏ ‏‮discounted‬‏ ‏‮price‬‏ ‏‮of‬‏ ‏‮{newPrice}‬‏ ‏‮for‬‏ ‏‮Nitro!‬‏ ‏‮[Learn‬‏ ‏‮More](‬‏‏‮{helpCenterLink}‬‏‏‮).‬‏ ‏‮Login‬‏ @@ -5714,8 +5722,8 @@ ‏‮Members‬‏ ‏‮with‬‏ ‏‮this‬‏ ‏‮permission‬‏ ‏‮can‬‏ ‏‮drag‬‏ ‏‮other‬‏ ‏‮members‬‏ ‏‮out‬‏ ‏‮of‬‏ ‏‮this‬‏ ‏‮channel.‬‏ ‏‮They‬‏ ‏‮can‬‏ ‏‮only‬‏ ‏‮move‬‏ ‏‮members‬‏ ‏‮between‬‏ ‏‮channels‬‏ ‏‮both‬‏ ‏‮they‬‏ ‏‮and‬‏ ‏‮the‬‏ ‏‮member‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮moving‬‏ ‏‮have‬‏ ‏‮access.‬‏ ‏‮Move‬‏ ‏‮To‬‏ ‏‮User‬‏ ‏‮has‬‏ ‏‮been‬‏ ‏‮moved‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮selected‬‏ ‏‮channel.‬‏ - ‏‮Alert‬‏ ‏‮Cleared‬‏ - ‏‮No‬‏ ‏‮Alert‬‏ ‏‮Showing‬‏ + ‏‮Alert‬‏ ‏‮Cleared‬‏ + ‏‮No‬‏ ‏‮Alert‬‏ ‏‮Showing‬‏ ‏‮New‬‏ ‏‮notification‬‏ ‏‮Remove‬‏ ‏‮%1$s‬‏ ‏‮More‬‏ ‏‮than‬‏ %1$d ‏‮new‬‏ ‏‮notifications‬‏ @@ -6923,8 +6931,8 @@ ‏‮{planName}‬‏ ‏‮Adjustment‬‏ ‏‮See‬‏ ‏‮subscription‬‏ ‏‮and‬‏ ‏‮auto-renewal‬‏ ‏‮details‬‏ ‏‮below‬‏ ‏‮By‬‏ ‏‮purchasing‬‏ ‏‮a‬‏ ‏‮Nitro‬‏ ‏‮subscription,‬‏ ‏‮you‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮our‬‏ ‏‮[Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{termsURL}‬‏‏‮)‬‏ ‏‮and‬‏ ‏‮[Privacy‬‏ ‏‮Policy](‬‏‏‮{privacyURL}‬‏‏‮).‬‏ ‏‮Payment‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮charged‬‏ ‏‮to‬‏ ‏‮your‬‏ ‏‮Apple‬‏ ‏‮ID‬‏ ‏‮account‬‏ ‏‮at‬‏ ‏‮the‬‏ ‏‮confirmation‬‏ ‏‮of‬‏ ‏‮purchase.‬‏ ‏‮Subscription‬‏ ‏‮automatically‬‏ ‏‮renews‬‏ ‏‮unless‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮canceled‬‏ ‏‮at‬‏ ‏‮least‬‏ ‏‮24‬‏ ‏‮hours‬‏ ‏‮before‬‏ ‏‮the‬‏ ‏‮end‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮current‬‏ ‏‮period.‬‏ ‏‮Your‬‏ ‏‮account‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮charged‬‏ ‏‮for‬‏ ‏‮renewal‬‏ ‏‮within‬‏ ‏‮24‬‏ ‏‮hours‬‏ ‏‮prior‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮end‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮current‬‏ ‏‮period.‬‏ ‏‮You‬‏ ‏‮can‬‏ ‏‮manage‬‏ ‏‮and‬‏ ‏‮cancel‬‏ ‏‮your‬‏ ‏‮subscriptions‬‏ ‏‮by‬‏ ‏‮going‬‏ ‏‮to‬‏ ‏‮your‬‏ ‏‮account‬‏ ‏‮settings‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮App‬‏ ‏‮Store‬‏ ‏‮after‬‏ ‏‮purchase.‬‏ - ‏‮Learn‬‏ ‏‮More‬‏ - ‏‮Reactivate‬‏ ‏‮Nitro‬‏ ‏‮to‬‏ ‏‮regain‬‏ ‏‮access‬‏ ‏‮to‬‏ ‏‮larger‬‏ ‏‮file‬‏ ‏‮uploads,‬‏ ‏‮animated‬‏ ‏‮avatars‬‏ ‏‮&‬‏ ‏‮more.‬‏ + ‏‮Manage‬‏ ‏‮Plan‬‏ + ‏‮Your‬‏ ‏‮Nitro‬‏ ‏‮subscription‬‏ ‏‮has‬‏ ‏‮ended.‬‏ ‏‮Reactivate‬‏ ‏‮to‬‏ ‏‮regain‬‏ ‏‮access‬‏ ‏‮to‬‏ ‏‮larger‬‏ ‏‮file‬‏ ‏‮uploads‬‏ ‏‮and‬‏ ‏‮more.‬‏ ‏‮Any‬‏ ‏‮eligible‬‏ ‏‮subscription‬‏ ‏‮credit‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮applied‬‏ ‏‮until‬‏ ‏‮it‬‏ ‏‮runs‬‏ ‏‮out.‬‏ ‏‮Your‬‏ ‏‮subscription‬‏ ‏‮will‬‏ ‏‮renew‬‏ ‏‮for‬‏ ‏‮**‬‏‏‮{rate}‬‏‏‮**‬‏ ‏‮on‬‏ ‏‮**‬‏‏‮{renewalDate}‬‏‏‮**.‬‏ ‏‮Have‬‏ ‏‮questions?‬‏ ‏‮[Contact‬‏ ‏‮our‬‏ ‏‮support‬‏ ‏‮team](‬‏‏‮{contactLink}‬‏‏‮)‬‏ ‏‮or‬‏ ‏‮[check‬‏ ‏‮out‬‏ ‏‮our‬‏ ‏‮subscription‬‏ ‏‮FAQ](‬‏‏‮{helpdeskArticle}‬‏‏‮).‬‏ ‏‮Your‬‏ ‏‮free‬‏ ‏‮month‬‏ ‏‮credit‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮applied‬‏ ‏‮until‬‏ ‏‮it‬‏ ‏‮runs‬‏ ‏‮out,‬‏ ‏‮and‬‏ ‏‮we\'ll‬‏ ‏‮send‬‏ ‏‮you‬‏ ‏‮a‬‏ ‏‮reminder‬‏ ‏‮email‬‏ ‏‮**‬‏‏‮{days}‬‏‏‮**‬‏ ‏‮before‬‏ ‏‮your‬‏ ‏‮free‬‏ ‏‮period‬‏ ‏‮ends.‬‏ ‏‮Have‬‏ ‏‮questions?‬‏ ‏‮[Check‬‏ ‏‮out‬‏ ‏‮our‬‏ ‏‮offer‬‏ ‏‮FAQ](‬‏‏‮{helpdeskArticle}‬‏‏‮)‬‏ ‏‮or‬‏ ‏‮[contact‬‏ ‏‮our‬‏ ‏‮support‬‏ ‏‮team](‬‏‏‮{contactLink}‬‏‏‮).‬‏ ‏‮Hold‬‏ ‏‮up!‬‏ ‏‮You‬‏ ‏‮need‬‏ ‏‮Nitro‬‏ ‏‮to‬‏ ‏‮get‬‏ ‏‮this‬‏ ‏‮loot.‬‏ @@ -9211,7 +9219,7 @@ ‏‮Open‬‏ ‏‮Discord‬‏ ‏‮Check‬‏ ‏‮out‬‏ ‏‮our‬‏ ‏‮[Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{termsLink}‬‏‏‮)‬‏ ‏‮and‬‏ ‏‮[Privacy‬‏ ‏‮Policy](‬‏‏‮{privacyLink}‬‏‏‮).‬‏ ‏‮Profile‬‏ ‏‮Banner‬‏ - ‏‮Profile‬‏ ‏‮Color‬‏ ‏‮is‬‏ ‏‮currently‬‏ ‏‮available‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮limited‬‏ ‏‮number‬‏ ‏‮of‬‏ ‏‮people‬‏ + ‏‮Profile‬‏ ‏‮Color‬‏ ‏‮Custom‬‏ ‏‮Use‬‏ ‏‮a‬‏ ‏‮custom‬‏ ‏‮profile‬‏ ‏‮color.‬‏ ‏‮Selected:‬‏ ‏‮{colorHex}‬‏ ‏‮Default‬‏ @@ -9220,7 +9228,6 @@ ‏‮Visible‬‏ ‏‮when‬‏ ‏‮no‬‏ ‏‮image‬‏ ‏‮is‬‏ ‏‮set.‬‏ ‏‮Banner‬‏ ‏‮Color‬‏ ‏‮Select‬‏ ‏‮custom‬‏ ‏‮color‬‏ - ‏‮Profile‬‏ ‏‮Color‬‏ ‏‮Remove‬‏ ‏‮Avatar‬‏ ‏‮Remove‬‏ ‏‮Banner‬‏ ‏‮Remove‬‏ ‏‮Profile‬‏ ‏‮Banner‬‏ diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index b315d60edc..b82d414c86 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -8453,10 +8453,8 @@ Отваряне на Discord Виж нашите [Условия за ползване]({termsLink}) и [Политика за поверителност]({privacyLink}). Банер на профила - В момента цвят на профила се предлага само за ограничен брой хора Персонализирани По подразбиране - Цвят на профил Премахване на аватар Премахване на банер Премахване на банер на профила diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index c0736aaf27..31ad0e6a77 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -8459,10 +8459,8 @@ Otevřít Discord Přečti si [Podmínky využívání služeb]({termsLink}) a [Zásady na ochranu osobních údajů]({privacyLink}). Banner profilu - Barva profilu je momentálně dostupná jen omezenému počtu lidí Vlastní Výchozí - Barva profilu Odebrat avatar Odebrat banner Odebrat banner profilu diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index ec7313bd2c..833c9fd919 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -8441,10 +8441,8 @@ Åbn Discord Læs vores [Betingelser]({termsLink}) og [beskyttelse af privatlivets fred]({privacyLink}). Profilbanner - Profilfarve er i øjeblikket kun tilgængelig for et begrænset antal personer Brugertilpasset Standard - Profilfarve Fjern avatar Fjern banner Fjern profilbanner diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 9e0462af86..19ef9089b8 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -8531,10 +8531,8 @@ Discord öffnen Sieh dir unsere [Nutzungsbedingungen]({termsLink}) und [Datenschutzerklärung]({privacyLink}) an. Profilbanner - Profilfarben stehen derzeit nur einer begrenzten Anzahl an Nutzern zur Verfügung. Benutzerdefiniert Standard - Profilfarbe Avatar entfernen Banner entfernen Profilbanner entfernen diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index d5a0adacf0..d94e4c8b84 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -8454,10 +8454,8 @@ Ανοίξτε το Discord Δείτε τους [Όρους Παροχής Υπηρεσιών]({termsLink}) και την [Πολιτική Απορρήτου]({privacyLink}). Banner προφίλ - Το χρώμα προφίλ προς το παρόν είναι διαθέσιμο σε περιορισμένο αριθμό ατόμων Προσαρμογή Προεπιλογή - Χρώμα προφίλ Αφαίρεση άβαταρ Αφαίρεση banner Αφαίρεση banner προφίλ diff --git a/app/src/main/res/values-en-rXA/strings.xml b/app/src/main/res/values-en-rXA/strings.xml index 9cf5466114..5ae945edf1 100644 --- a/app/src/main/res/values-en-rXA/strings.xml +++ b/app/src/main/res/values-en-rXA/strings.xml @@ -2240,6 +2240,10 @@ [Ĝŕåñţ Åççéšš one two] [Šöûñð Þéŕḿîššîöñš one two three] [Éḿåîļ one] + [Ḿåñåĝé ýöûŕ ûšéŕ šéţţîñĝš. one two three four] + [Ýöû ĥåVé ûñšûɓšçŕîɓéð ƒŕöḿ: »{category}«. Ţö çĥåñĝé ýöûŕ éḿåîļ ñöţîƒîçåţîöñ šéţţîñĝš, Vîšîţ ûšéŕ šéţţîñĝš. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen] + [Ýöû’ŕé ûñšûɓšçŕîɓéð one two three] + [Ţö ûñšûɓšçŕîɓé ƒŕöḿ åļļ ḿåŕķéţîñĝ éḿåîļš, Vîšîţ ûšéŕ šéţţîñĝš. one two three four five six seven] [Ţĥé éḿåîļ éñţéŕéð îš ñöţ Våļîð, þļéåšé ûþðåţé îţ åñð ţŕý åĝåîñ. one two three four five six seven] [Å Våļîð éḿåîļ îš ŕéQûîŕéð. one two three four] [Ŵé šéñţ îñšţŕûçţîöñš ţö çĥåñĝé ýöûŕ þåššŵöŕð ţö **¡¡»{email}«¡¡**, þļéåšé çĥéçķ ɓöţĥ ýöûŕ îñɓöх åñð šþåḿ ƒöļðéŕ. one two three four five six seven eight nine ten eleven] @@ -3297,6 +3301,7 @@ [Åŕé ýöû šûŕé ýöû ŵåñţ ţö ðéļéţé ţĥîš éVéñţ¿ one two three four five] [Ðéļéţé ÉVéñţ¿ one two] [Ţĥé éñð ţîḿé ḿûšţ ɓé åƒţéŕ ţĥé šţåŕţ ţîḿé. one two three four five] + [Îţ ŵîļļ éVéñţûåļļý éñð åûţöḿåţîçåļļý ŵĥéñ îţ ƒééļš ļîķé îţ. one two three four five six seven] [Ñö, ĵûšţ ðîšçöññéçţ one two three] [Ýéš, éñð ţĥé éVéñţ one two three] [Ðö ýöû ŵåñţ ţö åļšö éñð ţĥé éVéñţ¿ one two three four] @@ -3558,6 +3563,7 @@ [Šéļéçţ Îḿåĝé one two] [Ûþļöåð Îḿåĝé one two] [Ŵé ŕéçöḿḿéñð åñ îḿåĝé ţĥåţ\'š åţ ļéåšţ 500 þîхéļš šQûåŕé. one two three four five six seven] + [Éðîţ Îḿåĝé one two] [Çûšţöḿ Îḿåĝé one two] [Ðéšçŕîþţîöñ one two] [Ĝöţţå ḿåķé ýöû ûñðéŕšţåñð one two three] @@ -5321,6 +5327,8 @@ [Ḿåñåĝé Þļåñ one two] [Ŵé\'Vé ļöŵéŕéð Ñîţŕö þŕîçîñĝ îñ ýöûŕ åŕéå. Šéé îƒ ýöû šåVé ŵîţĥ ýöûŕ ļöçåļ çûŕŕéñçý. one two three four five six seven eight nine] [Çĥåñĝîñĝ ýöûŕ þåýḿéñţ ḿéţĥöð ŵîļļ çĥåñĝé ýöûŕ šûɓšçŕîþţîöñ þŕîçé åñð çûŕŕéñçý ţö »{newCurrencyAndPrice}«. [Çļîçķ ĥéŕé](»{helpCenterLink}«) ţö ļéåŕñ ḿöŕé åɓöûţ ĥöŵ ŵé ðéţéŕḿîñé ŵĥåţ ýöû þåý. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six] + [Ḿåñåĝé Þļåñ one two] + [Ŵé\'Vé ļöŵéŕéð Ñîţŕö þŕîçîñĝ îñ šöḿé åŕéåš. ŔéåçţîVåţé ýöûŕ Ñîţŕö šûɓšçŕîþţîöñ åñð šéé îƒ ýöû çåñ šåVé. one two three four five six seven eight nine ten eleven] [**Ţîþ**: Ûšé å þåýḿéñţ ḿéţĥöð ļöçåļ ţö »{country}« ţö þåý ƒöŕ ýöûŕ šûɓšçŕîþţîöñ îñ »{currency}«¡ [Çļîçķ ĥéŕé](»{helpCenterLink}«) ţö ļéåŕñ ḿöŕé åɓöûţ ĥöŵ ŵé ðéţéŕḿîñé þŕîçé åñð çûŕŕéñçý. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five] [**Ĥööŕåý¡** Åš å ŕéšîðéñţ öƒ »{country}«, ýöû\'ŕé ñöŵ þåýîñĝ ţĥé ðîšçöûñţéð þŕîçé öƒ »{newPrice}« ƒöŕ Ñîţŕö¡ [Ļéåŕñ Ḿöŕé](»{helpCenterLink}«). one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen] [Ļöĝîñ one] @@ -5714,8 +5722,8 @@ [Ḿéḿɓéŕš ŵîţĥ ţĥîš þéŕḿîššîöñ çåñ ðŕåĝ öţĥéŕ ḿéḿɓéŕš öûţ öƒ ţĥîš çĥåññéļ. Ţĥéý çåñ öñļý ḿöVé ḿéḿɓéŕš ɓéţŵééñ çĥåññéļš ɓöţĥ ţĥéý åñð ţĥé ḿéḿɓéŕ ţĥéý åŕé ḿöVîñĝ ĥåVé åççéšš. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen] [ḾöVé Ţö one two] [Ûšéŕ ĥåš ɓééñ ḿöVéð ţö ţĥé šéļéçţéð çĥåññéļ. one two three four five] - [Åļéŕţ Çļéåŕéð one two] - [Ñö Åļéŕţ Šĥöŵîñĝ one two three] + [Åļéŕţ Çļéåŕéð one two] + [Ñö Åļéŕţ Šĥöŵîñĝ one two three] [Ñéŵ ñöţîƒîçåţîöñ one two three] [ŔéḿöVé »%1$s« one two] [Ḿöŕé ţĥåñ %1$d ñéŵ ñöţîƒîçåţîöñš one two three four] @@ -6923,8 +6931,8 @@ [»{planName}« Åðĵûšţḿéñţ one two] [Šéé šûɓšçŕîþţîöñ åñð åûţö-ŕéñéŵåļ ðéţåîļš ɓéļöŵ one two three four five six] [βý þûŕçĥåšîñĝ å Ñîţŕö šûɓšçŕîþţîöñ, ýöû åĝŕéé ţö öûŕ [Ţéŕḿš öƒ ŠéŕVîçé](»{termsURL}«) åñð [ÞŕîVåçý Þöļîçý](»{privacyURL}«). Þåýḿéñţ ŵîļļ ɓé çĥåŕĝéð ţö ýöûŕ Åþþļé ÎÐ åççöûñţ åţ ţĥé çöñƒîŕḿåţîöñ öƒ þûŕçĥåšé. Šûɓšçŕîþţîöñ åûţöḿåţîçåļļý ŕéñéŵš ûñļéšš îţ îš çåñçéļéð åţ ļéåšţ 24 ĥöûŕš ɓéƒöŕé ţĥé éñð öƒ ţĥé çûŕŕéñţ þéŕîöð. Ýöûŕ åççöûñţ ŵîļļ ɓé çĥåŕĝéð ƒöŕ ŕéñéŵåļ ŵîţĥîñ 24 ĥöûŕš þŕîöŕ ţö ţĥé éñð öƒ ţĥé çûŕŕéñţ þéŕîöð. Ýöû çåñ ḿåñåĝé åñð çåñçéļ ýöûŕ šûɓšçŕîþţîöñš ɓý ĝöîñĝ ţö ýöûŕ åççöûñţ šéţţîñĝš öñ ţĥé Åþþ Šţöŕé åƒţéŕ þûŕçĥåšé. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two] - [Ļéåŕñ Ḿöŕé one two] - [ŔéåçţîVåţé Ñîţŕö ţö ŕéĝåîñ åççéšš ţö ļåŕĝéŕ ƒîļé ûþļöåðš, åñîḿåţéð åVåţåŕš & ḿöŕé. one two three four five six seven eight nine] + [Ḿåñåĝé Þļåñ one two] + [Ýöûŕ Ñîţŕö šûɓšçŕîþţîöñ ĥåš éñðéð. ŔéåçţîVåţé ţö ŕéĝåîñ åççéšš ţö ļåŕĝéŕ ƒîļé ûþļöåðš åñð ḿöŕé. one two three four five six seven eight nine ten] [Åñý éļîĝîɓļé šûɓšçŕîþţîöñ çŕéðîţ ŵîļļ ɓé åþþļîéð ûñţîļ îţ ŕûñš öûţ. Ýöûŕ šûɓšçŕîþţîöñ ŵîļļ ŕéñéŵ ƒöŕ **»{rate}«** öñ **»{renewalDate}«**. ĤåVé Qûéšţîöñš¿ [Çöñţåçţ öûŕ šûþþöŕţ ţéåḿ](»{contactLink}«) öŕ [çĥéçķ öûţ öûŕ šûɓšçŕîþţîöñ FÅq](»{helpdeskArticle}«). one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen] [Ýöûŕ ƒŕéé ḿöñţĥ çŕéðîţ ŵîļļ ɓé åþþļîéð ûñţîļ îţ ŕûñš öûţ, åñð ŵé\'ļļ šéñð ýöû å ŕéḿîñðéŕ éḿåîļ **»{days}«** ɓéƒöŕé ýöûŕ ƒŕéé þéŕîöð éñðš. ĤåVé Qûéšţîöñš¿ [Çĥéçķ öûţ öûŕ öƒƒéŕ FÅq](»{helpdeskArticle}«) öŕ [çöñţåçţ öûŕ šûþþöŕţ ţéåḿ](»{contactLink}«). one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen] [Ĥöļð ûþ¡ Ýöû ñééð Ñîţŕö ţö ĝéţ ţĥîš ļööţ. one two three four five] @@ -9211,7 +9219,7 @@ [Öþéñ Ðîšçöŕð one two] [Çĥéçķ öûţ öûŕ [Ţéŕḿš öƒ ŠéŕVîçé](»{termsLink}«) åñð [ÞŕîVåçý Þöļîçý](»{privacyLink}«). one two three four five six seven eight nine ten eleven twelve] [Þŕöƒîļé βåññéŕ one two three] - [Þŕöƒîļé Çöļöŕ îš çûŕŕéñţļý åVåîļåɓļé ţö å ļîḿîţéð ñûḿɓéŕ öƒ þéöþļé one two three four five six seven eight] + [Þŕöƒîļé Çöļöŕ one two] [Çûšţöḿ one two] [Ûšé å çûšţöḿ þŕöƒîļé çöļöŕ. Šéļéçţéð: »{colorHex}« one two three four five] [Ðéƒåûļţ one two] @@ -9220,7 +9228,6 @@ [νîšîɓļé ŵĥéñ ñö îḿåĝé îš šéţ. one two three four] [βåññéŕ Çöļöŕ one two] [Šéļéçţ çûšţöḿ çöļöŕ one two three] - [Þŕöƒîļé Çöļöŕ one two] [ŔéḿöVé ÅVåţåŕ one two] [ŔéḿöVé βåññéŕ one two] [ŔéḿöVé Þŕöƒîļé βåññéŕ one two three] diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 7c53fca35b..6b0bd87187 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -8362,10 +8362,8 @@ Abrir Discord Echa un vistazo a nuestras [Condiciones del Servicio]({termsLink}) y [Política de Privacidad]({privacyLink}). Cartel de perfil - El color del perfil está disponible para un número limitado de personas Personalizados Predeterminado - Color del perfil Eliminar avatar Eliminar cartel Eliminar cartel del perfil diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 9a11330f81..665de1ccd6 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -8458,10 +8458,8 @@ Avaa Discord Katso [palveluehtomme]({termsLink}) ja [tietosuojakäytäntömme]({privacyLink}). Profiilibanneri - Profiiliväri on tällä hetkellä rajoitetun käyttäjäjoukon käytettävissä Mukautettu Oletus - Profiiliväri Poista avatar Poista banneri Poista profiilibanneri diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 347804fa5f..cebbfb263a 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -8525,10 +8525,8 @@ Ouvrir Discord Consulte nos [Conditions d\'Utilisation]({termsLink}) et notre [Politique de Confidentialité]({privacyLink}). Bannière de profil - La couleur de profil est accessible à un nombre limité de personnes pour le moment Personnalisés Par défaut - Couleur de profil Supprimer l\'avatar Supprimer la bannière Supprimer la bannière de profil diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index dc3418bf29..dd41759523 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -8454,10 +8454,8 @@ Discord खोलें हमारी [सेवा की शर्तें]({termsLink})और [निजता नीति]({privacyLink}) को देखें. प्रोफाइल बैनर - प्रोफ़ाइल कलर फ़िलहाल कुछ लोगों के लिए ही उपलब्ध है कस्टम डिफ़ॉल्ट - प्रोफ़ाइल कलर अवतार रिमूव करें बैनर रिमूव करें प्रोफाइल बैनर रिमूव करें diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index c8a705a90a..04023f76a4 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -8454,10 +8454,8 @@ Otvori Discord Pogledaj naše [Uvjete pružanja usluge]({termsLink}) i [Pravila zaštite osobnih podataka]({privacyLink}). Banner profila - Boja profila trenutačno je omogućena tek za ograničeni broj ljudi Prilagođeno Zadano - Boja profila Ukloni avatar Ukloni banner Ukloni banner profila diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index cd1f1f1768..c922867cb9 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -8454,10 +8454,8 @@ A Discord megnyitása Nézd meg a [Szolgáltatási feltételeket]({termsLink}) és az [Adatvédelmi szabályzatot]({privacyLink}). Profilbanner - A profilszín jelenleg korlátozott számú felhasználó számára érhető el. Egyedi Alapértelmezett - Profilszín Profilkép eltávolítása Banner eltávolítása Profilbanner eltávolítása diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 4766b68869..daf817a02a 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -8525,10 +8525,8 @@ Apri Discord Controlla i nostri [Termini di Servizio]({termsLink}) e [Informativa sulla privacy]({privacyLink}). Banner del profilo - Il colore del Profilo è al momento disponibile per un numero limitato di persone Personalizzato Predefinito - Colore del Profilo Rimuovi avatar Rimuovi banner Rimuovi banner del profilo diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 641b849ac9..2a17df61df 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -8528,10 +8528,8 @@ Discordを開く [サービス利用規約]({termsLink}) 及び [プライバシーポリシー]({privacyLink}) を確認してください。 プロフィールバナー - プロフィールカラーは現在、一部のユーザー限定の機能となっています カスタム 既定値 - プロフィールカラー アバター削除 バナー削除 プロフィールバナーを削除 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 9fffb2888f..7018b357c6 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -8525,10 +8525,8 @@ Discord 열기 [이용 약관]({termsLink})과 [개인정보 보호 정책]({privacyLink})을 확인하세요. 프로필 배너 - 프로필 색상은 현재 일부 사용자들만 사용할 수 있어요 사용자 지정 기본 - 프로필 색상 아바타 제거 배너 제거 프로필 배너 제거 diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 063974cb27..4b0b6c40f9 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -8454,10 +8454,8 @@ Atidaryti Discord Peržiūrėk mūsų [Paslaugų teikimo sąlygas]({termsLink}) ir [Privatumo politiką]({privacyLink}). Profilio reklamjuostė - Šiuo metu profilio spalva pasiekiama ribotam žmonių skaičiui Pritaikytas Numatytasis - Profilio spalva Šalinti pseudoportretą Šalinti reklamjuostę Šalinti profilio reklamjuostę diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index a3b4462ba6..90eeaa0b68 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -8525,10 +8525,8 @@ Discord openen Lees onze [Servicevoorwaarden]({termsLink}) en ons [Privacybeleid]({privacyLink}). Profielbanner - Profielkleur is op dit moment beschikbaar voor een beperkt aantal mensen Persoonlijk Standaard - Profielkleur Avatar verwijderen Banner verwijderen Profielbanner verwijderen diff --git a/app/src/main/res/values-no/strings.xml b/app/src/main/res/values-no/strings.xml index bc6558d3a0..bf8ea10023 100644 --- a/app/src/main/res/values-no/strings.xml +++ b/app/src/main/res/values-no/strings.xml @@ -8295,10 +8295,8 @@ Åpne Discord Sjekk [Vilkår for bruk]({termsLink}) og [Personvernerklæring]({privacyLink}). Profilbanner - Profilfarge er for øyeblikket tilgjengelig for et begrenset antall personer Egendefinert Standard - Profilfarge Fjern Avatar Fjern banner Fjern profilbanner diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index a377caf0fe..53621147f2 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -8526,10 +8526,8 @@ Otwórz Discorda Przyjrzyj się naszym [Warunkom Korzystania z Usługi]({termsLink}) i [Polityce prywatności]({privacyLink}). Baner profilu - Kolor profilu jest obecnie dostępny tylko dla ograniczonej liczby osób Własny Domyślny - Kolor profilu Usuń awatar Usuń baner Usuń baner profilu diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 95fb8833fd..d9a8653d26 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -8407,10 +8407,8 @@ Abrir o Discord Veja nossos [Termos de Serviço]({termsLink}) e [Política de Privacidade]({privacyLink}). Faixa do perfil - No momento, cores no perfil estão disponíveis para um número limitado de pessoas. Personalizadas Padrão - Cor do perfil Remover avatar Remover faixa Remover faixa do perfil diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index c978c0fa83..abe319b634 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -8454,10 +8454,8 @@ Deschide Discord Consultă [Condițiile de Prestare a Serviciilor]({termsLink}) și [Politica de confidențialitate]({privacyLink}). Banner pentru profil - Culoarea de profil este momentan disponibilă doar pentru un număr limitat de persoane Personalizată Implicită - Culoare de profil Elimină avatarul Elimină bannerul Elimină bannerul pentru profil diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index d9cf946ffb..80f40c1c2e 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -8526,10 +8526,8 @@ Открыть Discord Ознакомьтесь с [Условиями Использования]({termsLink}) и [Политикой конфиденциальности]({privacyLink}). Баннер профиля - На текущий момент выбор цвета профиля доступен ограниченному кругу пользователей. Пользовательские По умолчанию - Цвет профиля Удалить аватар Удалить баннер Удалить баннер профиля diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index e5a318778b..6d985186f8 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -8362,10 +8362,8 @@ Öppna Discord Kolla in [Användarvillkoren]({termsLink}) och [Sekretesspolicyn]({privacyLink}). Profilbanner - Profilfärg finns för närvarande bara för ett begränsat antal personer. Anpassad Standard - Profilfärg Ta bort avatar Ta bort banner Ta bort profilbanner diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index f3ebca7111..449bf058e0 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -8454,10 +8454,8 @@ เปิด Discord ตรวจสอบ [เงื่อนไขการให้บริการ]({termsLink}) และ [นโยบายความเป็นส่วนตัว]({privacyLink}) ของเรา แบนเนอร์โปรไฟล์ - ในตอนนี้ สีโปรไฟล์เปิดให้ใช้งานแล้ว แต่จำกัดจำนวนผู้ใช้ กำหนดเอง ค่าเดิม - สีโปรไฟล์ ลบสัญลักษณ์ประจำตัว ลบแบนเนอร์ ลบแบนเนอร์โปรไฟล์ diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 963fdac9d7..a5e13b8acd 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -8527,10 +8527,8 @@ Discord\'u Aç [Hizmet Koşullarına]({termsLink}) ve [Gizlilik Politikasına]({privacyLink}) göz at. Profil Afişi - Profil Rengi şimdilik sınırlı sayıda kişi tarafından kullanılabilir Özel Varsayılan - Profil Rengi Avatarı Kaldır Afişi Kaldır Profil Afişini Kaldır diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 5316b3cc5d..6e1544bbb3 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -8454,10 +8454,8 @@ Відкрити Discord Ознайомся з нашими [Умовами надання послуг]({termsLink}) та [Політикою конфіденційності]({privacyLink}). Банер для профілю - Колір профілю наразі доступний обмеженій кількості людей Спеціальні Типові - Колір профілю Прибрати аватар Прибрати банер Прибрати банер профілю diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index b904318339..8d029c3450 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -8453,10 +8453,8 @@ Mở Discord Hãy đọc [Điều Khoản Dịch Vụ]({termsLink}) và [Chính Sách Bảo Mật]({privacyLink}) của chúng tôi. Biểu Ngữ Hồ Sơ - Hiện nay, tính năng Màu Hồ Sơ chỉ được cung cấp cho một số lượng người dùng có hạn Tùy biến Mặc định - Màu Hồ Sơ Xóa Ảnh Đại Diện Xóa Biểu Ngữ Xóa Biểu Ngữ Hồ Sơ diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 28db112091..692e53776c 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -8518,10 +8518,8 @@ 打开 Discord 快阅读一下我们的[服务条款]({termsLink})和[隐私权政策]({privacyLink})吧。 个人资料横幅 - 个人资料颜色当前仅对部分用户开放 自定义 默认​​​​​ - 个人资料颜色 移除头像 移除横幅 移除个人资料横幅 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index ff070a4796..9b4cab3c1e 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -8520,10 +8520,8 @@ 開啟 Discord 查看我們的 [服務條款]({termsLink}) 與 [隱私權政策]({privacyLink})。 個人資料橫幅 - 個人資料顏色目前僅開放給部分使用者 自訂 預設 - 個人資料顏色 移除頭像 移除橫幅 移除個人資料橫幅 diff --git a/app/src/main/res/values/public.xml b/app/src/main/res/values/public.xml index 7e5048cf3d..2350ff16ee 100644 --- a/app/src/main/res/values/public.xml +++ b/app/src/main/res/values/public.xml @@ -16609,7324 +16609,7331 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2f4c850a3e..d8ce9e2b70 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1414,7 +1414,7 @@ Select a color Transparency Use Default - 6019786de6784d718a643a86efe78cfc + 18becc1b1fed48b9a18aa75e021884cb Coming Soon Slash command application {applicationName} {applicationName} application @@ -2246,6 +2246,10 @@ Grant Access Sound Permissions Email + Manage your user settings. + You have unsubscribed from: {category}. To change your email notification settings, visit user settings. + You’re unsubscribed + To unsubscribe from all marketing emails, visit user settings. The email entered is not valid, please update it and try again. A valid email is required. We sent instructions to change your password to **!!{email}!!**, please check both your inbox and spam folder. @@ -3313,6 +3317,7 @@ Are you sure you want to delete this event? Delete Event? The end time must be after the start time. + It will eventually end automatically when it feels like it. No, just disconnect Yes, end the event Do you want to also end the event? @@ -3574,6 +3579,7 @@ Select Image Upload Image We recommend an image that\'s at least 500 pixels square. + Edit Image Custom Image Description Gotta make you understand @@ -5338,6 +5344,8 @@ Manage Plan We\'ve lowered Nitro pricing in your area. See if you save with your local currency. Changing your payment method will change your subscription price and currency to {newCurrencyAndPrice}. [Click here]({helpCenterLink}) to learn more about how we determine what you pay. + Manage Plan + We\'ve lowered Nitro pricing in some areas. Reactivate your Nitro subscription and see if you can save. **Tip**: Use a payment method local to {country} to pay for your subscription in {currency}! [Click here]({helpCenterLink}) to learn more about how we determine price and currency. **Hooray!** As a resident of {country}, you\'re now paying the discounted price of {newPrice} for Nitro! [Learn More]({helpCenterLink}). Login @@ -5733,8 +5741,8 @@ Members with this permission can drag other members out of this channel. They can only move members between channels both they and the member they are moving have access. Move To User has been moved to the selected channel. - Alert Cleared - No Alert Showing + Alert Cleared + No Alert Showing New notification Remove %1$s More than %1$d new notifications @@ -6949,8 +6957,8 @@ {planName} Adjustment See subscription and auto-renewal details below By purchasing a Nitro subscription, you agree to our [Terms of Service]({termsURL}) and [Privacy Policy]({privacyURL}). Payment will be charged to your Apple ID account at the confirmation of purchase. Subscription automatically renews unless it is canceled at least 24 hours before the end of the current period. Your account will be charged for renewal within 24 hours prior to the end of the current period. You can manage and cancel your subscriptions by going to your account settings on the App Store after purchase. - Learn More - Reactivate Nitro to regain access to larger file uploads, animated avatars & more. + Manage Plan + Your Nitro subscription has ended. Reactivate to regain access to larger file uploads and more. Any eligible subscription credit will be applied until it runs out. Your subscription will renew for **{rate}** on **{renewalDate}**. Have questions? [Contact our support team]({contactLink}) or [check out our subscription FAQ]({helpdeskArticle}). Your free month credit will be applied until it runs out, and we\'ll send you a reminder email **{days}** before your free period ends. Have questions? [Check out our offer FAQ]({helpdeskArticle}) or [contact our support team]({contactLink}). Hold up! You need Nitro to get this loot. @@ -9240,7 +9248,7 @@ Open Discord Check out our [Terms of Service]({termsLink}) and [Privacy Policy]({privacyLink}). Profile Banner - Profile Color is currently available to a limited number of people + Profile Color Custom Use a custom profile color. Selected: {colorHex} Default @@ -9249,7 +9257,6 @@ Visible when no image is set. Banner Color Select custom color - Profile Color Remove Avatar Remove Banner Remove Profile Banner