soul-browser/sources/java/kotlin/ranges/RangesKt___RangesKt.java
KaKi87 550ddb0413
Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1)
* Decompile and recreate Soul Browser v1.4.85 with APK CI builds

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix CI build: include bundled google.jks and remove PR trigger

The apktool build failed in CI because app/unknown/.../google.jks was
excluded by the *.jks gitignore rule. Whitelist app-bundled JKS files
and commit the missing resource.

Also remove the redundant pull_request workflow trigger.

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Change package ID to com.github.kaki87.soulbrowser

Rename the application ID so the rebuilt APK can be installed
alongside the original Soul Browser from Google Play.

- Update AndroidManifest package, permissions, providers, and actions
- Update R class references in smali (com/github/kaki87/soulbrowser/R)
- Update shortcuts.xml targetPackage
- Rename app label to "Soul Rebuild" for easy identification

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix install compatibility: remove split APK metadata and bundle native libs

The rebuilt APK still declared requiredSplitTypes and Play Store split
metadata, causing Android to reject standalone installs as incompatible.

- Remove requiredSplitTypes and split-related manifest meta-data
- Merge native libs from all ABI splits with uncompressed storage
- Page-align before signing for extractNativeLibs=false
- Add .so to apktool doNotCompress list

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix install failure: use apksigner v2/v3 and bundle arm64 native libs

Target SDK 36 requires APK Signature Scheme v2+, but jarsigner only
produces v1 signatures, causing Android to reject the install.

- Sign with apksigner (v1+v2+v3) instead of jarsigner
- Add arm64-v8a native libraries from universal Soul Browser 1.4.79
- Set extractNativeLibs=true for reliable sideload installs
- Commit stable debug keystore for consistent signatures across builds

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Add committed debug keystore for consistent APK signatures

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix startup crash: use original classes2.dex desugar libraries

Apktool recompiles smali_classes2 into a broken classes2.dex, causing
ClassNotFoundException for j$.com.android.tools.r8.a at ML Kit init.

Inject the original classes2.dex (Java 8+ desugar libs) after apktool
build instead of using the recompiled version.

Co-authored-by: KaKi87 <KaKi87@pm.me>

* Fix missing drawable resources from density split APKs

The base APK is an app bundle module; density-specific drawables like
seek_thumb_nor_b live in config.xhdpi.apk and were missing after rebuild,
causing Resources$NotFoundException at runtime.

- Merge non-9-patch resources from split APKs before apktool build
- Sync public.xml IDs from R smali only when backing files exist
- Add 713 density-specific resource IDs to public.xml

Co-authored-by: KaKi87 <KaKi87@pm.me>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-08-10 16:07:14 +02:00

1238 lines
67 KiB
Java

package kotlin.ranges;
import android.support.v4.media.session.PlaybackStateCompat;
import com.google.android.gms.ads.RequestConfiguration;
import java.util.NoSuchElementException;
import kotlin.Deprecated;
import kotlin.DeprecatedSinceKotlin;
import kotlin.ExperimentalStdlibApi;
import kotlin.Metadata;
import kotlin.SinceKotlin;
import kotlin.WasExperimental;
import kotlin.internal.InlineOnly;
import kotlin.jvm.JvmName;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.SourceDebugExtension;
import kotlin.random.Random;
import kotlin.random.RandomKt;
import kotlin.ranges.CharProgression;
import kotlin.ranges.IntProgression;
import kotlin.ranges.LongProgression;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/* JADX INFO: Access modifiers changed from: package-private */
@Metadata(d1 = {"\u0000r\n\u0000\n\u0002\u0010\b\n\u0002\u0018\u0002\n\u0002\u0010\t\n\u0002\u0018\u0002\n\u0002\u0010\f\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\b\n\u0002\u0010\u000b\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0005\n\u0002\b\u0002\n\u0002\u0010\n\n\u0000\n\u0002\u0010\u0006\n\u0000\n\u0002\u0010\u0007\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u001a\n\u0002\u0010\u000f\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0002\b\u0003\u001a\f\u0010\u0000\u001a\u00020\u0001*\u00020\u0002H\u0007\u001a\f\u0010\u0000\u001a\u00020\u0003*\u00020\u0004H\u0007\u001a\f\u0010\u0000\u001a\u00020\u0005*\u00020\u0006H\u0007\u001a\u0013\u0010\u0007\u001a\u0004\u0018\u00010\u0001*\u00020\u0002H\u0007¢\u0006\u0002\u0010\b\u001a\u0013\u0010\u0007\u001a\u0004\u0018\u00010\u0003*\u00020\u0004H\u0007¢\u0006\u0002\u0010\t\u001a\u0013\u0010\u0007\u001a\u0004\u0018\u00010\u0005*\u00020\u0006H\u0007¢\u0006\u0002\u0010\n\u001a\f\u0010\u000b\u001a\u00020\u0001*\u00020\u0002H\u0007\u001a\f\u0010\u000b\u001a\u00020\u0003*\u00020\u0004H\u0007\u001a\f\u0010\u000b\u001a\u00020\u0005*\u00020\u0006H\u0007\u001a\u0013\u0010\f\u001a\u0004\u0018\u00010\u0001*\u00020\u0002H\u0007¢\u0006\u0002\u0010\b\u001a\u0013\u0010\f\u001a\u0004\u0018\u00010\u0003*\u00020\u0004H\u0007¢\u0006\u0002\u0010\t\u001a\u0013\u0010\f\u001a\u0004\u0018\u00010\u0005*\u00020\u0006H\u0007¢\u0006\u0002\u0010\n\u001a\r\u0010\r\u001a\u00020\u0001*\u00020\u000eH\u0087\b\u001a\r\u0010\r\u001a\u00020\u0003*\u00020\u000fH\u0087\b\u001a\r\u0010\r\u001a\u00020\u0005*\u00020\u0010H\u0087\b\u001a\u0014\u0010\r\u001a\u00020\u0001*\u00020\u000e2\u0006\u0010\r\u001a\u00020\u0011H\u0007\u001a\u0014\u0010\r\u001a\u00020\u0003*\u00020\u000f2\u0006\u0010\r\u001a\u00020\u0011H\u0007\u001a\u0014\u0010\r\u001a\u00020\u0005*\u00020\u00102\u0006\u0010\r\u001a\u00020\u0011H\u0007\u001a\u0014\u0010\u0012\u001a\u0004\u0018\u00010\u0001*\u00020\u000eH\u0087\\u0006\u0002\u0010\u0013\u001a\u0014\u0010\u0012\u001a\u0004\u0018\u00010\u0003*\u00020\u000fH\u0087\\u0006\u0002\u0010\u0014\u001a\u0014\u0010\u0012\u001a\u0004\u0018\u00010\u0005*\u00020\u0010H\u0087\\u0006\u0002\u0010\u0015\u001a\u001b\u0010\u0012\u001a\u0004\u0018\u00010\u0001*\u00020\u000e2\u0006\u0010\r\u001a\u00020\u0011H\u0007¢\u0006\u0002\u0010\u0016\u001a\u001b\u0010\u0012\u001a\u0004\u0018\u00010\u0003*\u00020\u000f2\u0006\u0010\r\u001a\u00020\u0011H\u0007¢\u0006\u0002\u0010\u0017\u001a\u001b\u0010\u0012\u001a\u0004\u0018\u00010\u0005*\u00020\u00102\u0006\u0010\r\u001a\u00020\u0011H\u0007¢\u0006\u0002\u0010\u0018\u001a\u001c\u0010\u0019\u001a\u00020\u001a*\u00020\u000e2\b\u0010\u001b\u001a\u0004\u0018\u00010\u0001H\u0087\\u0006\u0002\u0010\u001c\u001a\u001c\u0010\u0019\u001a\u00020\u001a*\u00020\u000f2\b\u0010\u001b\u001a\u0004\u0018\u00010\u0003H\u0087\\u0006\u0002\u0010\u001d\u001a\u001c\u0010\u0019\u001a\u00020\u001a*\u00020\u00102\b\u0010\u001b\u001a\u0004\u0018\u00010\u0005H\u0087\\u0006\u0002\u0010\u001e\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020\u00010\u001f2\u0006\u0010 \u001a\u00020!H\u0087\u0002¢\u0006\u0002\b\"\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020\u00030\u001f2\u0006\u0010 \u001a\u00020!H\u0087\u0002¢\u0006\u0002\b#\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020$0\u001f2\u0006\u0010 \u001a\u00020!H\u0087\u0002¢\u0006\u0002\b%\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020&0\u001f2\u0006\u0010 \u001a\u00020!H\u0087\u0002¢\u0006\u0002\b'\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020(0\u001f2\u0006\u0010 \u001a\u00020!H\u0087\u0002¢\u0006\u0002\b)\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020\u00010*2\u0006\u0010 \u001a\u00020!H\u0087\u0002¢\u0006\u0002\b\"\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020\u00030*2\u0006\u0010 \u001a\u00020!H\u0087\u0002¢\u0006\u0002\b#\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020$0*2\u0006\u0010 \u001a\u00020!H\u0087\u0002¢\u0006\u0002\b%\u001a\u0015\u0010\u0019\u001a\u00020\u001a*\u00020\u000e2\u0006\u0010 \u001a\u00020!H\u0087\n\u001a\u0015\u0010\u0019\u001a\u00020\u001a*\u00020\u000f2\u0006\u0010 \u001a\u00020!H\u0087\n\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020\u00010\u001f2\u0006\u0010 \u001a\u00020&H\u0087\u0002¢\u0006\u0002\b\"\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020\u00030\u001f2\u0006\u0010 \u001a\u00020&H\u0087\u0002¢\u0006\u0002\b#\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020!0\u001f2\u0006\u0010 \u001a\u00020&H\u0087\u0002¢\u0006\u0002\b+\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020$0\u001f2\u0006\u0010 \u001a\u00020&H\u0087\u0002¢\u0006\u0002\b%\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020(0\u001f2\u0006\u0010 \u001a\u00020&H\u0087\u0002¢\u0006\u0002\b)\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020\u00010\u001f2\u0006\u0010 \u001a\u00020(H\u0087\u0002¢\u0006\u0002\b\"\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020\u00030\u001f2\u0006\u0010 \u001a\u00020(H\u0087\u0002¢\u0006\u0002\b#\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020!0\u001f2\u0006\u0010 \u001a\u00020(H\u0087\u0002¢\u0006\u0002\b+\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020$0\u001f2\u0006\u0010 \u001a\u00020(H\u0087\u0002¢\u0006\u0002\b%\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020&0\u001f2\u0006\u0010 \u001a\u00020(H\u0087\u0002¢\u0006\u0002\b'\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020&0*2\u0006\u0010 \u001a\u00020(H\u0087\u0002¢\u0006\u0002\b'\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020\u00030\u001f2\u0006\u0010 \u001a\u00020\u0001H\u0087\u0002¢\u0006\u0002\b#\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020!0\u001f2\u0006\u0010 \u001a\u00020\u0001H\u0087\u0002¢\u0006\u0002\b+\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020$0\u001f2\u0006\u0010 \u001a\u00020\u0001H\u0087\u0002¢\u0006\u0002\b%\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020&0\u001f2\u0006\u0010 \u001a\u00020\u0001H\u0087\u0002¢\u0006\u0002\b'\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020(0\u001f2\u0006\u0010 \u001a\u00020\u0001H\u0087\u0002¢\u0006\u0002\b)\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020\u00030*2\u0006\u0010 \u001a\u00020\u0001H\u0087\u0002¢\u0006\u0002\b#\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020!0*2\u0006\u0010 \u001a\u00020\u0001H\u0087\u0002¢\u0006\u0002\b+\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020$0*2\u0006\u0010 \u001a\u00020\u0001H\u0087\u0002¢\u0006\u0002\b%\u001a\u0015\u0010\u0019\u001a\u00020\u001a*\u00020\u000f2\u0006\u0010 \u001a\u00020\u0001H\u0087\n\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020\u00010\u001f2\u0006\u0010 \u001a\u00020\u0003H\u0087\u0002¢\u0006\u0002\b\"\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020!0\u001f2\u0006\u0010 \u001a\u00020\u0003H\u0087\u0002¢\u0006\u0002\b+\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020$0\u001f2\u0006\u0010 \u001a\u00020\u0003H\u0087\u0002¢\u0006\u0002\b%\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020&0\u001f2\u0006\u0010 \u001a\u00020\u0003H\u0087\u0002¢\u0006\u0002\b'\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020(0\u001f2\u0006\u0010 \u001a\u00020\u0003H\u0087\u0002¢\u0006\u0002\b)\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020\u00010*2\u0006\u0010 \u001a\u00020\u0003H\u0087\u0002¢\u0006\u0002\b\"\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020!0*2\u0006\u0010 \u001a\u00020\u0003H\u0087\u0002¢\u0006\u0002\b+\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020$0*2\u0006\u0010 \u001a\u00020\u0003H\u0087\u0002¢\u0006\u0002\b%\u001a\u0015\u0010\u0019\u001a\u00020\u001a*\u00020\u000e2\u0006\u0010 \u001a\u00020\u0003H\u0087\n\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020\u00010\u001f2\u0006\u0010 \u001a\u00020$H\u0087\u0002¢\u0006\u0002\b\"\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020\u00030\u001f2\u0006\u0010 \u001a\u00020$H\u0087\u0002¢\u0006\u0002\b#\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020!0\u001f2\u0006\u0010 \u001a\u00020$H\u0087\u0002¢\u0006\u0002\b+\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020&0\u001f2\u0006\u0010 \u001a\u00020$H\u0087\u0002¢\u0006\u0002\b'\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020(0\u001f2\u0006\u0010 \u001a\u00020$H\u0087\u0002¢\u0006\u0002\b)\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020\u00010*2\u0006\u0010 \u001a\u00020$H\u0087\u0002¢\u0006\u0002\b\"\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020\u00030*2\u0006\u0010 \u001a\u00020$H\u0087\u0002¢\u0006\u0002\b#\u001a \u0010\u0019\u001a\u00020\u001a*\b\u0012\u0004\u0012\u00020!0*2\u0006\u0010 \u001a\u00020$H\u0087\u0002¢\u0006\u0002\b+\u001a\u0015\u0010\u0019\u001a\u00020\u001a*\u00020\u000e2\u0006\u0010 \u001a\u00020$H\u0087\n\u001a\u0015\u0010\u0019\u001a\u00020\u001a*\u00020\u000f2\u0006\u0010 \u001a\u00020$H\u0087\n\u001a\u0015\u0010,\u001a\u00020\u0002*\u00020\u00012\u0006\u0010-\u001a\u00020!H\u0086\u0004\u001a\u0015\u0010,\u001a\u00020\u0004*\u00020\u00032\u0006\u0010-\u001a\u00020!H\u0086\u0004\u001a\u0015\u0010,\u001a\u00020\u0002*\u00020!2\u0006\u0010-\u001a\u00020!H\u0086\u0004\u001a\u0015\u0010,\u001a\u00020\u0002*\u00020$2\u0006\u0010-\u001a\u00020!H\u0086\u0004\u001a\u0015\u0010,\u001a\u00020\u0006*\u00020\u00052\u0006\u0010-\u001a\u00020\u0005H\u0086\u0004\u001a\u0015\u0010,\u001a\u00020\u0002*\u00020\u00012\u0006\u0010-\u001a\u00020\u0001H\u0086\u0004\u001a\u0015\u0010,\u001a\u00020\u0004*\u00020\u00032\u0006\u0010-\u001a\u00020\u0001H\u0086\u0004\u001a\u0015\u0010,\u001a\u00020\u0002*\u00020!2\u0006\u0010-\u001a\u00020\u0001H\u0086\u0004\u001a\u0015\u0010,\u001a\u00020\u0002*\u00020$2\u0006\u0010-\u001a\u00020\u0001H\u0086\u0004\u001a\u0015\u0010,\u001a\u00020\u0004*\u00020\u00012\u0006\u0010-\u001a\u00020\u0003H\u0086\u0004\u001a\u0015\u0010,\u001a\u00020\u0004*\u00020\u00032\u0006\u0010-\u001a\u00020\u0003H\u0086\u0004\u001a\u0015\u0010,\u001a\u00020\u0004*\u00020!2\u0006\u0010-\u001a\u00020\u0003H\u0086\u0004\u001a\u0015\u0010,\u001a\u00020\u0004*\u00020$2\u0006\u0010-\u001a\u00020\u0003H\u0086\u0004\u001a\u0015\u0010,\u001a\u00020\u0002*\u00020\u00012\u0006\u0010-\u001a\u00020$H\u0086\u0004\u001a\u0015\u0010,\u001a\u00020\u0004*\u00020\u00032\u0006\u0010-\u001a\u00020$H\u0086\u0004\u001a\u0015\u0010,\u001a\u00020\u0002*\u00020!2\u0006\u0010-\u001a\u00020$H\u0086\u0004\u001a\u0015\u0010,\u001a\u00020\u0002*\u00020$2\u0006\u0010-\u001a\u00020$H\u0086\u0004\u001a\n\u0010.\u001a\u00020\u0002*\u00020\u0002\u001a\n\u0010.\u001a\u00020\u0004*\u00020\u0004\u001a\n\u0010.\u001a\u00020\u0006*\u00020\u0006\u001a\u0015\u0010/\u001a\u00020\u0002*\u00020\u00022\u0006\u0010/\u001a\u00020\u0001H\u0086\u0004\u001a\u0015\u0010/\u001a\u00020\u0004*\u00020\u00042\u0006\u0010/\u001a\u00020\u0003H\u0086\u0004\u001a\u0015\u0010/\u001a\u00020\u0006*\u00020\u00062\u0006\u0010/\u001a\u00020\u0001H\u0086\u0004\u001a\u0013\u00100\u001a\u0004\u0018\u00010!*\u00020\u0001H\u0000¢\u0006\u0002\u00101\u001a\u0013\u00100\u001a\u0004\u0018\u00010!*\u00020\u0003H\u0000¢\u0006\u0002\u00102\u001a\u0013\u00100\u001a\u0004\u0018\u00010!*\u00020$H\u0000¢\u0006\u0002\u00103\u001a\u0013\u00100\u001a\u0004\u0018\u00010!*\u00020&H\u0000¢\u0006\u0002\u00104\u001a\u0013\u00100\u001a\u0004\u0018\u00010!*\u00020(H\u0000¢\u0006\u0002\u00105\u001a\u0013\u00106\u001a\u0004\u0018\u00010\u0001*\u00020\u0003H\u0000¢\u0006\u0002\u00107\u001a\u0013\u00106\u001a\u0004\u0018\u00010\u0001*\u00020&H\u0000¢\u0006\u0002\u00108\u001a\u0013\u00106\u001a\u0004\u0018\u00010\u0001*\u00020(H\u0000¢\u0006\u0002\u00109\u001a\u0013\u0010:\u001a\u0004\u0018\u00010\u0003*\u00020&H\u0000¢\u0006\u0002\u0010;\u001a\u0013\u0010:\u001a\u0004\u0018\u00010\u0003*\u00020(H\u0000¢\u0006\u0002\u0010<\u001a\u0013\u0010=\u001a\u0004\u0018\u00010$*\u00020\u0001H\u0000¢\u0006\u0002\u0010>\u001a\u0013\u0010=\u001a\u0004\u0018\u00010$*\u00020\u0003H\u0000¢\u0006\u0002\u0010?\u001a\u0013\u0010=\u001a\u0004\u0018\u00010$*\u00020&H\u0000¢\u0006\u0002\u0010@\u001a\u0013\u0010=\u001a\u0004\u0018\u00010$*\u00020(H\u0000¢\u0006\u0002\u0010A\u001a\u0015\u0010B\u001a\u00020\u000e*\u00020\u00012\u0006\u0010-\u001a\u00020!H\u0086\u0004\u001a\u0015\u0010B\u001a\u00020\u000f*\u00020\u00032\u0006\u0010-\u001a\u00020!H\u0086\u0004\u001a\u0015\u0010B\u001a\u00020\u000e*\u00020!2\u0006\u0010-\u001a\u00020!H\u0086\u0004\u001a\u0015\u0010B\u001a\u00020\u000e*\u00020$2\u0006\u0010-\u001a\u00020!H\u0086\u0004\u001a\u0015\u0010B\u001a\u00020\u0010*\u00020\u00052\u0006\u0010-\u001a\u00020\u0005H\u0086\u0004\u001a\u0015\u0010B\u001a\u00020\u000e*\u00020\u00012\u0006\u0010-\u001a\u00020\u0001H\u0086\u0004\u001a\u0015\u0010B\u001a\u00020\u000f*\u00020\u00032\u0006\u0010-\u001a\u00020\u0001H\u0086\u0004\u001a\u0015\u0010B\u001a\u00020\u000e*\u00020!2\u0006\u0010-\u001a\u00020\u0001H\u0086\u0004\u001a\u0015\u0010B\u001a\u00020\u000e*\u00020$2\u0006\u0010-\u001a\u00020\u0001H\u0086\u0004\u001a\u0015\u0010B\u001a\u00020\u000f*\u00020\u00012\u0006\u0010-\u001a\u00020\u0003H\u0086\u0004\u001a\u0015\u0010B\u001a\u00020\u000f*\u00020\u00032\u0006\u0010-\u001a\u00020\u0003H\u0086\u0004\u001a\u0015\u0010B\u001a\u00020\u000f*\u00020!2\u0006\u0010-\u001a\u00020\u0003H\u0086\u0004\u001a\u0015\u0010B\u001a\u00020\u000f*\u00020$2\u0006\u0010-\u001a\u00020\u0003H\u0086\u0004\u001a\u0015\u0010B\u001a\u00020\u000e*\u00020\u00012\u0006\u0010-\u001a\u00020$H\u0086\u0004\u001a\u0015\u0010B\u001a\u00020\u000f*\u00020\u00032\u0006\u0010-\u001a\u00020$H\u0086\u0004\u001a\u0015\u0010B\u001a\u00020\u000e*\u00020!2\u0006\u0010-\u001a\u00020$H\u0086\u0004\u001a\u0015\u0010B\u001a\u00020\u000e*\u00020$2\u0006\u0010-\u001a\u00020$H\u0086\u0004\u001a'\u0010C\u001a\u0002HD\"\u000e\b\u0000\u0010D*\b\u0012\u0004\u0012\u0002HD0E*\u0002HD2\u0006\u0010F\u001a\u0002HD¢\u0006\u0002\u0010G\u001a\u0012\u0010C\u001a\u00020!*\u00020!2\u0006\u0010F\u001a\u00020!\u001a\u0012\u0010C\u001a\u00020$*\u00020$2\u0006\u0010F\u001a\u00020$\u001a\u0012\u0010C\u001a\u00020\u0001*\u00020\u00012\u0006\u0010F\u001a\u00020\u0001\u001a\u0012\u0010C\u001a\u00020\u0003*\u00020\u00032\u0006\u0010F\u001a\u00020\u0003\u001a\u0012\u0010C\u001a\u00020(*\u00020(2\u0006\u0010F\u001a\u00020(\u001a\u0012\u0010C\u001a\u00020&*\u00020&2\u0006\u0010F\u001a\u00020&\u001a'\u0010H\u001a\u0002HD\"\u000e\b\u0000\u0010D*\b\u0012\u0004\u0012\u0002HD0E*\u0002HD2\u0006\u0010I\u001a\u0002HD¢\u0006\u0002\u0010G\u001a\u0012\u0010H\u001a\u00020!*\u00020!2\u0006\u0010I\u001a\u00020!\u001a\u0012\u0010H\u001a\u00020$*\u00020$2\u0006\u0010I\u001a\u00020$\u001a\u0012\u0010H\u001a\u00020\u0001*\u00020\u00012\u0006\u0010I\u001a\u00020\u0001\u001a\u0012\u0010H\u001a\u00020\u0003*\u00020\u00032\u0006\u0010I\u001a\u00020\u0003\u001a\u0012\u0010H\u001a\u00020(*\u00020(2\u0006\u0010I\u001a\u00020(\u001a\u0012\u0010H\u001a\u00020&*\u00020&2\u0006\u0010I\u001a\u00020&\u001a3\u0010J\u001a\u0002HD\"\u000e\b\u0000\u0010D*\b\u0012\u0004\u0012\u0002HD0E*\u0002HD2\b\u0010F\u001a\u0004\u0018\u0001HD2\b\u0010I\u001a\u0004\u0018\u0001HD¢\u0006\u0002\u0010K\u001a\u001a\u0010J\u001a\u00020!*\u00020!2\u0006\u0010F\u001a\u00020!2\u0006\u0010I\u001a\u00020!\u001a\u001a\u0010J\u001a\u00020$*\u00020$2\u0006\u0010F\u001a\u00020$2\u0006\u0010I\u001a\u00020$\u001a\u001a\u0010J\u001a\u00020\u0001*\u00020\u00012\u0006\u0010F\u001a\u00020\u00012\u0006\u0010I\u001a\u00020\u0001\u001a\u001a\u0010J\u001a\u00020\u0003*\u00020\u00032\u0006\u0010F\u001a\u00020\u00032\u0006\u0010I\u001a\u00020\u0003\u001a\u001a\u0010J\u001a\u00020(*\u00020(2\u0006\u0010F\u001a\u00020(2\u0006\u0010I\u001a\u00020(\u001a\u001a\u0010J\u001a\u00020&*\u00020&2\u0006\u0010F\u001a\u00020&2\u0006\u0010I\u001a\u00020&\u001a/\u0010J\u001a\u0002HD\"\u000e\b\u0000\u0010D*\b\u0012\u0004\u0012\u0002HD0E*\u0002HD2\f\u0010L\u001a\b\u0012\u0004\u0012\u0002HD0MH\u0007¢\u0006\u0002\u0010N\u001a-\u0010J\u001a\u0002HD\"\u000e\b\u0000\u0010D*\b\u0012\u0004\u0012\u0002HD0E*\u0002HD2\f\u0010L\u001a\b\u0012\u0004\u0012\u0002HD0\u001f¢\u0006\u0002\u0010O\u001a\u0018\u0010J\u001a\u00020\u0001*\u00020\u00012\f\u0010L\u001a\b\u0012\u0004\u0012\u00020\u00010\u001f\u001a\u0018\u0010J\u001a\u00020\u0003*\u00020\u00032\f\u0010L\u001a\b\u0012\u0004\u0012\u00020\u00030\u001f¨\u0006P"}, d2 = {"first", RequestConfiguration.MAX_AD_CONTENT_RATING_UNSPECIFIED, "Lkotlin/ranges/IntProgression;", RequestConfiguration.MAX_AD_CONTENT_RATING_UNSPECIFIED, "Lkotlin/ranges/LongProgression;", RequestConfiguration.MAX_AD_CONTENT_RATING_UNSPECIFIED, "Lkotlin/ranges/CharProgression;", "firstOrNull", "(Lkotlin/ranges/IntProgression;)Ljava/lang/Integer;", "(Lkotlin/ranges/LongProgression;)Ljava/lang/Long;", "(Lkotlin/ranges/CharProgression;)Ljava/lang/Character;", "last", "lastOrNull", "random", "Lkotlin/ranges/IntRange;", "Lkotlin/ranges/LongRange;", "Lkotlin/ranges/CharRange;", "Lkotlin/random/Random;", "randomOrNull", "(Lkotlin/ranges/IntRange;)Ljava/lang/Integer;", "(Lkotlin/ranges/LongRange;)Ljava/lang/Long;", "(Lkotlin/ranges/CharRange;)Ljava/lang/Character;", "(Lkotlin/ranges/IntRange;Lkotlin/random/Random;)Ljava/lang/Integer;", "(Lkotlin/ranges/LongRange;Lkotlin/random/Random;)Ljava/lang/Long;", "(Lkotlin/ranges/CharRange;Lkotlin/random/Random;)Ljava/lang/Character;", "contains", RequestConfiguration.MAX_AD_CONTENT_RATING_UNSPECIFIED, "element", "(Lkotlin/ranges/IntRange;Ljava/lang/Integer;)Z", "(Lkotlin/ranges/LongRange;Ljava/lang/Long;)Z", "(Lkotlin/ranges/CharRange;Ljava/lang/Character;)Z", "Lkotlin/ranges/ClosedRange;", "value", RequestConfiguration.MAX_AD_CONTENT_RATING_UNSPECIFIED, "intRangeContains", "longRangeContains", RequestConfiguration.MAX_AD_CONTENT_RATING_UNSPECIFIED, "shortRangeContains", RequestConfiguration.MAX_AD_CONTENT_RATING_UNSPECIFIED, "doubleRangeContains", RequestConfiguration.MAX_AD_CONTENT_RATING_UNSPECIFIED, "floatRangeContains", "Lkotlin/ranges/OpenEndRange;", "byteRangeContains", "downTo", "to", "reversed", "step", "toByteExactOrNull", "(I)Ljava/lang/Byte;", "(J)Ljava/lang/Byte;", "(S)Ljava/lang/Byte;", "(D)Ljava/lang/Byte;", "(F)Ljava/lang/Byte;", "toIntExactOrNull", "(J)Ljava/lang/Integer;", "(D)Ljava/lang/Integer;", "(F)Ljava/lang/Integer;", "toLongExactOrNull", "(D)Ljava/lang/Long;", "(F)Ljava/lang/Long;", "toShortExactOrNull", "(I)Ljava/lang/Short;", "(J)Ljava/lang/Short;", "(D)Ljava/lang/Short;", "(F)Ljava/lang/Short;", "until", "coerceAtLeast", RequestConfiguration.MAX_AD_CONTENT_RATING_T, RequestConfiguration.MAX_AD_CONTENT_RATING_UNSPECIFIED, "minimumValue", "(Ljava/lang/Comparable;Ljava/lang/Comparable;)Ljava/lang/Comparable;", "coerceAtMost", "maximumValue", "coerceIn", "(Ljava/lang/Comparable;Ljava/lang/Comparable;Ljava/lang/Comparable;)Ljava/lang/Comparable;", "range", "Lkotlin/ranges/ClosedFloatingPointRange;", "(Ljava/lang/Comparable;Lkotlin/ranges/ClosedFloatingPointRange;)Ljava/lang/Comparable;", "(Ljava/lang/Comparable;Lkotlin/ranges/ClosedRange;)Ljava/lang/Comparable;", "kotlin-stdlib"}, k = 5, mv = {2, 2, 0}, xi = 49, xs = "kotlin/ranges/RangesKt")
@SourceDebugExtension({"SMAP\n_Ranges.kt\nKotlin\n*S Kotlin\n*F\n+ 1 _Ranges.kt\nkotlin/ranges/RangesKt___RangesKt\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,1572:1\n1#2:1573\n*E\n"})
/* loaded from: classes4.dex */
public class RangesKt___RangesKt extends RangesKt__RangesKt {
@Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.")
@DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3")
@JvmName(name = "byteRangeContains")
public static final /* synthetic */ boolean byteRangeContains(ClosedRange closedRange, double d) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
Byte byteExactOrNull = toByteExactOrNull(d);
if (byteExactOrNull != null) {
return closedRange.contains(byteExactOrNull);
}
return false;
}
public static final byte coerceAtLeast(byte b, byte b2) {
return b < b2 ? b2 : b;
}
public static final byte coerceAtMost(byte b, byte b2) {
return b > b2 ? b2 : b;
}
@NotNull
public static final <T extends Comparable<? super T>> T coerceIn(@NotNull T t, @Nullable T t2, @Nullable T t3) {
Intrinsics.checkNotNullParameter(t, "<this>");
if (t2 != null && t3 != null) {
if (t2.compareTo(t3) <= 0) {
if (t.compareTo(t2) < 0) {
return t2;
}
if (t.compareTo(t3) > 0) {
return t3;
}
} else {
throw new IllegalArgumentException("Cannot coerce value to an empty range: maximum " + t3 + " is less than minimum " + t2 + '.');
}
} else {
if (t2 != null && t.compareTo(t2) < 0) {
return t2;
}
if (t3 != null && t.compareTo(t3) > 0) {
return t3;
}
}
return t;
}
@SinceKotlin(version = "1.3")
@InlineOnly
private static final boolean contains(IntRange intRange, Integer num) {
Intrinsics.checkNotNullParameter(intRange, "<this>");
return num != null && intRange.contains(num.intValue());
}
@Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.")
@DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3")
@JvmName(name = "doubleRangeContains")
public static final /* synthetic */ boolean doubleRangeContains(ClosedRange closedRange, byte b) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
return closedRange.contains(Double.valueOf(b));
}
@NotNull
public static final IntProgression downTo(int i, byte b) {
return IntProgression.INSTANCE.fromClosedRange(i, b, -1);
}
@SinceKotlin(version = "1.7")
public static final int first(@NotNull IntProgression intProgression) {
Intrinsics.checkNotNullParameter(intProgression, "<this>");
if (!intProgression.isEmpty()) {
return intProgression.getFirst();
}
throw new NoSuchElementException("Progression " + intProgression + " is empty.");
}
@SinceKotlin(version = "1.7")
@Nullable
public static final Integer firstOrNull(@NotNull IntProgression intProgression) {
Intrinsics.checkNotNullParameter(intProgression, "<this>");
if (intProgression.isEmpty()) {
return null;
}
return Integer.valueOf(intProgression.getFirst());
}
@Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.")
@DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3")
@JvmName(name = "floatRangeContains")
public static final /* synthetic */ boolean floatRangeContains(ClosedRange closedRange, byte b) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
return closedRange.contains(Float.valueOf(b));
}
@JvmName(name = "intRangeContains")
public static final boolean intRangeContains(@NotNull ClosedRange<Integer> closedRange, byte b) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
return closedRange.contains(Integer.valueOf(b));
}
@SinceKotlin(version = "1.7")
public static final int last(@NotNull IntProgression intProgression) {
Intrinsics.checkNotNullParameter(intProgression, "<this>");
if (!intProgression.isEmpty()) {
return intProgression.getLast();
}
throw new NoSuchElementException("Progression " + intProgression + " is empty.");
}
@SinceKotlin(version = "1.7")
@Nullable
public static final Integer lastOrNull(@NotNull IntProgression intProgression) {
Intrinsics.checkNotNullParameter(intProgression, "<this>");
if (intProgression.isEmpty()) {
return null;
}
return Integer.valueOf(intProgression.getLast());
}
@JvmName(name = "longRangeContains")
public static final boolean longRangeContains(@NotNull ClosedRange<Long> closedRange, byte b) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
return closedRange.contains(Long.valueOf(b));
}
@SinceKotlin(version = "1.3")
@InlineOnly
private static final int random(IntRange intRange) {
Intrinsics.checkNotNullParameter(intRange, "<this>");
return random(intRange, Random.INSTANCE);
}
@SinceKotlin(version = "1.4")
@InlineOnly
private static final Integer randomOrNull(IntRange intRange) {
Intrinsics.checkNotNullParameter(intRange, "<this>");
return randomOrNull(intRange, Random.INSTANCE);
}
@NotNull
public static final IntProgression reversed(@NotNull IntProgression intProgression) {
Intrinsics.checkNotNullParameter(intProgression, "<this>");
return IntProgression.INSTANCE.fromClosedRange(intProgression.getLast(), intProgression.getFirst(), -intProgression.getStep());
}
@JvmName(name = "shortRangeContains")
public static final boolean shortRangeContains(@NotNull ClosedRange<Short> closedRange, byte b) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
return closedRange.contains(Short.valueOf(b));
}
@NotNull
public static IntProgression step(@NotNull IntProgression intProgression, int i) {
Intrinsics.checkNotNullParameter(intProgression, "<this>");
RangesKt__RangesKt.checkStepIsPositive(i > 0, Integer.valueOf(i));
IntProgression.Companion companion = IntProgression.INSTANCE;
int first = intProgression.getFirst();
int last = intProgression.getLast();
if (intProgression.getStep() <= 0) {
i = -i;
}
return companion.fromClosedRange(first, last, i);
}
@Nullable
public static final Byte toByteExactOrNull(int i) {
if (-128 > i || i >= 128) {
return null;
}
return Byte.valueOf((byte) i);
}
@Nullable
public static final Integer toIntExactOrNull(long j) {
if (-2147483648L > j || j >= 2147483648L) {
return null;
}
return Integer.valueOf((int) j);
}
@Nullable
public static final Long toLongExactOrNull(double d) {
if (-9.223372036854776E18d > d || d > 9.223372036854776E18d) {
return null;
}
return Long.valueOf((long) d);
}
@Nullable
public static final Short toShortExactOrNull(int i) {
if (-32768 > i || i >= 32768) {
return null;
}
return Short.valueOf((short) i);
}
@NotNull
public static final IntRange until(int i, byte b) {
return new IntRange(i, b - 1);
}
@Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.")
@DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3")
@JvmName(name = "byteRangeContains")
public static final /* synthetic */ boolean byteRangeContains(ClosedRange closedRange, float f) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
Byte byteExactOrNull = toByteExactOrNull(f);
if (byteExactOrNull != null) {
return closedRange.contains(byteExactOrNull);
}
return false;
}
public static final double coerceAtLeast(double d, double d2) {
return d < d2 ? d2 : d;
}
public static final double coerceAtMost(double d, double d2) {
return d > d2 ? d2 : d;
}
@SinceKotlin(version = "1.3")
@InlineOnly
private static final boolean contains(LongRange longRange, Long l) {
Intrinsics.checkNotNullParameter(longRange, "<this>");
return l != null && longRange.contains(l.longValue());
}
@JvmName(name = "doubleRangeContains")
public static final boolean doubleRangeContains(@NotNull ClosedRange<Double> closedRange, float f) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
return closedRange.contains(Double.valueOf(f));
}
@NotNull
public static final LongProgression downTo(long j, byte b) {
return LongProgression.INSTANCE.fromClosedRange(j, b, -1L);
}
@SinceKotlin(version = "1.7")
@Nullable
public static final Long firstOrNull(@NotNull LongProgression longProgression) {
Intrinsics.checkNotNullParameter(longProgression, "<this>");
if (longProgression.isEmpty()) {
return null;
}
return Long.valueOf(longProgression.getFirst());
}
@JvmName(name = "floatRangeContains")
public static final boolean floatRangeContains(@NotNull ClosedRange<Float> closedRange, double d) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
return closedRange.contains(Float.valueOf((float) d));
}
@SinceKotlin(version = "1.9")
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
@JvmName(name = "intRangeContains")
public static final boolean intRangeContains(@NotNull OpenEndRange<Integer> openEndRange, byte b) {
Intrinsics.checkNotNullParameter(openEndRange, "<this>");
return openEndRange.contains(Integer.valueOf(b));
}
@SinceKotlin(version = "1.7")
@Nullable
public static final Long lastOrNull(@NotNull LongProgression longProgression) {
Intrinsics.checkNotNullParameter(longProgression, "<this>");
if (longProgression.isEmpty()) {
return null;
}
return Long.valueOf(longProgression.getLast());
}
@SinceKotlin(version = "1.9")
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
@JvmName(name = "longRangeContains")
public static final boolean longRangeContains(@NotNull OpenEndRange<Long> openEndRange, byte b) {
Intrinsics.checkNotNullParameter(openEndRange, "<this>");
return openEndRange.contains(Long.valueOf(b));
}
@SinceKotlin(version = "1.3")
@InlineOnly
private static final long random(LongRange longRange) {
Intrinsics.checkNotNullParameter(longRange, "<this>");
return random(longRange, Random.INSTANCE);
}
@SinceKotlin(version = "1.4")
@InlineOnly
private static final Long randomOrNull(LongRange longRange) {
Intrinsics.checkNotNullParameter(longRange, "<this>");
return randomOrNull(longRange, Random.INSTANCE);
}
@NotNull
public static final LongProgression reversed(@NotNull LongProgression longProgression) {
Intrinsics.checkNotNullParameter(longProgression, "<this>");
return LongProgression.INSTANCE.fromClosedRange(longProgression.getLast(), longProgression.getFirst(), -longProgression.getStep());
}
@SinceKotlin(version = "1.9")
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
@JvmName(name = "shortRangeContains")
public static final boolean shortRangeContains(@NotNull OpenEndRange<Short> openEndRange, byte b) {
Intrinsics.checkNotNullParameter(openEndRange, "<this>");
return openEndRange.contains(Short.valueOf(b));
}
@Nullable
public static final Byte toByteExactOrNull(long j) {
if (-128 > j || j >= 128) {
return null;
}
return Byte.valueOf((byte) j);
}
@Nullable
public static final Integer toIntExactOrNull(double d) {
if (-2.147483648E9d > d || d > 2.147483647E9d) {
return null;
}
return Integer.valueOf((int) d);
}
@Nullable
public static final Long toLongExactOrNull(float f) {
if (-9.223372E18f > f || f > 9.223372E18f) {
return null;
}
return Long.valueOf(f);
}
@Nullable
public static final Short toShortExactOrNull(long j) {
if (-32768 > j || j >= PlaybackStateCompat.ACTION_PREPARE_FROM_MEDIA_ID) {
return null;
}
return Short.valueOf((short) j);
}
@NotNull
public static final LongRange until(long j, byte b) {
return new LongRange(j, b - 1);
}
@JvmName(name = "byteRangeContains")
public static final boolean byteRangeContains(@NotNull ClosedRange<Byte> closedRange, int i) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
Byte byteExactOrNull = toByteExactOrNull(i);
if (byteExactOrNull != null) {
return closedRange.contains(byteExactOrNull);
}
return false;
}
public static final float coerceAtLeast(float f, float f2) {
return f < f2 ? f2 : f;
}
public static final float coerceAtMost(float f, float f2) {
return f > f2 ? f2 : f;
}
@SinceKotlin(version = "1.3")
@InlineOnly
private static final boolean contains(CharRange charRange, Character ch) {
Intrinsics.checkNotNullParameter(charRange, "<this>");
return ch != null && charRange.contains(ch.charValue());
}
@SinceKotlin(version = "1.9")
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
@JvmName(name = "doubleRangeContains")
public static final boolean doubleRangeContains(@NotNull OpenEndRange<Double> openEndRange, float f) {
Intrinsics.checkNotNullParameter(openEndRange, "<this>");
return openEndRange.contains(Double.valueOf(f));
}
@NotNull
public static final IntProgression downTo(byte b, byte b2) {
return IntProgression.INSTANCE.fromClosedRange(b, b2, -1);
}
@SinceKotlin(version = "1.7")
@Nullable
public static final Character firstOrNull(@NotNull CharProgression charProgression) {
Intrinsics.checkNotNullParameter(charProgression, "<this>");
if (charProgression.isEmpty()) {
return null;
}
return Character.valueOf(charProgression.getFirst());
}
@Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.")
@DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3")
@JvmName(name = "floatRangeContains")
public static final /* synthetic */ boolean floatRangeContains(ClosedRange closedRange, int i) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
return closedRange.contains(Float.valueOf(i));
}
@Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.")
@DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3")
@JvmName(name = "intRangeContains")
public static final /* synthetic */ boolean intRangeContains(ClosedRange closedRange, double d) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
Integer intExactOrNull = toIntExactOrNull(d);
if (intExactOrNull != null) {
return closedRange.contains(intExactOrNull);
}
return false;
}
@SinceKotlin(version = "1.7")
@Nullable
public static final Character lastOrNull(@NotNull CharProgression charProgression) {
Intrinsics.checkNotNullParameter(charProgression, "<this>");
if (charProgression.isEmpty()) {
return null;
}
return Character.valueOf(charProgression.getLast());
}
@Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.")
@DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3")
@JvmName(name = "longRangeContains")
public static final /* synthetic */ boolean longRangeContains(ClosedRange closedRange, double d) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
Long longExactOrNull = toLongExactOrNull(d);
if (longExactOrNull != null) {
return closedRange.contains(longExactOrNull);
}
return false;
}
@SinceKotlin(version = "1.3")
@InlineOnly
private static final char random(CharRange charRange) {
Intrinsics.checkNotNullParameter(charRange, "<this>");
return random(charRange, Random.INSTANCE);
}
@SinceKotlin(version = "1.4")
@InlineOnly
private static final Character randomOrNull(CharRange charRange) {
Intrinsics.checkNotNullParameter(charRange, "<this>");
return randomOrNull(charRange, Random.INSTANCE);
}
@NotNull
public static final CharProgression reversed(@NotNull CharProgression charProgression) {
Intrinsics.checkNotNullParameter(charProgression, "<this>");
return CharProgression.INSTANCE.fromClosedRange(charProgression.getLast(), charProgression.getFirst(), -charProgression.getStep());
}
@Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.")
@DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3")
@JvmName(name = "shortRangeContains")
public static final /* synthetic */ boolean shortRangeContains(ClosedRange closedRange, double d) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
Short shortExactOrNull = toShortExactOrNull(d);
if (shortExactOrNull != null) {
return closedRange.contains(shortExactOrNull);
}
return false;
}
@NotNull
public static final LongProgression step(@NotNull LongProgression longProgression, long j) {
Intrinsics.checkNotNullParameter(longProgression, "<this>");
RangesKt__RangesKt.checkStepIsPositive(j > 0, Long.valueOf(j));
LongProgression.Companion companion = LongProgression.INSTANCE;
long first = longProgression.getFirst();
long last = longProgression.getLast();
if (longProgression.getStep() <= 0) {
j = -j;
}
return companion.fromClosedRange(first, last, j);
}
@Nullable
public static final Byte toByteExactOrNull(short s) {
if (-128 > s || s >= 128) {
return null;
}
return Byte.valueOf((byte) s);
}
@Nullable
public static final Integer toIntExactOrNull(float f) {
if (-2.1474836E9f > f || f > 2.1474836E9f) {
return null;
}
return Integer.valueOf((int) f);
}
@Nullable
public static final Short toShortExactOrNull(double d) {
if (-32768.0d > d || d > 32767.0d) {
return null;
}
return Short.valueOf((short) d);
}
@NotNull
public static final IntRange until(byte b, byte b2) {
return new IntRange(b, b2 - 1);
}
@SinceKotlin(version = "1.9")
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
@JvmName(name = "byteRangeContains")
public static final boolean byteRangeContains(@NotNull OpenEndRange<Byte> openEndRange, int i) {
Intrinsics.checkNotNullParameter(openEndRange, "<this>");
Byte byteExactOrNull = toByteExactOrNull(i);
if (byteExactOrNull != null) {
return openEndRange.contains(byteExactOrNull);
}
return false;
}
public static int coerceAtLeast(int i, int i2) {
return i < i2 ? i2 : i;
}
public static int coerceAtMost(int i, int i2) {
return i > i2 ? i2 : i;
}
@InlineOnly
private static final boolean contains(IntRange intRange, byte b) {
Intrinsics.checkNotNullParameter(intRange, "<this>");
return intRangeContains((ClosedRange<Integer>) intRange, b);
}
@Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.")
@DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3")
@JvmName(name = "doubleRangeContains")
public static final /* synthetic */ boolean doubleRangeContains(ClosedRange closedRange, int i) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
return closedRange.contains(Double.valueOf(i));
}
@NotNull
public static final IntProgression downTo(short s, byte b) {
return IntProgression.INSTANCE.fromClosedRange(s, b, -1);
}
@SinceKotlin(version = "1.7")
public static final long first(@NotNull LongProgression longProgression) {
Intrinsics.checkNotNullParameter(longProgression, "<this>");
if (!longProgression.isEmpty()) {
return longProgression.getFirst();
}
throw new NoSuchElementException("Progression " + longProgression + " is empty.");
}
@Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.")
@DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3")
@JvmName(name = "floatRangeContains")
public static final /* synthetic */ boolean floatRangeContains(ClosedRange closedRange, long j) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
return closedRange.contains(Float.valueOf((float) j));
}
@Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.")
@DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3")
@JvmName(name = "intRangeContains")
public static final /* synthetic */ boolean intRangeContains(ClosedRange closedRange, float f) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
Integer intExactOrNull = toIntExactOrNull(f);
if (intExactOrNull != null) {
return closedRange.contains(intExactOrNull);
}
return false;
}
@SinceKotlin(version = "1.7")
public static final long last(@NotNull LongProgression longProgression) {
Intrinsics.checkNotNullParameter(longProgression, "<this>");
if (!longProgression.isEmpty()) {
return longProgression.getLast();
}
throw new NoSuchElementException("Progression " + longProgression + " is empty.");
}
@Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.")
@DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3")
@JvmName(name = "longRangeContains")
public static final /* synthetic */ boolean longRangeContains(ClosedRange closedRange, float f) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
Long longExactOrNull = toLongExactOrNull(f);
if (longExactOrNull != null) {
return closedRange.contains(longExactOrNull);
}
return false;
}
@SinceKotlin(version = "1.3")
public static final int random(@NotNull IntRange intRange, @NotNull Random random) {
Intrinsics.checkNotNullParameter(intRange, "<this>");
Intrinsics.checkNotNullParameter(random, "random");
try {
return RandomKt.nextInt(random, intRange);
} catch (IllegalArgumentException e) {
throw new NoSuchElementException(e.getMessage());
}
}
@SinceKotlin(version = "1.4")
@Nullable
public static final Integer randomOrNull(@NotNull IntRange intRange, @NotNull Random random) {
Intrinsics.checkNotNullParameter(intRange, "<this>");
Intrinsics.checkNotNullParameter(random, "random");
if (intRange.isEmpty()) {
return null;
}
return Integer.valueOf(RandomKt.nextInt(random, intRange));
}
@Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.")
@DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3")
@JvmName(name = "shortRangeContains")
public static final /* synthetic */ boolean shortRangeContains(ClosedRange closedRange, float f) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
Short shortExactOrNull = toShortExactOrNull(f);
if (shortExactOrNull != null) {
return closedRange.contains(shortExactOrNull);
}
return false;
}
@Nullable
public static final Byte toByteExactOrNull(double d) {
if (-128.0d > d || d > 127.0d) {
return null;
}
return Byte.valueOf((byte) d);
}
@Nullable
public static final Short toShortExactOrNull(float f) {
if (-32768.0f > f || f > 32767.0f) {
return null;
}
return Short.valueOf((short) f);
}
@NotNull
public static final IntRange until(short s, byte b) {
return new IntRange(s, b - 1);
}
@JvmName(name = "byteRangeContains")
public static final boolean byteRangeContains(@NotNull ClosedRange<Byte> closedRange, long j) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
Byte byteExactOrNull = toByteExactOrNull(j);
if (byteExactOrNull != null) {
return closedRange.contains(byteExactOrNull);
}
return false;
}
public static long coerceAtLeast(long j, long j2) {
return j < j2 ? j2 : j;
}
public static long coerceAtMost(long j, long j2) {
return j > j2 ? j2 : j;
}
@InlineOnly
private static final boolean contains(LongRange longRange, byte b) {
Intrinsics.checkNotNullParameter(longRange, "<this>");
return longRangeContains((ClosedRange<Long>) longRange, b);
}
@Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.")
@DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3")
@JvmName(name = "doubleRangeContains")
public static final /* synthetic */ boolean doubleRangeContains(ClosedRange closedRange, long j) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
return closedRange.contains(Double.valueOf(j));
}
@NotNull
public static final CharProgression downTo(char c2, char c3) {
return CharProgression.INSTANCE.fromClosedRange(c2, c3, -1);
}
@Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.")
@DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3")
@JvmName(name = "floatRangeContains")
public static final /* synthetic */ boolean floatRangeContains(ClosedRange closedRange, short s) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
return closedRange.contains(Float.valueOf(s));
}
@JvmName(name = "intRangeContains")
public static final boolean intRangeContains(@NotNull ClosedRange<Integer> closedRange, long j) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
Integer intExactOrNull = toIntExactOrNull(j);
if (intExactOrNull != null) {
return closedRange.contains(intExactOrNull);
}
return false;
}
@JvmName(name = "longRangeContains")
public static final boolean longRangeContains(@NotNull ClosedRange<Long> closedRange, int i) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
return closedRange.contains(Long.valueOf(i));
}
@JvmName(name = "shortRangeContains")
public static final boolean shortRangeContains(@NotNull ClosedRange<Short> closedRange, int i) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
Short shortExactOrNull = toShortExactOrNull(i);
if (shortExactOrNull != null) {
return closedRange.contains(shortExactOrNull);
}
return false;
}
@NotNull
public static final CharProgression step(@NotNull CharProgression charProgression, int i) {
Intrinsics.checkNotNullParameter(charProgression, "<this>");
RangesKt__RangesKt.checkStepIsPositive(i > 0, Integer.valueOf(i));
CharProgression.Companion companion = CharProgression.INSTANCE;
char first = charProgression.getFirst();
char last = charProgression.getLast();
if (charProgression.getStep() <= 0) {
i = -i;
}
return companion.fromClosedRange(first, last, i);
}
@Nullable
public static final Byte toByteExactOrNull(float f) {
if (-128.0f > f || f > 127.0f) {
return null;
}
return Byte.valueOf((byte) f);
}
@NotNull
public static final CharRange until(char c2, char c3) {
return Intrinsics.compare((int) c3, 0) <= 0 ? CharRange.INSTANCE.getEMPTY() : new CharRange(c2, (char) (c3 - 1));
}
@SinceKotlin(version = "1.9")
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
@JvmName(name = "byteRangeContains")
public static final boolean byteRangeContains(@NotNull OpenEndRange<Byte> openEndRange, long j) {
Intrinsics.checkNotNullParameter(openEndRange, "<this>");
Byte byteExactOrNull = toByteExactOrNull(j);
if (byteExactOrNull != null) {
return openEndRange.contains(byteExactOrNull);
}
return false;
}
public static final short coerceAtLeast(short s, short s2) {
return s < s2 ? s2 : s;
}
public static final short coerceAtMost(short s, short s2) {
return s > s2 ? s2 : s;
}
@InlineOnly
private static final boolean contains(LongRange longRange, int i) {
Intrinsics.checkNotNullParameter(longRange, "<this>");
return longRangeContains((ClosedRange<Long>) longRange, i);
}
@Deprecated(message = "This `contains` operation mixing integer and floating point arguments has ambiguous semantics and is going to be removed.")
@DeprecatedSinceKotlin(errorSince = "1.4", hiddenSince = "1.5", warningSince = "1.3")
@JvmName(name = "doubleRangeContains")
public static final /* synthetic */ boolean doubleRangeContains(ClosedRange closedRange, short s) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
return closedRange.contains(Double.valueOf(s));
}
@NotNull
public static IntProgression downTo(int i, int i2) {
return IntProgression.INSTANCE.fromClosedRange(i, i2, -1);
}
@SinceKotlin(version = "1.9")
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
@JvmName(name = "intRangeContains")
public static final boolean intRangeContains(@NotNull OpenEndRange<Integer> openEndRange, long j) {
Intrinsics.checkNotNullParameter(openEndRange, "<this>");
Integer intExactOrNull = toIntExactOrNull(j);
if (intExactOrNull != null) {
return openEndRange.contains(intExactOrNull);
}
return false;
}
@SinceKotlin(version = "1.9")
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
@JvmName(name = "longRangeContains")
public static final boolean longRangeContains(@NotNull OpenEndRange<Long> openEndRange, int i) {
Intrinsics.checkNotNullParameter(openEndRange, "<this>");
return openEndRange.contains(Long.valueOf(i));
}
@SinceKotlin(version = "1.3")
public static final long random(@NotNull LongRange longRange, @NotNull Random random) {
Intrinsics.checkNotNullParameter(longRange, "<this>");
Intrinsics.checkNotNullParameter(random, "random");
try {
return RandomKt.nextLong(random, longRange);
} catch (IllegalArgumentException e) {
throw new NoSuchElementException(e.getMessage());
}
}
@SinceKotlin(version = "1.4")
@Nullable
public static final Long randomOrNull(@NotNull LongRange longRange, @NotNull Random random) {
Intrinsics.checkNotNullParameter(longRange, "<this>");
Intrinsics.checkNotNullParameter(random, "random");
if (longRange.isEmpty()) {
return null;
}
return Long.valueOf(RandomKt.nextLong(random, longRange));
}
@SinceKotlin(version = "1.9")
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
@JvmName(name = "shortRangeContains")
public static final boolean shortRangeContains(@NotNull OpenEndRange<Short> openEndRange, int i) {
Intrinsics.checkNotNullParameter(openEndRange, "<this>");
Short shortExactOrNull = toShortExactOrNull(i);
if (shortExactOrNull != null) {
return openEndRange.contains(shortExactOrNull);
}
return false;
}
@JvmName(name = "byteRangeContains")
public static final boolean byteRangeContains(@NotNull ClosedRange<Byte> closedRange, short s) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
Byte byteExactOrNull = toByteExactOrNull(s);
if (byteExactOrNull != null) {
return closedRange.contains(byteExactOrNull);
}
return false;
}
@NotNull
public static final <T extends Comparable<? super T>> T coerceAtLeast(@NotNull T t, @NotNull T minimumValue) {
Intrinsics.checkNotNullParameter(t, "<this>");
Intrinsics.checkNotNullParameter(minimumValue, "minimumValue");
return t.compareTo(minimumValue) < 0 ? minimumValue : t;
}
@NotNull
public static final <T extends Comparable<? super T>> T coerceAtMost(@NotNull T t, @NotNull T maximumValue) {
Intrinsics.checkNotNullParameter(t, "<this>");
Intrinsics.checkNotNullParameter(maximumValue, "maximumValue");
return t.compareTo(maximumValue) > 0 ? maximumValue : t;
}
public static final byte coerceIn(byte b, byte b2, byte b3) {
if (b2 <= b3) {
return b < b2 ? b2 : b > b3 ? b3 : b;
}
throw new IllegalArgumentException("Cannot coerce value to an empty range: maximum " + ((int) b3) + " is less than minimum " + ((int) b2) + '.');
}
@InlineOnly
private static final boolean contains(IntRange intRange, long j) {
Intrinsics.checkNotNullParameter(intRange, "<this>");
return intRangeContains((ClosedRange<Integer>) intRange, j);
}
@NotNull
public static final LongProgression downTo(long j, int i) {
return LongProgression.INSTANCE.fromClosedRange(j, i, -1L);
}
@SinceKotlin(version = "1.7")
public static final char first(@NotNull CharProgression charProgression) {
Intrinsics.checkNotNullParameter(charProgression, "<this>");
if (!charProgression.isEmpty()) {
return charProgression.getFirst();
}
throw new NoSuchElementException("Progression " + charProgression + " is empty.");
}
@JvmName(name = "intRangeContains")
public static final boolean intRangeContains(@NotNull ClosedRange<Integer> closedRange, short s) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
return closedRange.contains(Integer.valueOf(s));
}
@SinceKotlin(version = "1.7")
public static final char last(@NotNull CharProgression charProgression) {
Intrinsics.checkNotNullParameter(charProgression, "<this>");
if (!charProgression.isEmpty()) {
return charProgression.getLast();
}
throw new NoSuchElementException("Progression " + charProgression + " is empty.");
}
@JvmName(name = "longRangeContains")
public static final boolean longRangeContains(@NotNull ClosedRange<Long> closedRange, short s) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
return closedRange.contains(Long.valueOf(s));
}
@JvmName(name = "shortRangeContains")
public static final boolean shortRangeContains(@NotNull ClosedRange<Short> closedRange, long j) {
Intrinsics.checkNotNullParameter(closedRange, "<this>");
Short shortExactOrNull = toShortExactOrNull(j);
if (shortExactOrNull != null) {
return closedRange.contains(shortExactOrNull);
}
return false;
}
@NotNull
public static IntRange until(int i, int i2) {
if (i2 <= Integer.MIN_VALUE) {
return IntRange.INSTANCE.getEMPTY();
}
return new IntRange(i, i2 - 1);
}
@SinceKotlin(version = "1.9")
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
@JvmName(name = "byteRangeContains")
public static final boolean byteRangeContains(@NotNull OpenEndRange<Byte> openEndRange, short s) {
Intrinsics.checkNotNullParameter(openEndRange, "<this>");
Byte byteExactOrNull = toByteExactOrNull(s);
if (byteExactOrNull != null) {
return openEndRange.contains(byteExactOrNull);
}
return false;
}
public static final short coerceIn(short s, short s2, short s3) {
if (s2 <= s3) {
return s < s2 ? s2 : s > s3 ? s3 : s;
}
throw new IllegalArgumentException("Cannot coerce value to an empty range: maximum " + ((int) s3) + " is less than minimum " + ((int) s2) + '.');
}
@InlineOnly
private static final boolean contains(IntRange intRange, short s) {
Intrinsics.checkNotNullParameter(intRange, "<this>");
return intRangeContains((ClosedRange<Integer>) intRange, s);
}
@NotNull
public static final IntProgression downTo(byte b, int i) {
return IntProgression.INSTANCE.fromClosedRange(b, i, -1);
}
@SinceKotlin(version = "1.9")
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
@JvmName(name = "intRangeContains")
public static final boolean intRangeContains(@NotNull OpenEndRange<Integer> openEndRange, short s) {
Intrinsics.checkNotNullParameter(openEndRange, "<this>");
return openEndRange.contains(Integer.valueOf(s));
}
@SinceKotlin(version = "1.9")
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
@JvmName(name = "longRangeContains")
public static final boolean longRangeContains(@NotNull OpenEndRange<Long> openEndRange, short s) {
Intrinsics.checkNotNullParameter(openEndRange, "<this>");
return openEndRange.contains(Long.valueOf(s));
}
@SinceKotlin(version = "1.3")
public static final char random(@NotNull CharRange charRange, @NotNull Random random) {
Intrinsics.checkNotNullParameter(charRange, "<this>");
Intrinsics.checkNotNullParameter(random, "random");
try {
return (char) random.nextInt(charRange.getFirst(), charRange.getLast() + 1);
} catch (IllegalArgumentException e) {
throw new NoSuchElementException(e.getMessage());
}
}
@SinceKotlin(version = "1.4")
@Nullable
public static final Character randomOrNull(@NotNull CharRange charRange, @NotNull Random random) {
Intrinsics.checkNotNullParameter(charRange, "<this>");
Intrinsics.checkNotNullParameter(random, "random");
if (charRange.isEmpty()) {
return null;
}
return Character.valueOf((char) random.nextInt(charRange.getFirst(), charRange.getLast() + 1));
}
@SinceKotlin(version = "1.9")
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
@JvmName(name = "shortRangeContains")
public static final boolean shortRangeContains(@NotNull OpenEndRange<Short> openEndRange, long j) {
Intrinsics.checkNotNullParameter(openEndRange, "<this>");
Short shortExactOrNull = toShortExactOrNull(j);
if (shortExactOrNull != null) {
return openEndRange.contains(shortExactOrNull);
}
return false;
}
public static int coerceIn(int i, int i2, int i3) {
if (i2 <= i3) {
return i < i2 ? i2 : i > i3 ? i3 : i;
}
throw new IllegalArgumentException("Cannot coerce value to an empty range: maximum " + i3 + " is less than minimum " + i2 + '.');
}
@InlineOnly
private static final boolean contains(LongRange longRange, short s) {
Intrinsics.checkNotNullParameter(longRange, "<this>");
return longRangeContains((ClosedRange<Long>) longRange, s);
}
@NotNull
public static final IntProgression downTo(short s, int i) {
return IntProgression.INSTANCE.fromClosedRange(s, i, -1);
}
@NotNull
public static final LongRange until(long j, int i) {
return new LongRange(j, i - 1);
}
public static long coerceIn(long j, long j2, long j3) {
if (j2 <= j3) {
return j < j2 ? j2 : j > j3 ? j3 : j;
}
throw new IllegalArgumentException("Cannot coerce value to an empty range: maximum " + j3 + " is less than minimum " + j2 + '.');
}
@NotNull
public static final LongProgression downTo(int i, long j) {
return LongProgression.INSTANCE.fromClosedRange(i, j, -1L);
}
@NotNull
public static final IntRange until(byte b, int i) {
if (i <= Integer.MIN_VALUE) {
return IntRange.INSTANCE.getEMPTY();
}
return new IntRange(b, i - 1);
}
public static float coerceIn(float f, float f2, float f3) {
if (f2 <= f3) {
return f < f2 ? f2 : f > f3 ? f3 : f;
}
throw new IllegalArgumentException("Cannot coerce value to an empty range: maximum " + f3 + " is less than minimum " + f2 + '.');
}
@NotNull
public static final LongProgression downTo(long j, long j2) {
return LongProgression.INSTANCE.fromClosedRange(j, j2, -1L);
}
public static final double coerceIn(double d, double d2, double d3) {
if (d2 <= d3) {
return d < d2 ? d2 : d > d3 ? d3 : d;
}
throw new IllegalArgumentException("Cannot coerce value to an empty range: maximum " + d3 + " is less than minimum " + d2 + '.');
}
@NotNull
public static final LongProgression downTo(byte b, long j) {
return LongProgression.INSTANCE.fromClosedRange(b, j, -1L);
}
@NotNull
public static final IntRange until(short s, int i) {
if (i <= Integer.MIN_VALUE) {
return IntRange.INSTANCE.getEMPTY();
}
return new IntRange(s, i - 1);
}
@SinceKotlin(version = "1.1")
@NotNull
public static final <T extends Comparable<? super T>> T coerceIn(@NotNull T t, @NotNull ClosedFloatingPointRange<T> range) {
Intrinsics.checkNotNullParameter(t, "<this>");
Intrinsics.checkNotNullParameter(range, "range");
if (!range.isEmpty()) {
return (!range.lessThanOrEquals(t, range.getStart()) || range.lessThanOrEquals(range.getStart(), t)) ? (!range.lessThanOrEquals(range.getEndInclusive(), t) || range.lessThanOrEquals(t, range.getEndInclusive())) ? t : range.getEndInclusive() : range.getStart();
}
throw new IllegalArgumentException("Cannot coerce value to an empty range: " + range + '.');
}
@NotNull
public static final LongProgression downTo(short s, long j) {
return LongProgression.INSTANCE.fromClosedRange(s, j, -1L);
}
@NotNull
public static final IntProgression downTo(int i, short s) {
return IntProgression.INSTANCE.fromClosedRange(i, s, -1);
}
@NotNull
public static final LongRange until(int i, long j) {
if (j <= Long.MIN_VALUE) {
return LongRange.INSTANCE.getEMPTY();
}
return new LongRange(i, j - 1);
}
@NotNull
public static final LongProgression downTo(long j, short s) {
return LongProgression.INSTANCE.fromClosedRange(j, s, -1L);
}
@NotNull
public static final IntProgression downTo(byte b, short s) {
return IntProgression.INSTANCE.fromClosedRange(b, s, -1);
}
@NotNull
public static final LongRange until(long j, long j2) {
if (j2 <= Long.MIN_VALUE) {
return LongRange.INSTANCE.getEMPTY();
}
return new LongRange(j, j2 - 1);
}
@NotNull
public static final <T extends Comparable<? super T>> T coerceIn(@NotNull T t, @NotNull ClosedRange<T> range) {
Intrinsics.checkNotNullParameter(t, "<this>");
Intrinsics.checkNotNullParameter(range, "range");
if (range instanceof ClosedFloatingPointRange) {
return (T) coerceIn((Comparable) t, (ClosedFloatingPointRange) range);
}
if (!range.isEmpty()) {
return t.compareTo(range.getStart()) < 0 ? range.getStart() : t.compareTo(range.getEndInclusive()) > 0 ? range.getEndInclusive() : t;
}
throw new IllegalArgumentException("Cannot coerce value to an empty range: " + range + '.');
}
@NotNull
public static final IntProgression downTo(short s, short s2) {
return IntProgression.INSTANCE.fromClosedRange(s, s2, -1);
}
@NotNull
public static final LongRange until(byte b, long j) {
if (j <= Long.MIN_VALUE) {
return LongRange.INSTANCE.getEMPTY();
}
return new LongRange(b, j - 1);
}
@NotNull
public static final LongRange until(short s, long j) {
if (j <= Long.MIN_VALUE) {
return LongRange.INSTANCE.getEMPTY();
}
return new LongRange(s, j - 1);
}
@NotNull
public static final IntRange until(int i, short s) {
return new IntRange(i, s - 1);
}
public static final int coerceIn(int i, @NotNull ClosedRange<Integer> range) {
Intrinsics.checkNotNullParameter(range, "range");
if (range instanceof ClosedFloatingPointRange) {
return ((Number) coerceIn(Integer.valueOf(i), (ClosedFloatingPointRange<Integer>) range)).intValue();
}
if (!range.isEmpty()) {
return i < range.getStart().intValue() ? range.getStart().intValue() : i > range.getEndInclusive().intValue() ? range.getEndInclusive().intValue() : i;
}
throw new IllegalArgumentException("Cannot coerce value to an empty range: " + range + '.');
}
@NotNull
public static final LongRange until(long j, short s) {
return new LongRange(j, s - 1);
}
@NotNull
public static final IntRange until(byte b, short s) {
return new IntRange(b, s - 1);
}
@NotNull
public static final IntRange until(short s, short s2) {
return new IntRange(s, s2 - 1);
}
public static long coerceIn(long j, @NotNull ClosedRange<Long> range) {
Intrinsics.checkNotNullParameter(range, "range");
if (range instanceof ClosedFloatingPointRange) {
return ((Number) coerceIn(Long.valueOf(j), (ClosedFloatingPointRange<Long>) range)).longValue();
}
if (!range.isEmpty()) {
return j < range.getStart().longValue() ? range.getStart().longValue() : j > range.getEndInclusive().longValue() ? range.getEndInclusive().longValue() : j;
}
throw new IllegalArgumentException("Cannot coerce value to an empty range: " + range + '.');
}
}