Primer paso de la investigacion. Se aportan el .apk, las carpetas con el apk extraido y el apk descompilado. El archivo API_DOCUMENTATION.md es un archivo donde se anotaran los descubrimientos del funcionamiento de la API, y los .py son scripts para probar la funcionalidad de la API con los métodos que vayamos encontrando. Finalmente, los archivos .js son scripts de Frida para extraer informacion de la APP durante la ejecucion.

This commit is contained in:
2025-12-04 13:59:54 +01:00
parent f2fd1c3bf5
commit e0133d2ca2
10432 changed files with 1019085 additions and 1 deletions

View File

@@ -0,0 +1,54 @@
package kotlin.random;
import kotlin.Metadata;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.SourceDebugExtension;
@Metadata(d1 = {"\u0000>\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0012\n\u0002\b\u0002\n\u0002\u0010\u0006\n\u0000\n\u0002\u0010\u0007\n\u0002\b\u0003\n\u0002\u0010\t\n\u0000\b \u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002J\u0010\u0010\u0007\u001a\u00020\b2\u0006\u0010\t\u001a\u00020\bH\u0016J\b\u0010\n\u001a\u00020\u000bH\u0016J\u0010\u0010\f\u001a\u00020\r2\u0006\u0010\u000e\u001a\u00020\rH\u0016J\b\u0010\u000f\u001a\u00020\u0010H\u0016J\b\u0010\u0011\u001a\u00020\u0012H\u0016J\b\u0010\u0013\u001a\u00020\bH\u0016J\u0010\u0010\u0013\u001a\u00020\b2\u0006\u0010\u0014\u001a\u00020\bH\u0016J\b\u0010\u0015\u001a\u00020\u0016H\u0016R\u0012\u0010\u0003\u001a\u00020\u0004X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0005\u0010\u0006¨\u0006\u0017"}, d2 = {"Lkotlin/random/AbstractPlatformRandom;", "Lkotlin/random/Random;", "()V", "impl", "Ljava/util/Random;", "getImpl", "()Ljava/util/Random;", "nextBits", "", "bitCount", "nextBoolean", "", "nextBytes", "", "array", "nextDouble", "", "nextFloat", "", "nextInt", "until", "nextLong", "", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
@SourceDebugExtension({"SMAP\nPlatformRandom.kt\nKotlin\n*S Kotlin\n*F\n+ 1 PlatformRandom.kt\nkotlin/random/AbstractPlatformRandom\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,93:1\n1#2:94\n*E\n"})
/* loaded from: classes3.dex */
public abstract class AbstractPlatformRandom extends Random {
public abstract java.util.Random getImpl();
@Override // kotlin.random.Random
public int nextBits(int bitCount) {
return RandomKt.takeUpperBits(getImpl().nextInt(), bitCount);
}
@Override // kotlin.random.Random
public boolean nextBoolean() {
return getImpl().nextBoolean();
}
@Override // kotlin.random.Random
public byte[] nextBytes(byte[] array) {
Intrinsics.checkNotNullParameter(array, "array");
getImpl().nextBytes(array);
return array;
}
@Override // kotlin.random.Random
public double nextDouble() {
return getImpl().nextDouble();
}
@Override // kotlin.random.Random
public float nextFloat() {
return getImpl().nextFloat();
}
@Override // kotlin.random.Random
public int nextInt() {
return getImpl().nextInt();
}
@Override // kotlin.random.Random
public long nextLong() {
return getImpl().nextLong();
}
@Override // kotlin.random.Random
public int nextInt(int until) {
return getImpl().nextInt(until);
}
}

View File

@@ -0,0 +1,22 @@
package kotlin.random;
import kotlin.Metadata;
import kotlin.jvm.internal.Intrinsics;
@Metadata(d1 = {"\u0000\u001b\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\b\u0003*\u0001\b\b\u0000\u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002R\u0014\u0010\u0003\u001a\u00020\u00048VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u0005\u0010\u0006R\u0010\u0010\u0007\u001a\u00020\bX\u0082\u0004¢\u0006\u0004\n\u0002\u0010\t¨\u0006\n"}, d2 = {"Lkotlin/random/FallbackThreadLocalRandom;", "Lkotlin/random/AbstractPlatformRandom;", "()V", "impl", "Ljava/util/Random;", "getImpl", "()Ljava/util/Random;", "implStorage", "kotlin/random/FallbackThreadLocalRandom$implStorage$1", "Lkotlin/random/FallbackThreadLocalRandom$implStorage$1;", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
/* loaded from: classes3.dex */
public final class FallbackThreadLocalRandom extends AbstractPlatformRandom {
private final FallbackThreadLocalRandom$implStorage$1 implStorage = new ThreadLocal<java.util.Random>() { // from class: kotlin.random.FallbackThreadLocalRandom$implStorage$1
@Override // java.lang.ThreadLocal
public java.util.Random initialValue() {
return new java.util.Random();
}
};
@Override // kotlin.random.AbstractPlatformRandom
public java.util.Random getImpl() {
java.util.Random random = get();
Intrinsics.checkNotNullExpressionValue(random, "get(...)");
return random;
}
}

View File

@@ -0,0 +1,83 @@
package kotlin.random;
import kotlin.Metadata;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
@Metadata(d1 = {"\u0000B\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\b\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u0012\n\u0000\n\u0002\u0010\u0006\n\u0000\n\u0002\u0010\u0007\n\u0002\b\u0003\n\u0002\u0010\t\n\u0002\b\u0004\b\u0002\u0018\u0000 \u001b2\u00020\u0001:\u0001\u001bB\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\u0010\u0010\t\u001a\u00020\n2\u0006\u0010\u000b\u001a\u00020\nH\u0014J\b\u0010\f\u001a\u00020\bH\u0016J\u0010\u0010\r\u001a\u00020\u000e2\u0006\u0010\u000f\u001a\u00020\u0010H\u0016J\b\u0010\u0011\u001a\u00020\u0012H\u0016J\b\u0010\u0013\u001a\u00020\u0014H\u0016J\b\u0010\u0015\u001a\u00020\nH\u0016J\u0010\u0010\u0015\u001a\u00020\n2\u0006\u0010\u0016\u001a\u00020\nH\u0016J\b\u0010\u0017\u001a\u00020\u0018H\u0016J\u0010\u0010\u0019\u001a\u00020\u000e2\u0006\u0010\u001a\u001a\u00020\u0018H\u0016R\u0011\u0010\u0002\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u0005\u0010\u0006R\u000e\u0010\u0007\u001a\u00020\bX\u0082\u000e¢\u0006\u0002\n\u0000¨\u0006\u001c"}, d2 = {"Lkotlin/random/KotlinRandom;", "Ljava/util/Random;", "impl", "Lkotlin/random/Random;", "(Lkotlin/random/Random;)V", "getImpl", "()Lkotlin/random/Random;", "seedInitialized", "", "next", "", "bits", "nextBoolean", "nextBytes", "", "bytes", "", "nextDouble", "", "nextFloat", "", "nextInt", "bound", "nextLong", "", "setSeed", "seed", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
/* loaded from: classes3.dex */
final class KotlinRandom extends java.util.Random {
private static final Companion Companion = new Companion(null);
private static final long serialVersionUID = 0;
private final Random impl;
private boolean seedInitialized;
@Metadata(d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\b\u0082\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000¨\u0006\u0005"}, d2 = {"Lkotlin/random/KotlinRandom$Companion;", "", "()V", "serialVersionUID", "", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
/* loaded from: classes3.dex */
public static final class Companion {
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
private Companion() {
}
}
public KotlinRandom(Random impl) {
Intrinsics.checkNotNullParameter(impl, "impl");
this.impl = impl;
}
public final Random getImpl() {
return this.impl;
}
@Override // java.util.Random
public int next(int bits) {
return this.impl.nextBits(bits);
}
@Override // java.util.Random
public boolean nextBoolean() {
return this.impl.nextBoolean();
}
@Override // java.util.Random
public void nextBytes(byte[] bytes) {
Intrinsics.checkNotNullParameter(bytes, "bytes");
this.impl.nextBytes(bytes);
}
@Override // java.util.Random
public double nextDouble() {
return this.impl.nextDouble();
}
@Override // java.util.Random
public float nextFloat() {
return this.impl.nextFloat();
}
@Override // java.util.Random
public int nextInt() {
return this.impl.nextInt();
}
@Override // java.util.Random
public long nextLong() {
return this.impl.nextLong();
}
@Override // java.util.Random
public void setSeed(long seed) {
if (this.seedInitialized) {
throw new UnsupportedOperationException("Setting seed is not supported.");
}
this.seedInitialized = true;
}
@Override // java.util.Random
public int nextInt(int bound) {
return this.impl.nextInt(bound);
}
}

View File

@@ -0,0 +1,35 @@
package kotlin.random;
import java.io.Serializable;
import kotlin.Metadata;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
@Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\b\u0002\u0018\u0000 \t2\u00020\u00012\u00060\u0002j\u0002`\u0003:\u0001\tB\r\u0012\u0006\u0010\u0004\u001a\u00020\u0005¢\u0006\u0002\u0010\u0006R\u0014\u0010\u0004\u001a\u00020\u0005X\u0096\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0007\u0010\b¨\u0006\n"}, d2 = {"Lkotlin/random/PlatformRandom;", "Lkotlin/random/AbstractPlatformRandom;", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", "impl", "Ljava/util/Random;", "(Ljava/util/Random;)V", "getImpl", "()Ljava/util/Random;", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
/* loaded from: classes3.dex */
final class PlatformRandom extends AbstractPlatformRandom implements Serializable {
private static final Companion Companion = new Companion(null);
private static final long serialVersionUID = 0;
private final java.util.Random impl;
@Metadata(d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\b\u0082\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000¨\u0006\u0005"}, d2 = {"Lkotlin/random/PlatformRandom$Companion;", "", "()V", "serialVersionUID", "", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
/* loaded from: classes3.dex */
public static final class Companion {
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
private Companion() {
}
}
public PlatformRandom(java.util.Random impl) {
Intrinsics.checkNotNullParameter(impl, "impl");
this.impl = impl;
}
@Override // kotlin.random.AbstractPlatformRandom
public java.util.Random getImpl() {
return this.impl;
}
}

View File

@@ -0,0 +1,36 @@
package kotlin.random;
import kotlin.Metadata;
import kotlin.SinceKotlin;
import kotlin.internal.InlineOnly;
import kotlin.internal.PlatformImplementationsKt;
import kotlin.jvm.internal.Intrinsics;
@Metadata(d1 = {"\u0000\u001e\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0006\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\u001a\t\u0010\u0000\u001a\u00020\u0001H\u0081\b\u001a\u0018\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u00052\u0006\u0010\u0006\u001a\u00020\u0005H\u0000\u001a\f\u0010\u0007\u001a\u00020\b*\u00020\u0001H\u0007\u001a\f\u0010\t\u001a\u00020\u0001*\u00020\bH\u0007¨\u0006\n"}, d2 = {"defaultPlatformRandom", "Lkotlin/random/Random;", "doubleFromParts", "", "hi26", "", "low27", "asJavaRandom", "Ljava/util/Random;", "asKotlinRandom", "kotlin-stdlib"}, k = 2, mv = {1, 9, 0}, xi = 48)
/* loaded from: classes3.dex */
public final class PlatformRandomKt {
@SinceKotlin(version = "1.3")
public static final java.util.Random asJavaRandom(Random random) {
java.util.Random impl;
Intrinsics.checkNotNullParameter(random, "<this>");
AbstractPlatformRandom abstractPlatformRandom = random instanceof AbstractPlatformRandom ? (AbstractPlatformRandom) random : null;
return (abstractPlatformRandom == null || (impl = abstractPlatformRandom.getImpl()) == null) ? new KotlinRandom(random) : impl;
}
@SinceKotlin(version = "1.3")
public static final Random asKotlinRandom(java.util.Random random) {
Random impl;
Intrinsics.checkNotNullParameter(random, "<this>");
KotlinRandom kotlinRandom = random instanceof KotlinRandom ? (KotlinRandom) random : null;
return (kotlinRandom == null || (impl = kotlinRandom.getImpl()) == null) ? new PlatformRandom(random) : impl;
}
@InlineOnly
private static final Random defaultPlatformRandom() {
return PlatformImplementationsKt.IMPLEMENTATIONS.defaultPlatformRandom();
}
public static final double doubleFromParts(int i, int i4) {
return ((i << 27) + i4) / 9.007199254740992E15d;
}
}

View File

@@ -0,0 +1,296 @@
package kotlin.random;
import C.w;
import com.google.firebase.messaging.Constants;
import com.google.firebase.remoteconfig.FirebaseRemoteConfig;
import java.io.Serializable;
import kotlin.Metadata;
import kotlin.SinceKotlin;
import kotlin.internal.PlatformImplementationsKt;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.SourceDebugExtension;
import kotlin.ranges.IntRange;
@SinceKotlin(version = "1.3")
@Metadata(d1 = {"\u0000:\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0012\n\u0002\b\u0005\n\u0002\u0010\u0006\n\u0002\b\u0003\n\u0002\u0010\u0007\n\u0002\b\u0002\n\u0002\u0010\t\n\u0002\b\u0002\b'\u0018\u0000 \u00172\u00020\u0001:\u0001\u0017B\u0005¢\u0006\u0002\u0010\u0002J\u0010\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u0004H&J\b\u0010\u0006\u001a\u00020\u0007H\u0016J\u0010\u0010\b\u001a\u00020\t2\u0006\u0010\n\u001a\u00020\tH\u0016J$\u0010\b\u001a\u00020\t2\u0006\u0010\n\u001a\u00020\t2\b\b\u0002\u0010\u000b\u001a\u00020\u00042\b\b\u0002\u0010\f\u001a\u00020\u0004H\u0016J\u0010\u0010\b\u001a\u00020\t2\u0006\u0010\r\u001a\u00020\u0004H\u0016J\b\u0010\u000e\u001a\u00020\u000fH\u0016J\u0010\u0010\u000e\u001a\u00020\u000f2\u0006\u0010\u0010\u001a\u00020\u000fH\u0016J\u0018\u0010\u000e\u001a\u00020\u000f2\u0006\u0010\u0011\u001a\u00020\u000f2\u0006\u0010\u0010\u001a\u00020\u000fH\u0016J\b\u0010\u0012\u001a\u00020\u0013H\u0016J\b\u0010\u0014\u001a\u00020\u0004H\u0016J\u0010\u0010\u0014\u001a\u00020\u00042\u0006\u0010\u0010\u001a\u00020\u0004H\u0016J\u0018\u0010\u0014\u001a\u00020\u00042\u0006\u0010\u0011\u001a\u00020\u00042\u0006\u0010\u0010\u001a\u00020\u0004H\u0016J\b\u0010\u0015\u001a\u00020\u0016H\u0016J\u0010\u0010\u0015\u001a\u00020\u00162\u0006\u0010\u0010\u001a\u00020\u0016H\u0016J\u0018\u0010\u0015\u001a\u00020\u00162\u0006\u0010\u0011\u001a\u00020\u00162\u0006\u0010\u0010\u001a\u00020\u0016H\u0016¨\u0006\u0018"}, d2 = {"Lkotlin/random/Random;", "", "()V", "nextBits", "", "bitCount", "nextBoolean", "", "nextBytes", "", "array", "fromIndex", "toIndex", "size", "nextDouble", "", "until", Constants.MessagePayloadKeys.FROM, "nextFloat", "", "nextInt", "nextLong", "", "Default", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
@SourceDebugExtension({"SMAP\nRandom.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Random.kt\nkotlin/random/Random\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,383:1\n1#2:384\n*E\n"})
/* loaded from: classes3.dex */
public abstract class Random {
/* renamed from: Default, reason: from kotlin metadata */
public static final Companion INSTANCE = new Companion(null);
private static final Random defaultRandom = PlatformImplementationsKt.IMPLEMENTATIONS.defaultPlatformRandom();
@Metadata(d1 = {"\u0000H\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0012\n\u0002\b\u0005\n\u0002\u0010\u0006\n\u0002\b\u0003\n\u0002\u0010\u0007\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0002\b\u0086\u0003\u0018\u00002\u00020\u00012\u00060\u0002j\u0002`\u0003:\u0001\u001cB\u0007\b\u0002¢\u0006\u0002\u0010\u0004J\u0010\u0010\u0006\u001a\u00020\u00072\u0006\u0010\b\u001a\u00020\u0007H\u0016J\b\u0010\t\u001a\u00020\nH\u0016J\u0010\u0010\u000b\u001a\u00020\f2\u0006\u0010\r\u001a\u00020\fH\u0016J \u0010\u000b\u001a\u00020\f2\u0006\u0010\r\u001a\u00020\f2\u0006\u0010\u000e\u001a\u00020\u00072\u0006\u0010\u000f\u001a\u00020\u0007H\u0016J\u0010\u0010\u000b\u001a\u00020\f2\u0006\u0010\u0010\u001a\u00020\u0007H\u0016J\b\u0010\u0011\u001a\u00020\u0012H\u0016J\u0010\u0010\u0011\u001a\u00020\u00122\u0006\u0010\u0013\u001a\u00020\u0012H\u0016J\u0018\u0010\u0011\u001a\u00020\u00122\u0006\u0010\u0014\u001a\u00020\u00122\u0006\u0010\u0013\u001a\u00020\u0012H\u0016J\b\u0010\u0015\u001a\u00020\u0016H\u0016J\b\u0010\u0017\u001a\u00020\u0007H\u0016J\u0010\u0010\u0017\u001a\u00020\u00072\u0006\u0010\u0013\u001a\u00020\u0007H\u0016J\u0018\u0010\u0017\u001a\u00020\u00072\u0006\u0010\u0014\u001a\u00020\u00072\u0006\u0010\u0013\u001a\u00020\u0007H\u0016J\b\u0010\u0018\u001a\u00020\u0019H\u0016J\u0010\u0010\u0018\u001a\u00020\u00192\u0006\u0010\u0013\u001a\u00020\u0019H\u0016J\u0018\u0010\u0018\u001a\u00020\u00192\u0006\u0010\u0014\u001a\u00020\u00192\u0006\u0010\u0013\u001a\u00020\u0019H\u0016J\b\u0010\u001a\u001a\u00020\u001bH\u0002R\u000e\u0010\u0005\u001a\u00020\u0001X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u001d"}, d2 = {"Lkotlin/random/Random$Default;", "Lkotlin/random/Random;", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", "()V", "defaultRandom", "nextBits", "", "bitCount", "nextBoolean", "", "nextBytes", "", "array", "fromIndex", "toIndex", "size", "nextDouble", "", "until", Constants.MessagePayloadKeys.FROM, "nextFloat", "", "nextInt", "nextLong", "", "writeReplace", "", "Serialized", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
/* renamed from: kotlin.random.Random$Default, reason: from kotlin metadata */
/* loaded from: classes3.dex */
public static final class Companion extends Random implements Serializable {
@Metadata(d1 = {"\u0000\u001c\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\n\u0002\u0010\u0000\n\u0000\bÂ\u0002\u0018\u00002\u00060\u0001j\u0002`\u0002B\u0007\b\u0002¢\u0006\u0002\u0010\u0003J\b\u0010\u0006\u001a\u00020\u0007H\u0002R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082T¢\u0006\u0002\n\u0000¨\u0006\b"}, d2 = {"Lkotlin/random/Random$Default$Serialized;", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", "()V", "serialVersionUID", "", "readResolve", "", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
/* renamed from: kotlin.random.Random$Default$Serialized */
/* loaded from: classes3.dex */
public static final class Serialized implements Serializable {
public static final Serialized INSTANCE = new Serialized();
private static final long serialVersionUID = 0;
private Serialized() {
}
private final Object readResolve() {
return Random.INSTANCE;
}
}
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
private final Object writeReplace() {
return Serialized.INSTANCE;
}
@Override // kotlin.random.Random
public int nextBits(int bitCount) {
return Random.defaultRandom.nextBits(bitCount);
}
@Override // kotlin.random.Random
public boolean nextBoolean() {
return Random.defaultRandom.nextBoolean();
}
@Override // kotlin.random.Random
public byte[] nextBytes(byte[] array) {
Intrinsics.checkNotNullParameter(array, "array");
return Random.defaultRandom.nextBytes(array);
}
@Override // kotlin.random.Random
public double nextDouble() {
return Random.defaultRandom.nextDouble();
}
@Override // kotlin.random.Random
public float nextFloat() {
return Random.defaultRandom.nextFloat();
}
@Override // kotlin.random.Random
public int nextInt() {
return Random.defaultRandom.nextInt();
}
@Override // kotlin.random.Random
public long nextLong() {
return Random.defaultRandom.nextLong();
}
private Companion() {
}
@Override // kotlin.random.Random
public byte[] nextBytes(int size) {
return Random.defaultRandom.nextBytes(size);
}
@Override // kotlin.random.Random
public double nextDouble(double until) {
return Random.defaultRandom.nextDouble(until);
}
@Override // kotlin.random.Random
public int nextInt(int until) {
return Random.defaultRandom.nextInt(until);
}
@Override // kotlin.random.Random
public long nextLong(long until) {
return Random.defaultRandom.nextLong(until);
}
@Override // kotlin.random.Random
public byte[] nextBytes(byte[] array, int fromIndex, int toIndex) {
Intrinsics.checkNotNullParameter(array, "array");
return Random.defaultRandom.nextBytes(array, fromIndex, toIndex);
}
@Override // kotlin.random.Random
public double nextDouble(double from, double until) {
return Random.defaultRandom.nextDouble(from, until);
}
@Override // kotlin.random.Random
public int nextInt(int from, int until) {
return Random.defaultRandom.nextInt(from, until);
}
@Override // kotlin.random.Random
public long nextLong(long from, long until) {
return Random.defaultRandom.nextLong(from, until);
}
}
public static /* synthetic */ byte[] nextBytes$default(Random random, byte[] bArr, int i, int i4, int i5, Object obj) {
if (obj != null) {
throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: nextBytes");
}
if ((i5 & 2) != 0) {
i = 0;
}
if ((i5 & 4) != 0) {
i4 = bArr.length;
}
return random.nextBytes(bArr, i, i4);
}
public abstract int nextBits(int bitCount);
public boolean nextBoolean() {
return nextBits(1) != 0;
}
public byte[] nextBytes(byte[] array, int fromIndex, int toIndex) {
Intrinsics.checkNotNullParameter(array, "array");
if (!new IntRange(0, array.length).contains(fromIndex) || !new IntRange(0, array.length).contains(toIndex)) {
StringBuilder sb = new StringBuilder("fromIndex (");
sb.append(fromIndex);
sb.append(") or toIndex (");
sb.append(toIndex);
sb.append(") are out of range: 0..");
throw new IllegalArgumentException(w.p(sb, array.length, '.').toString());
}
if (fromIndex <= toIndex) {
int i = (toIndex - fromIndex) / 4;
for (int i4 = 0; i4 < i; i4++) {
int nextInt = nextInt();
array[fromIndex] = (byte) nextInt;
array[fromIndex + 1] = (byte) (nextInt >>> 8);
array[fromIndex + 2] = (byte) (nextInt >>> 16);
array[fromIndex + 3] = (byte) (nextInt >>> 24);
fromIndex += 4;
}
int i5 = toIndex - fromIndex;
int nextBits = nextBits(i5 * 8);
for (int i6 = 0; i6 < i5; i6++) {
array[fromIndex + i6] = (byte) (nextBits >>> (i6 * 8));
}
return array;
}
throw new IllegalArgumentException(("fromIndex (" + fromIndex + ") must be not greater than toIndex (" + toIndex + ").").toString());
}
public double nextDouble() {
return PlatformRandomKt.doubleFromParts(nextBits(26), nextBits(27));
}
public float nextFloat() {
return nextBits(24) / 1.6777216E7f;
}
public int nextInt() {
return nextBits(32);
}
public long nextLong() {
return (nextInt() << 32) + nextInt();
}
public double nextDouble(double until) {
return nextDouble(FirebaseRemoteConfig.DEFAULT_VALUE_FOR_DOUBLE, until);
}
public int nextInt(int until) {
return nextInt(0, until);
}
public long nextLong(long until) {
return nextLong(0L, until);
}
public double nextDouble(double from, double until) {
double nextDouble;
RandomKt.checkRangeBounds(from, until);
double d4 = until - from;
if (Double.isInfinite(d4) && !Double.isInfinite(from) && !Double.isNaN(from) && !Double.isInfinite(until) && !Double.isNaN(until)) {
double d5 = 2;
double nextDouble2 = ((until / d5) - (from / d5)) * nextDouble();
nextDouble = from + nextDouble2 + nextDouble2;
} else {
nextDouble = from + (nextDouble() * d4);
}
return nextDouble >= until ? Math.nextAfter(until, Double.NEGATIVE_INFINITY) : nextDouble;
}
public int nextInt(int from, int until) {
int nextInt;
int i;
int i4;
RandomKt.checkRangeBounds(from, until);
int i5 = until - from;
if (i5 > 0 || i5 == Integer.MIN_VALUE) {
if (((-i5) & i5) == i5) {
i4 = nextBits(RandomKt.fastLog2(i5));
return from + i4;
}
do {
nextInt = nextInt() >>> 1;
i = nextInt % i5;
} while ((i5 - 1) + (nextInt - i) < 0);
i4 = i;
return from + i4;
}
while (true) {
int nextInt2 = nextInt();
if (from <= nextInt2 && nextInt2 < until) {
return nextInt2;
}
}
}
public long nextLong(long from, long until) {
long nextLong;
long j4;
long j5;
int nextInt;
RandomKt.checkRangeBounds(from, until);
long j6 = until - from;
if (j6 > 0) {
if (((-j6) & j6) == j6) {
int i = (int) j6;
int i4 = (int) (j6 >>> 32);
if (i != 0) {
nextInt = nextBits(RandomKt.fastLog2(i));
} else if (i4 == 1) {
nextInt = nextInt();
} else {
j5 = (nextBits(RandomKt.fastLog2(i4)) << 32) + (nextInt() & 4294967295L);
return from + j5;
}
j5 = nextInt & 4294967295L;
return from + j5;
}
do {
nextLong = nextLong() >>> 1;
j4 = nextLong % j6;
} while ((j6 - 1) + (nextLong - j4) < 0);
j5 = j4;
return from + j5;
}
while (true) {
long nextLong2 = nextLong();
if (from <= nextLong2 && nextLong2 < until) {
return nextLong2;
}
}
}
public byte[] nextBytes(byte[] array) {
Intrinsics.checkNotNullParameter(array, "array");
return nextBytes(array, 0, array.length);
}
public byte[] nextBytes(int size) {
return nextBytes(new byte[size]);
}
}

View File

@@ -0,0 +1,77 @@
package kotlin.random;
import com.google.firebase.messaging.Constants;
import kotlin.Metadata;
import kotlin.SinceKotlin;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.LongCompanionObject;
import kotlin.jvm.internal.SourceDebugExtension;
import kotlin.ranges.IntRange;
import kotlin.ranges.LongRange;
@Metadata(d1 = {"\u0000:\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\u0010\t\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0002\u0010\u0006\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\u001a\u0010\u0010\u0000\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u0003H\u0007\u001a\u0010\u0010\u0000\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u0004H\u0007\u001a\u0018\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\b2\u0006\u0010\t\u001a\u00020\bH\u0000\u001a\u0018\u0010\n\u001a\u00020\u000b2\u0006\u0010\u0007\u001a\u00020\f2\u0006\u0010\t\u001a\u00020\fH\u0000\u001a\u0018\u0010\n\u001a\u00020\u000b2\u0006\u0010\u0007\u001a\u00020\u00032\u0006\u0010\t\u001a\u00020\u0003H\u0000\u001a\u0018\u0010\n\u001a\u00020\u000b2\u0006\u0010\u0007\u001a\u00020\u00042\u0006\u0010\t\u001a\u00020\u0004H\u0000\u001a\u0010\u0010\r\u001a\u00020\u00032\u0006\u0010\u000e\u001a\u00020\u0003H\u0000\u001a\u0014\u0010\u000f\u001a\u00020\u0003*\u00020\u00012\u0006\u0010\u0010\u001a\u00020\u0011H\u0007\u001a\u0014\u0010\u0012\u001a\u00020\u0004*\u00020\u00012\u0006\u0010\u0010\u001a\u00020\u0013H\u0007\u001a\u0014\u0010\u0014\u001a\u00020\u0003*\u00020\u00032\u0006\u0010\u0015\u001a\u00020\u0003H\u0000¨\u0006\u0016"}, d2 = {"Random", "Lkotlin/random/Random;", "seed", "", "", "boundsErrorMessage", "", Constants.MessagePayloadKeys.FROM, "", "until", "checkRangeBounds", "", "", "fastLog2", "value", "nextInt", "range", "Lkotlin/ranges/IntRange;", "nextLong", "Lkotlin/ranges/LongRange;", "takeUpperBits", "bitCount", "kotlin-stdlib"}, k = 2, mv = {1, 9, 0}, xi = 48)
@SourceDebugExtension({"SMAP\nRandom.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Random.kt\nkotlin/random/RandomKt\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,383:1\n1#2:384\n*E\n"})
/* loaded from: classes3.dex */
public final class RandomKt {
@SinceKotlin(version = "1.3")
public static final Random Random(int i) {
return new XorWowRandom(i, i >> 31);
}
public static final String boundsErrorMessage(Object from, Object until) {
Intrinsics.checkNotNullParameter(from, "from");
Intrinsics.checkNotNullParameter(until, "until");
return "Random range is empty: [" + from + ", " + until + ").";
}
public static final void checkRangeBounds(int i, int i4) {
if (i4 <= i) {
throw new IllegalArgumentException(boundsErrorMessage(Integer.valueOf(i), Integer.valueOf(i4)).toString());
}
}
public static final int fastLog2(int i) {
return 31 - Integer.numberOfLeadingZeros(i);
}
@SinceKotlin(version = "1.3")
public static final int nextInt(Random random, IntRange range) {
Intrinsics.checkNotNullParameter(random, "<this>");
Intrinsics.checkNotNullParameter(range, "range");
if (!range.isEmpty()) {
return range.getLast() < Integer.MAX_VALUE ? random.nextInt(range.getFirst(), range.getLast() + 1) : range.getFirst() > Integer.MIN_VALUE ? random.nextInt(range.getFirst() - 1, range.getLast()) + 1 : random.nextInt();
}
throw new IllegalArgumentException("Cannot get random in empty range: " + range);
}
@SinceKotlin(version = "1.3")
public static final long nextLong(Random random, LongRange range) {
Intrinsics.checkNotNullParameter(random, "<this>");
Intrinsics.checkNotNullParameter(range, "range");
if (!range.isEmpty()) {
return range.getLast() < LongCompanionObject.MAX_VALUE ? random.nextLong(range.getFirst(), range.getLast() + 1) : range.getFirst() > Long.MIN_VALUE ? random.nextLong(range.getFirst() - 1, range.getLast()) + 1 : random.nextLong();
}
throw new IllegalArgumentException("Cannot get random in empty range: " + range);
}
public static final int takeUpperBits(int i, int i4) {
return (i >>> (32 - i4)) & ((-i4) >> 31);
}
@SinceKotlin(version = "1.3")
public static final Random Random(long j4) {
return new XorWowRandom((int) j4, (int) (j4 >> 32));
}
public static final void checkRangeBounds(long j4, long j5) {
if (j5 <= j4) {
throw new IllegalArgumentException(boundsErrorMessage(Long.valueOf(j4), Long.valueOf(j5)).toString());
}
}
public static final void checkRangeBounds(double d4, double d5) {
if (d5 <= d4) {
throw new IllegalArgumentException(boundsErrorMessage(Double.valueOf(d4), Double.valueOf(d5)).toString());
}
}
}

View File

@@ -0,0 +1,149 @@
package kotlin.random;
import com.google.firebase.messaging.Constants;
import kotlin.ExperimentalUnsignedTypes;
import kotlin.Metadata;
import kotlin.SinceKotlin;
import kotlin.UByteArray;
import kotlin.UInt;
import kotlin.ULong;
import kotlin.WasExperimental;
import kotlin.jvm.internal.IntCompanionObject;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.SourceDebugExtension;
import kotlin.ranges.UIntRange;
import kotlin.ranges.ULongRange;
@Metadata(d1 = {"\u0000:\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u000f\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0002\b\u0002\u001a\u001f\u0010\u0000\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u0003H\u0000¢\u0006\u0004\b\u0005\u0010\u0006\u001a\u001f\u0010\u0007\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\b2\u0006\u0010\u0004\u001a\u00020\bH\u0000¢\u0006\u0004\b\t\u0010\n\u001a\u0019\u0010\u000b\u001a\u00020\f*\u00020\r2\u0006\u0010\u000e\u001a\u00020\u000fH\u0007¢\u0006\u0002\u0010\u0010\u001a\u001b\u0010\u000b\u001a\u00020\f*\u00020\r2\u0006\u0010\u0011\u001a\u00020\fH\u0007¢\u0006\u0004\b\u0012\u0010\u0013\u001a/\u0010\u000b\u001a\u00020\f*\u00020\r2\u0006\u0010\u0011\u001a\u00020\f2\b\b\u0002\u0010\u0014\u001a\u00020\u000f2\b\b\u0002\u0010\u0015\u001a\u00020\u000fH\u0007¢\u0006\u0004\b\u0016\u0010\u0017\u001a\u0011\u0010\u0018\u001a\u00020\u0003*\u00020\rH\u0007¢\u0006\u0002\u0010\u0019\u001a\u001b\u0010\u0018\u001a\u00020\u0003*\u00020\r2\u0006\u0010\u0004\u001a\u00020\u0003H\u0007¢\u0006\u0004\b\u001a\u0010\u001b\u001a#\u0010\u0018\u001a\u00020\u0003*\u00020\r2\u0006\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u0003H\u0007¢\u0006\u0004\b\u001c\u0010\u001d\u001a\u0019\u0010\u0018\u001a\u00020\u0003*\u00020\r2\u0006\u0010\u001e\u001a\u00020\u001fH\u0007¢\u0006\u0002\u0010 \u001a\u0011\u0010!\u001a\u00020\b*\u00020\rH\u0007¢\u0006\u0002\u0010\"\u001a\u001b\u0010!\u001a\u00020\b*\u00020\r2\u0006\u0010\u0004\u001a\u00020\bH\u0007¢\u0006\u0004\b#\u0010$\u001a#\u0010!\u001a\u00020\b*\u00020\r2\u0006\u0010\u0002\u001a\u00020\b2\u0006\u0010\u0004\u001a\u00020\bH\u0007¢\u0006\u0004\b%\u0010&\u001a\u0019\u0010!\u001a\u00020\b*\u00020\r2\u0006\u0010\u001e\u001a\u00020'H\u0007¢\u0006\u0002\u0010(¨\u0006)"}, d2 = {"checkUIntRangeBounds", "", Constants.MessagePayloadKeys.FROM, "Lkotlin/UInt;", "until", "checkUIntRangeBounds-J1ME1BU", "(II)V", "checkULongRangeBounds", "Lkotlin/ULong;", "checkULongRangeBounds-eb3DHEI", "(JJ)V", "nextUBytes", "Lkotlin/UByteArray;", "Lkotlin/random/Random;", "size", "", "(Lkotlin/random/Random;I)[B", "array", "nextUBytes-EVgfTAA", "(Lkotlin/random/Random;[B)[B", "fromIndex", "toIndex", "nextUBytes-Wvrt4B4", "(Lkotlin/random/Random;[BII)[B", "nextUInt", "(Lkotlin/random/Random;)I", "nextUInt-qCasIEU", "(Lkotlin/random/Random;I)I", "nextUInt-a8DCA5k", "(Lkotlin/random/Random;II)I", "range", "Lkotlin/ranges/UIntRange;", "(Lkotlin/random/Random;Lkotlin/ranges/UIntRange;)I", "nextULong", "(Lkotlin/random/Random;)J", "nextULong-V1Xi4fY", "(Lkotlin/random/Random;J)J", "nextULong-jmpaW-c", "(Lkotlin/random/Random;JJ)J", "Lkotlin/ranges/ULongRange;", "(Lkotlin/random/Random;Lkotlin/ranges/ULongRange;)J", "kotlin-stdlib"}, k = 2, mv = {1, 9, 0}, xi = 48)
@SourceDebugExtension({"SMAP\nURandom.kt\nKotlin\n*S Kotlin\n*F\n+ 1 URandom.kt\nkotlin/random/URandomKt\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,155:1\n1#2:156\n*E\n"})
/* loaded from: classes3.dex */
public final class URandomKt {
/* renamed from: checkUIntRangeBounds-J1ME1BU, reason: not valid java name */
public static final void m1329checkUIntRangeBoundsJ1ME1BU(int i, int i4) {
if (Integer.compareUnsigned(i4, i) <= 0) {
throw new IllegalArgumentException(RandomKt.boundsErrorMessage(UInt.m205boximpl(i), UInt.m205boximpl(i4)).toString());
}
}
/* renamed from: checkULongRangeBounds-eb3DHEI, reason: not valid java name */
public static final void m1330checkULongRangeBoundseb3DHEI(long j4, long j5) {
if (Long.compareUnsigned(j5, j4) <= 0) {
throw new IllegalArgumentException(RandomKt.boundsErrorMessage(ULong.m284boximpl(j4), ULong.m284boximpl(j5)).toString());
}
}
@SinceKotlin(version = "1.3")
@ExperimentalUnsignedTypes
public static final byte[] nextUBytes(Random random, int i) {
Intrinsics.checkNotNullParameter(random, "<this>");
return UByteArray.m187constructorimpl(random.nextBytes(i));
}
@SinceKotlin(version = "1.3")
@ExperimentalUnsignedTypes
/* renamed from: nextUBytes-EVgfTAA, reason: not valid java name */
public static final byte[] m1331nextUBytesEVgfTAA(Random nextUBytes, byte[] array) {
Intrinsics.checkNotNullParameter(nextUBytes, "$this$nextUBytes");
Intrinsics.checkNotNullParameter(array, "array");
nextUBytes.nextBytes(array);
return array;
}
@SinceKotlin(version = "1.3")
@ExperimentalUnsignedTypes
/* renamed from: nextUBytes-Wvrt4B4, reason: not valid java name */
public static final byte[] m1332nextUBytesWvrt4B4(Random nextUBytes, byte[] array, int i, int i4) {
Intrinsics.checkNotNullParameter(nextUBytes, "$this$nextUBytes");
Intrinsics.checkNotNullParameter(array, "array");
nextUBytes.nextBytes(array, i, i4);
return array;
}
/* renamed from: nextUBytes-Wvrt4B4$default, reason: not valid java name */
public static /* synthetic */ byte[] m1333nextUBytesWvrt4B4$default(Random random, byte[] bArr, int i, int i4, int i5, Object obj) {
if ((i5 & 2) != 0) {
i = 0;
}
if ((i5 & 4) != 0) {
i4 = UByteArray.m193getSizeimpl(bArr);
}
return m1332nextUBytesWvrt4B4(random, bArr, i, i4);
}
@SinceKotlin(version = "1.5")
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
public static final int nextUInt(Random random) {
Intrinsics.checkNotNullParameter(random, "<this>");
return UInt.m211constructorimpl(random.nextInt());
}
@SinceKotlin(version = "1.5")
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
/* renamed from: nextUInt-a8DCA5k, reason: not valid java name */
public static final int m1334nextUInta8DCA5k(Random nextUInt, int i, int i4) {
Intrinsics.checkNotNullParameter(nextUInt, "$this$nextUInt");
m1329checkUIntRangeBoundsJ1ME1BU(i, i4);
return UInt.m211constructorimpl(nextUInt.nextInt(i ^ IntCompanionObject.MIN_VALUE, i4 ^ IntCompanionObject.MIN_VALUE) ^ IntCompanionObject.MIN_VALUE);
}
@SinceKotlin(version = "1.5")
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
/* renamed from: nextUInt-qCasIEU, reason: not valid java name */
public static final int m1335nextUIntqCasIEU(Random nextUInt, int i) {
Intrinsics.checkNotNullParameter(nextUInt, "$this$nextUInt");
return m1334nextUInta8DCA5k(nextUInt, 0, i);
}
@SinceKotlin(version = "1.5")
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
public static final long nextULong(Random random) {
Intrinsics.checkNotNullParameter(random, "<this>");
return ULong.m290constructorimpl(random.nextLong());
}
@SinceKotlin(version = "1.5")
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
/* renamed from: nextULong-V1Xi4fY, reason: not valid java name */
public static final long m1336nextULongV1Xi4fY(Random nextULong, long j4) {
Intrinsics.checkNotNullParameter(nextULong, "$this$nextULong");
return m1337nextULongjmpaWc(nextULong, 0L, j4);
}
@SinceKotlin(version = "1.5")
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
/* renamed from: nextULong-jmpaW-c, reason: not valid java name */
public static final long m1337nextULongjmpaWc(Random nextULong, long j4, long j5) {
Intrinsics.checkNotNullParameter(nextULong, "$this$nextULong");
m1330checkULongRangeBoundseb3DHEI(j4, j5);
return ULong.m290constructorimpl(nextULong.nextLong(j4 ^ Long.MIN_VALUE, j5 ^ Long.MIN_VALUE) ^ Long.MIN_VALUE);
}
@SinceKotlin(version = "1.5")
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
public static final int nextUInt(Random random, UIntRange range) {
Intrinsics.checkNotNullParameter(random, "<this>");
Intrinsics.checkNotNullParameter(range, "range");
if (!range.isEmpty()) {
return Integer.compareUnsigned(range.getLast(), -1) < 0 ? m1334nextUInta8DCA5k(random, range.getFirst(), UInt.m211constructorimpl(range.getLast() + 1)) : Integer.compareUnsigned(range.getFirst(), 0) > 0 ? UInt.m211constructorimpl(m1334nextUInta8DCA5k(random, UInt.m211constructorimpl(range.getFirst() - 1), range.getLast()) + 1) : nextUInt(random);
}
throw new IllegalArgumentException("Cannot get random in empty range: " + range);
}
@SinceKotlin(version = "1.5")
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
public static final long nextULong(Random random, ULongRange range) {
Intrinsics.checkNotNullParameter(random, "<this>");
Intrinsics.checkNotNullParameter(range, "range");
if (!range.isEmpty()) {
if (Long.compareUnsigned(range.getLast(), -1L) < 0) {
return m1337nextULongjmpaWc(random, range.getFirst(), ULong.m290constructorimpl(ULong.m290constructorimpl(1 & 4294967295L) + range.getLast()));
}
if (Long.compareUnsigned(range.getFirst(), 0L) <= 0) {
return nextULong(random);
}
long j4 = 1 & 4294967295L;
return ULong.m290constructorimpl(ULong.m290constructorimpl(j4) + m1337nextULongjmpaWc(random, ULong.m290constructorimpl(range.getFirst() - ULong.m290constructorimpl(j4)), range.getLast()));
}
throw new IllegalArgumentException("Cannot get random in empty range: " + range);
}
}

View File

@@ -0,0 +1,72 @@
package kotlin.random;
import com.adif.elcanomovil.widget.DefaultWidgetPayloadHandler;
import java.io.Serializable;
import kotlin.Metadata;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.SourceDebugExtension;
@Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u000e\b\u0000\u0018\u0000 \u00122\u00020\u00012\u00060\u0002j\u0002`\u0003:\u0001\u0012B\u0017\b\u0010\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u0012\u0006\u0010\u0006\u001a\u00020\u0005¢\u0006\u0002\u0010\u0007B7\b\u0000\u0012\u0006\u0010\b\u001a\u00020\u0005\u0012\u0006\u0010\t\u001a\u00020\u0005\u0012\u0006\u0010\n\u001a\u00020\u0005\u0012\u0006\u0010\u000b\u001a\u00020\u0005\u0012\u0006\u0010\f\u001a\u00020\u0005\u0012\u0006\u0010\r\u001a\u00020\u0005¢\u0006\u0002\u0010\u000eJ\u0010\u0010\u000f\u001a\u00020\u00052\u0006\u0010\u0010\u001a\u00020\u0005H\u0016J\b\u0010\u0011\u001a\u00020\u0005H\u0016R\u000e\u0010\r\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\f\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u000b\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\b\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\t\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000¨\u0006\u0013"}, d2 = {"Lkotlin/random/XorWowRandom;", "Lkotlin/random/Random;", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", "seed1", "", "seed2", "(II)V", "x", "y", "z", DefaultWidgetPayloadHandler.IS_WIDGET_JSON_TYPE, "v", "addend", "(IIIIII)V", "nextBits", "bitCount", "nextInt", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
@SourceDebugExtension({"SMAP\nXorWowRandom.kt\nKotlin\n*S Kotlin\n*F\n+ 1 XorWowRandom.kt\nkotlin/random/XorWowRandom\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,60:1\n1#2:61\n*E\n"})
/* loaded from: classes3.dex */
public final class XorWowRandom extends Random implements Serializable {
private static final Companion Companion = new Companion(null);
private static final long serialVersionUID = 0;
private int addend;
private int v;
private int w;
private int x;
private int y;
private int z;
@Metadata(d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\b\u0082\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000¨\u0006\u0005"}, d2 = {"Lkotlin/random/XorWowRandom$Companion;", "", "()V", "serialVersionUID", "", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
/* loaded from: classes3.dex */
public static final class Companion {
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
private Companion() {
}
}
public XorWowRandom(int i, int i4, int i5, int i6, int i7, int i8) {
this.x = i;
this.y = i4;
this.z = i5;
this.w = i6;
this.v = i7;
this.addend = i8;
if ((i | i4 | i5 | i6 | i7) == 0) {
throw new IllegalArgumentException("Initial state must have at least one non-zero element.");
}
for (int i9 = 0; i9 < 64; i9++) {
nextInt();
}
}
@Override // kotlin.random.Random
public int nextBits(int bitCount) {
return RandomKt.takeUpperBits(nextInt(), bitCount);
}
@Override // kotlin.random.Random
public int nextInt() {
int i = this.x;
int i4 = i ^ (i >>> 2);
this.x = this.y;
this.y = this.z;
this.z = this.w;
int i5 = this.v;
this.w = i5;
int i6 = ((i4 ^ (i4 << 1)) ^ i5) ^ (i5 << 4);
this.v = i6;
int i7 = this.addend + 362437;
this.addend = i7;
return i6 + i7;
}
public XorWowRandom(int i, int i4) {
this(i, i4, 0, 0, ~i, (i << 10) ^ (i4 >>> 4));
}
}

View File

@@ -0,0 +1,39 @@
package kotlin.random.jdk8;
import com.google.firebase.messaging.Constants;
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
import kotlin.Metadata;
import kotlin.jvm.internal.Intrinsics;
import kotlin.random.AbstractPlatformRandom;
@Metadata(d1 = {"\u0000*\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0006\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\b\u0000\u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002J\u0010\u0010\u0007\u001a\u00020\b2\u0006\u0010\t\u001a\u00020\bH\u0016J\u0018\u0010\n\u001a\u00020\u000b2\u0006\u0010\f\u001a\u00020\u000b2\u0006\u0010\t\u001a\u00020\u000bH\u0016J\u0010\u0010\r\u001a\u00020\u000e2\u0006\u0010\t\u001a\u00020\u000eH\u0016J\u0018\u0010\r\u001a\u00020\u000e2\u0006\u0010\f\u001a\u00020\u000e2\u0006\u0010\t\u001a\u00020\u000eH\u0016R\u0014\u0010\u0003\u001a\u00020\u00048VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u0005\u0010\u0006¨\u0006\u000f"}, d2 = {"Lkotlin/random/jdk8/PlatformThreadLocalRandom;", "Lkotlin/random/AbstractPlatformRandom;", "()V", "impl", "Ljava/util/Random;", "getImpl", "()Ljava/util/Random;", "nextDouble", "", "until", "nextInt", "", Constants.MessagePayloadKeys.FROM, "nextLong", "", "kotlin-stdlib-jdk8"}, k = 1, mv = {1, 9, 0}, xi = 48)
/* loaded from: classes3.dex */
public final class PlatformThreadLocalRandom extends AbstractPlatformRandom {
@Override // kotlin.random.AbstractPlatformRandom
public Random getImpl() {
ThreadLocalRandom current = ThreadLocalRandom.current();
Intrinsics.checkNotNullExpressionValue(current, "current(...)");
return current;
}
@Override // kotlin.random.Random
public double nextDouble(double until) {
return ThreadLocalRandom.current().nextDouble(until);
}
@Override // kotlin.random.Random
public int nextInt(int from, int until) {
return ThreadLocalRandom.current().nextInt(from, until);
}
@Override // kotlin.random.Random
public long nextLong(long until) {
return ThreadLocalRandom.current().nextLong(until);
}
@Override // kotlin.random.Random
public long nextLong(long from, long until) {
return ThreadLocalRandom.current().nextLong(from, until);
}
}