ADD week 5
This commit is contained in:
116
02-Easy5/E5/sources/kotlin/ranges/CharProgression.java
Normal file
116
02-Easy5/E5/sources/kotlin/ranges/CharProgression.java
Normal file
@ -0,0 +1,116 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import java.util.Iterator;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.internal.ProgressionUtilKt;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.jvm.internal.markers.KMappedMarker;
|
||||
|
||||
/* compiled from: Progressions.kt */
|
||||
@Metadata(d1 = {"\u00004\n\u0002\u0018\u0002\n\u0002\u0010\u001c\n\u0002\u0010\f\n\u0002\b\u0003\n\u0002\u0010\b\n\u0002\b\t\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0002\b\u0016\u0018\u0000 \u00192\b\u0012\u0004\u0012\u00020\u00020\u0001:\u0001\u0019B\u001f\b\u0000\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0004\u001a\u00020\u0002\u0012\u0006\u0010\u0005\u001a\u00020\u0006¢\u0006\u0002\u0010\u0007J\u0013\u0010\u000f\u001a\u00020\u00102\b\u0010\u0011\u001a\u0004\u0018\u00010\u0012H\u0096\u0002J\b\u0010\u0013\u001a\u00020\u0006H\u0016J\b\u0010\u0014\u001a\u00020\u0010H\u0016J\t\u0010\u0015\u001a\u00020\u0016H\u0096\u0002J\b\u0010\u0017\u001a\u00020\u0018H\u0016R\u0011\u0010\b\u001a\u00020\u0002¢\u0006\b\n\u0000\u001a\u0004\b\t\u0010\nR\u0011\u0010\u000b\u001a\u00020\u0002¢\u0006\b\n\u0000\u001a\u0004\b\f\u0010\nR\u0011\u0010\u0005\u001a\u00020\u0006¢\u0006\b\n\u0000\u001a\u0004\b\r\u0010\u000e¨\u0006\u001a"}, d2 = {"Lkotlin/ranges/CharProgression;", "", "", "start", "endInclusive", "step", "", "(CCI)V", "first", "getFirst", "()C", "last", "getLast", "getStep", "()I", "equals", "", "other", "", "hashCode", "isEmpty", "iterator", "Lkotlin/collections/CharIterator;", "toString", "", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public class CharProgression implements Iterable<Character>, KMappedMarker {
|
||||
|
||||
/* renamed from: Companion, reason: from kotlin metadata */
|
||||
public static final Companion INSTANCE = new Companion(null);
|
||||
private final char first;
|
||||
private final char last;
|
||||
private final int step;
|
||||
|
||||
public final char getFirst() {
|
||||
return this.first;
|
||||
}
|
||||
|
||||
public final char getLast() {
|
||||
return this.last;
|
||||
}
|
||||
|
||||
public final int getStep() {
|
||||
return this.step;
|
||||
}
|
||||
|
||||
public CharProgression(char c, char c2, int i) {
|
||||
if (i == 0) {
|
||||
throw new IllegalArgumentException("Step must be non-zero.");
|
||||
}
|
||||
if (i == Integer.MIN_VALUE) {
|
||||
throw new IllegalArgumentException("Step must be greater than Int.MIN_VALUE to avoid overflow on negation.");
|
||||
}
|
||||
this.first = c;
|
||||
this.last = (char) ProgressionUtilKt.getProgressionLastElement((int) c, (int) c2, i);
|
||||
this.step = i;
|
||||
}
|
||||
|
||||
@Override // java.lang.Iterable
|
||||
public Iterator<Character> iterator() {
|
||||
return new CharProgressionIterator(this.first, this.last, this.step);
|
||||
}
|
||||
|
||||
public boolean isEmpty() {
|
||||
if (this.step > 0) {
|
||||
if (Intrinsics.compare((int) this.first, (int) this.last) > 0) {
|
||||
return true;
|
||||
}
|
||||
} else if (Intrinsics.compare((int) this.first, (int) this.last) < 0) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (other instanceof CharProgression) {
|
||||
if (!isEmpty() || !((CharProgression) other).isEmpty()) {
|
||||
CharProgression charProgression = (CharProgression) other;
|
||||
if (this.first != charProgression.first || this.last != charProgression.last || this.step != charProgression.step) {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
if (isEmpty()) {
|
||||
return -1;
|
||||
}
|
||||
return (((this.first * 31) + this.last) * 31) + this.step;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb;
|
||||
int i;
|
||||
if (this.step > 0) {
|
||||
sb = new StringBuilder();
|
||||
sb.append(this.first);
|
||||
sb.append("..");
|
||||
sb.append(this.last);
|
||||
sb.append(" step ");
|
||||
i = this.step;
|
||||
} else {
|
||||
sb = new StringBuilder();
|
||||
sb.append(this.first);
|
||||
sb.append(" downTo ");
|
||||
sb.append(this.last);
|
||||
sb.append(" step ");
|
||||
i = -this.step;
|
||||
}
|
||||
sb.append(i);
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
/* compiled from: Progressions.kt */
|
||||
@Metadata(d1 = {"\u0000 \n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\f\n\u0002\b\u0002\n\u0002\u0010\b\n\u0000\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\u001e\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u00062\u0006\u0010\b\u001a\u00020\t¨\u0006\n"}, d2 = {"Lkotlin/ranges/CharProgression$Companion;", "", "()V", "fromClosedRange", "Lkotlin/ranges/CharProgression;", "rangeStart", "", "rangeEnd", "step", "", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
public static final class Companion {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
|
||||
public final CharProgression fromClosedRange(char rangeStart, char rangeEnd, int step) {
|
||||
return new CharProgression(rangeStart, rangeEnd, step);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import java.util.NoSuchElementException;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.collections.CharIterator;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* compiled from: ProgressionIterators.kt */
|
||||
@Metadata(d1 = {"\u0000\"\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\f\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0002\b\u0005\b\u0000\u0018\u00002\u00020\u0001B\u001d\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0003\u0012\u0006\u0010\u0005\u001a\u00020\u0006¢\u0006\u0002\u0010\u0007J\t\u0010\t\u001a\u00020\nH\u0096\u0002J\b\u0010\u000e\u001a\u00020\u0003H\u0016R\u000e\u0010\b\u001a\u00020\u0006X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\t\u001a\u00020\nX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u000b\u001a\u00020\u0006X\u0082\u000e¢\u0006\u0002\n\u0000R\u0011\u0010\u0005\u001a\u00020\u0006¢\u0006\b\n\u0000\u001a\u0004\b\f\u0010\r¨\u0006\u000f"}, d2 = {"Lkotlin/ranges/CharProgressionIterator;", "Lkotlin/collections/CharIterator;", "first", "", "last", "step", "", "(CCI)V", "finalElement", "hasNext", "", "next", "getStep", "()I", "nextChar", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public final class CharProgressionIterator extends CharIterator {
|
||||
private final int finalElement;
|
||||
private boolean hasNext;
|
||||
private int next;
|
||||
private final int step;
|
||||
|
||||
public final int getStep() {
|
||||
return this.step;
|
||||
}
|
||||
|
||||
@Override // java.util.Iterator
|
||||
public boolean hasNext() {
|
||||
return this.hasNext;
|
||||
}
|
||||
|
||||
public CharProgressionIterator(char c, char c2, int i) {
|
||||
this.step = i;
|
||||
this.finalElement = c2;
|
||||
boolean z = true;
|
||||
if (i <= 0 ? Intrinsics.compare((int) c, (int) c2) < 0 : Intrinsics.compare((int) c, (int) c2) > 0) {
|
||||
z = false;
|
||||
}
|
||||
this.hasNext = z;
|
||||
this.next = z ? c : c2;
|
||||
}
|
||||
|
||||
@Override // kotlin.collections.CharIterator
|
||||
public char nextChar() {
|
||||
int i = this.next;
|
||||
if (i != this.finalElement) {
|
||||
this.next = this.step + i;
|
||||
} else {
|
||||
if (!this.hasNext) {
|
||||
throw new NoSuchElementException();
|
||||
}
|
||||
this.hasNext = false;
|
||||
}
|
||||
return (char) i;
|
||||
}
|
||||
}
|
100
02-Easy5/E5/sources/kotlin/ranges/CharRange.java
Normal file
100
02-Easy5/E5/sources/kotlin/ranges/CharRange.java
Normal file
@ -0,0 +1,100 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import kotlin.Deprecated;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* compiled from: PrimitiveRanges.kt */
|
||||
@Metadata(d1 = {"\u00006\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\f\n\u0002\u0018\u0002\n\u0002\b\u000b\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0002\b\u0002\u0018\u0000 \u001a2\u00020\u00012\b\u0012\u0004\u0012\u00020\u00030\u00022\b\u0012\u0004\u0012\u00020\u00030\u0004:\u0001\u001aB\u0015\u0012\u0006\u0010\u0005\u001a\u00020\u0003\u0012\u0006\u0010\u0006\u001a\u00020\u0003¢\u0006\u0002\u0010\u0007J\u0011\u0010\u000f\u001a\u00020\u00102\u0006\u0010\u0011\u001a\u00020\u0003H\u0096\u0002J\u0013\u0010\u0012\u001a\u00020\u00102\b\u0010\u0013\u001a\u0004\u0018\u00010\u0014H\u0096\u0002J\b\u0010\u0015\u001a\u00020\u0016H\u0016J\b\u0010\u0017\u001a\u00020\u0010H\u0016J\b\u0010\u0018\u001a\u00020\u0019H\u0016R\u001a\u0010\b\u001a\u00020\u00038VX\u0097\u0004¢\u0006\f\u0012\u0004\b\t\u0010\n\u001a\u0004\b\u000b\u0010\fR\u0014\u0010\u0006\u001a\u00020\u00038VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\r\u0010\fR\u0014\u0010\u0005\u001a\u00020\u00038VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u000e\u0010\f¨\u0006\u001b"}, d2 = {"Lkotlin/ranges/CharRange;", "Lkotlin/ranges/CharProgression;", "Lkotlin/ranges/ClosedRange;", "", "Lkotlin/ranges/OpenEndRange;", "start", "endInclusive", "(CC)V", "endExclusive", "getEndExclusive$annotations", "()V", "getEndExclusive", "()Ljava/lang/Character;", "getEndInclusive", "getStart", "contains", "", "value", "equals", "other", "", "hashCode", "", "isEmpty", "toString", "", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public final class CharRange extends CharProgression implements ClosedRange<Character>, OpenEndRange<Character> {
|
||||
|
||||
/* renamed from: Companion, reason: from kotlin metadata */
|
||||
public static final Companion INSTANCE = new Companion(null);
|
||||
private static final CharRange EMPTY = new CharRange(1, 0);
|
||||
|
||||
@Deprecated(message = "Can throw an exception when it's impossible to represent the value with Char type, for example, when the range includes MAX_VALUE. It's recommended to use 'endInclusive' property that doesn't throw.")
|
||||
public static /* synthetic */ void getEndExclusive$annotations() {
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public /* bridge */ /* synthetic */ boolean contains(Character ch2) {
|
||||
return contains(ch2.charValue());
|
||||
}
|
||||
|
||||
public CharRange(char c, char c2) {
|
||||
super(c, c2, 1);
|
||||
}
|
||||
|
||||
/* JADX WARN: Can't rename method to resolve collision */
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public Character getStart() {
|
||||
return Character.valueOf(getFirst());
|
||||
}
|
||||
|
||||
/* JADX WARN: Can't rename method to resolve collision */
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public Character getEndInclusive() {
|
||||
return Character.valueOf(getLast());
|
||||
}
|
||||
|
||||
/* JADX WARN: Can't rename method to resolve collision */
|
||||
@Override // kotlin.ranges.OpenEndRange
|
||||
public Character getEndExclusive() {
|
||||
if (getLast() == 65535) {
|
||||
throw new IllegalStateException("Cannot return the exclusive upper bound of a range that includes MAX_VALUE.".toString());
|
||||
}
|
||||
return Character.valueOf((char) (getLast() + 1));
|
||||
}
|
||||
|
||||
public boolean contains(char value) {
|
||||
return Intrinsics.compare((int) getFirst(), (int) value) <= 0 && Intrinsics.compare((int) value, (int) getLast()) <= 0;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.CharProgression, kotlin.ranges.ClosedRange
|
||||
public boolean isEmpty() {
|
||||
return Intrinsics.compare((int) getFirst(), (int) getLast()) > 0;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.CharProgression
|
||||
public boolean equals(Object other) {
|
||||
if (other instanceof CharRange) {
|
||||
if (!isEmpty() || !((CharRange) other).isEmpty()) {
|
||||
CharRange charRange = (CharRange) other;
|
||||
if (getFirst() != charRange.getFirst() || getLast() != charRange.getLast()) {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.CharProgression
|
||||
public int hashCode() {
|
||||
if (isEmpty()) {
|
||||
return -1;
|
||||
}
|
||||
return (getFirst() * 31) + getLast();
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.CharProgression
|
||||
public String toString() {
|
||||
return getFirst() + ".." + getLast();
|
||||
}
|
||||
|
||||
/* compiled from: PrimitiveRanges.kt */
|
||||
@Metadata(d1 = {"\u0000\u0014\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u0011\u0010\u0003\u001a\u00020\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0005\u0010\u0006¨\u0006\u0007"}, d2 = {"Lkotlin/ranges/CharRange$Companion;", "", "()V", "EMPTY", "Lkotlin/ranges/CharRange;", "getEMPTY", "()Lkotlin/ranges/CharRange;", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
public static final class Companion {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
|
||||
public final CharRange getEMPTY() {
|
||||
return CharRange.EMPTY;
|
||||
}
|
||||
}
|
||||
}
|
74
02-Easy5/E5/sources/kotlin/ranges/ClosedDoubleRange.java
Normal file
74
02-Easy5/E5/sources/kotlin/ranges/ClosedDoubleRange.java
Normal file
@ -0,0 +1,74 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.UByte$$ExternalSyntheticBackport0;
|
||||
|
||||
/* compiled from: Ranges.kt */
|
||||
@Metadata(d1 = {"\u0000,\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0006\n\u0002\b\t\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0002\b\u0005\n\u0002\u0010\u000e\n\u0000\b\u0002\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u0001B\u0015\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0004\u001a\u00020\u0002¢\u0006\u0002\u0010\u0005J\u0011\u0010\u000b\u001a\u00020\f2\u0006\u0010\r\u001a\u00020\u0002H\u0096\u0002J\u0013\u0010\u000e\u001a\u00020\f2\b\u0010\u000f\u001a\u0004\u0018\u00010\u0010H\u0096\u0002J\b\u0010\u0011\u001a\u00020\u0012H\u0016J\b\u0010\u0013\u001a\u00020\fH\u0016J\u0018\u0010\u0014\u001a\u00020\f2\u0006\u0010\u0015\u001a\u00020\u00022\u0006\u0010\u0016\u001a\u00020\u0002H\u0016J\b\u0010\u0017\u001a\u00020\u0018H\u0016R\u000e\u0010\u0006\u001a\u00020\u0002X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0007\u001a\u00020\u0002X\u0082\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\u0004\u001a\u00020\u00028VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\b\u0010\tR\u0014\u0010\u0003\u001a\u00020\u00028VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\n\u0010\t¨\u0006\u0019"}, d2 = {"Lkotlin/ranges/ClosedDoubleRange;", "Lkotlin/ranges/ClosedFloatingPointRange;", "", "start", "endInclusive", "(DD)V", "_endInclusive", "_start", "getEndInclusive", "()Ljava/lang/Double;", "getStart", "contains", "", "value", "equals", "other", "", "hashCode", "", "isEmpty", "lessThanOrEquals", "a", "b", "toString", "", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
final class ClosedDoubleRange implements ClosedFloatingPointRange<Double> {
|
||||
private final double _endInclusive;
|
||||
private final double _start;
|
||||
|
||||
public boolean contains(double value) {
|
||||
return value >= this._start && value <= this._endInclusive;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedFloatingPointRange, kotlin.ranges.ClosedRange
|
||||
public boolean isEmpty() {
|
||||
return this._start > this._endInclusive;
|
||||
}
|
||||
|
||||
public boolean lessThanOrEquals(double a, double b) {
|
||||
return a <= b;
|
||||
}
|
||||
|
||||
public ClosedDoubleRange(double d, double d2) {
|
||||
this._start = d;
|
||||
this._endInclusive = d2;
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
@Override // kotlin.ranges.ClosedFloatingPointRange, kotlin.ranges.ClosedRange
|
||||
public /* bridge */ /* synthetic */ boolean contains(Comparable comparable) {
|
||||
return contains(((Number) comparable).doubleValue());
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedFloatingPointRange
|
||||
public /* bridge */ /* synthetic */ boolean lessThanOrEquals(Double d, Double d2) {
|
||||
return lessThanOrEquals(d.doubleValue(), d2.doubleValue());
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public Double getStart() {
|
||||
return Double.valueOf(this._start);
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public Double getEndInclusive() {
|
||||
return Double.valueOf(this._endInclusive);
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (other instanceof ClosedDoubleRange) {
|
||||
if (!isEmpty() || !((ClosedDoubleRange) other).isEmpty()) {
|
||||
ClosedDoubleRange closedDoubleRange = (ClosedDoubleRange) other;
|
||||
if (this._start != closedDoubleRange._start || this._endInclusive != closedDoubleRange._endInclusive) {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
if (isEmpty()) {
|
||||
return -1;
|
||||
}
|
||||
return (UByte$$ExternalSyntheticBackport0.m(this._start) * 31) + UByte$$ExternalSyntheticBackport0.m(this._endInclusive);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return this._start + ".." + this._endInclusive;
|
||||
}
|
||||
}
|
73
02-Easy5/E5/sources/kotlin/ranges/ClosedFloatRange.java
Normal file
73
02-Easy5/E5/sources/kotlin/ranges/ClosedFloatRange.java
Normal file
@ -0,0 +1,73 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import kotlin.Metadata;
|
||||
|
||||
/* compiled from: Ranges.kt */
|
||||
@Metadata(d1 = {"\u0000,\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0007\n\u0002\b\t\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0002\b\u0005\n\u0002\u0010\u000e\n\u0000\b\u0002\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u0001B\u0015\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0004\u001a\u00020\u0002¢\u0006\u0002\u0010\u0005J\u0011\u0010\u000b\u001a\u00020\f2\u0006\u0010\r\u001a\u00020\u0002H\u0096\u0002J\u0013\u0010\u000e\u001a\u00020\f2\b\u0010\u000f\u001a\u0004\u0018\u00010\u0010H\u0096\u0002J\b\u0010\u0011\u001a\u00020\u0012H\u0016J\b\u0010\u0013\u001a\u00020\fH\u0016J\u0018\u0010\u0014\u001a\u00020\f2\u0006\u0010\u0015\u001a\u00020\u00022\u0006\u0010\u0016\u001a\u00020\u0002H\u0016J\b\u0010\u0017\u001a\u00020\u0018H\u0016R\u000e\u0010\u0006\u001a\u00020\u0002X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0007\u001a\u00020\u0002X\u0082\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\u0004\u001a\u00020\u00028VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\b\u0010\tR\u0014\u0010\u0003\u001a\u00020\u00028VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\n\u0010\t¨\u0006\u0019"}, d2 = {"Lkotlin/ranges/ClosedFloatRange;", "Lkotlin/ranges/ClosedFloatingPointRange;", "", "start", "endInclusive", "(FF)V", "_endInclusive", "_start", "getEndInclusive", "()Ljava/lang/Float;", "getStart", "contains", "", "value", "equals", "other", "", "hashCode", "", "isEmpty", "lessThanOrEquals", "a", "b", "toString", "", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
final class ClosedFloatRange implements ClosedFloatingPointRange<Float> {
|
||||
private final float _endInclusive;
|
||||
private final float _start;
|
||||
|
||||
public boolean contains(float value) {
|
||||
return value >= this._start && value <= this._endInclusive;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedFloatingPointRange, kotlin.ranges.ClosedRange
|
||||
public boolean isEmpty() {
|
||||
return this._start > this._endInclusive;
|
||||
}
|
||||
|
||||
public boolean lessThanOrEquals(float a, float b) {
|
||||
return a <= b;
|
||||
}
|
||||
|
||||
public ClosedFloatRange(float f, float f2) {
|
||||
this._start = f;
|
||||
this._endInclusive = f2;
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
@Override // kotlin.ranges.ClosedFloatingPointRange, kotlin.ranges.ClosedRange
|
||||
public /* bridge */ /* synthetic */ boolean contains(Comparable comparable) {
|
||||
return contains(((Number) comparable).floatValue());
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedFloatingPointRange
|
||||
public /* bridge */ /* synthetic */ boolean lessThanOrEquals(Float f, Float f2) {
|
||||
return lessThanOrEquals(f.floatValue(), f2.floatValue());
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public Float getStart() {
|
||||
return Float.valueOf(this._start);
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public Float getEndInclusive() {
|
||||
return Float.valueOf(this._endInclusive);
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (other instanceof ClosedFloatRange) {
|
||||
if (!isEmpty() || !((ClosedFloatRange) other).isEmpty()) {
|
||||
ClosedFloatRange closedFloatRange = (ClosedFloatRange) other;
|
||||
if (this._start != closedFloatRange._start || this._endInclusive != closedFloatRange._endInclusive) {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
if (isEmpty()) {
|
||||
return -1;
|
||||
}
|
||||
return (Float.floatToIntBits(this._start) * 31) + Float.floatToIntBits(this._endInclusive);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return this._start + ".." + this._endInclusive;
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import java.lang.Comparable;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* compiled from: Ranges.kt */
|
||||
@Metadata(d1 = {"\u0000\u0018\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000f\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\b\bg\u0018\u0000*\u000e\b\u0000\u0010\u0001*\b\u0012\u0004\u0012\u0002H\u00010\u00022\b\u0012\u0004\u0012\u0002H\u00010\u0003J\u0016\u0010\u0004\u001a\u00020\u00052\u0006\u0010\u0006\u001a\u00028\u0000H\u0096\u0002¢\u0006\u0002\u0010\u0007J\b\u0010\b\u001a\u00020\u0005H\u0016J\u001d\u0010\t\u001a\u00020\u00052\u0006\u0010\n\u001a\u00028\u00002\u0006\u0010\u000b\u001a\u00028\u0000H&¢\u0006\u0002\u0010\f¨\u0006\r"}, d2 = {"Lkotlin/ranges/ClosedFloatingPointRange;", "T", "", "Lkotlin/ranges/ClosedRange;", "contains", "", "value", "(Ljava/lang/Comparable;)Z", "isEmpty", "lessThanOrEquals", "a", "b", "(Ljava/lang/Comparable;Ljava/lang/Comparable;)Z", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public interface ClosedFloatingPointRange<T extends Comparable<? super T>> extends ClosedRange<T> {
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
boolean contains(T value);
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
boolean isEmpty();
|
||||
|
||||
boolean lessThanOrEquals(T a, T b);
|
||||
|
||||
/* compiled from: Ranges.kt */
|
||||
@Metadata(k = 3, mv = {1, 8, 0}, xi = 48)
|
||||
public static final class DefaultImpls {
|
||||
public static <T extends Comparable<? super T>> boolean contains(ClosedFloatingPointRange<T> closedFloatingPointRange, T value) {
|
||||
Intrinsics.checkNotNullParameter(value, "value");
|
||||
return closedFloatingPointRange.lessThanOrEquals(closedFloatingPointRange.getStart(), value) && closedFloatingPointRange.lessThanOrEquals(value, closedFloatingPointRange.getEndInclusive());
|
||||
}
|
||||
|
||||
public static <T extends Comparable<? super T>> boolean isEmpty(ClosedFloatingPointRange<T> closedFloatingPointRange) {
|
||||
return !closedFloatingPointRange.lessThanOrEquals(closedFloatingPointRange.getStart(), closedFloatingPointRange.getEndInclusive());
|
||||
}
|
||||
}
|
||||
}
|
31
02-Easy5/E5/sources/kotlin/ranges/ClosedRange.java
Normal file
31
02-Easy5/E5/sources/kotlin/ranges/ClosedRange.java
Normal file
@ -0,0 +1,31 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import java.lang.Comparable;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* compiled from: Range.kt */
|
||||
@Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000f\n\u0002\u0010\u0000\n\u0002\b\u0006\n\u0002\u0010\u000b\n\u0002\b\u0004\bf\u0018\u0000*\u000e\b\u0000\u0010\u0001*\b\u0012\u0004\u0012\u0002H\u00010\u00022\u00020\u0003J\u0016\u0010\t\u001a\u00020\n2\u0006\u0010\u000b\u001a\u00028\u0000H\u0096\u0002¢\u0006\u0002\u0010\fJ\b\u0010\r\u001a\u00020\nH\u0016R\u0012\u0010\u0004\u001a\u00028\u0000X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0005\u0010\u0006R\u0012\u0010\u0007\u001a\u00028\u0000X¦\u0004¢\u0006\u0006\u001a\u0004\b\b\u0010\u0006¨\u0006\u000e"}, d2 = {"Lkotlin/ranges/ClosedRange;", "T", "", "", "endInclusive", "getEndInclusive", "()Ljava/lang/Comparable;", "start", "getStart", "contains", "", "value", "(Ljava/lang/Comparable;)Z", "isEmpty", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public interface ClosedRange<T extends Comparable<? super T>> {
|
||||
boolean contains(T value);
|
||||
|
||||
T getEndInclusive();
|
||||
|
||||
T getStart();
|
||||
|
||||
boolean isEmpty();
|
||||
|
||||
/* compiled from: Range.kt */
|
||||
@Metadata(k = 3, mv = {1, 8, 0}, xi = 48)
|
||||
public static final class DefaultImpls {
|
||||
public static <T extends Comparable<? super T>> boolean contains(ClosedRange<T> closedRange, T value) {
|
||||
Intrinsics.checkNotNullParameter(value, "value");
|
||||
return value.compareTo(closedRange.getStart()) >= 0 && value.compareTo(closedRange.getEndInclusive()) <= 0;
|
||||
}
|
||||
|
||||
public static <T extends Comparable<? super T>> boolean isEmpty(ClosedRange<T> closedRange) {
|
||||
return closedRange.getStart().compareTo(closedRange.getEndInclusive()) > 0;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import java.lang.Comparable;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.ranges.OpenEndRange;
|
||||
|
||||
/* compiled from: Ranges.kt */
|
||||
@Metadata(d1 = {"\u0000*\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000f\n\u0002\u0018\u0002\n\u0002\b\b\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0000\n\u0002\u0010\u000e\n\u0000\b\u0012\u0018\u0000*\u000e\b\u0000\u0010\u0001*\b\u0012\u0004\u0012\u0002H\u00010\u00022\b\u0012\u0004\u0012\u0002H\u00010\u0003B\u0015\u0012\u0006\u0010\u0004\u001a\u00028\u0000\u0012\u0006\u0010\u0005\u001a\u00028\u0000¢\u0006\u0002\u0010\u0006J\u0013\u0010\u000b\u001a\u00020\f2\b\u0010\r\u001a\u0004\u0018\u00010\u000eH\u0096\u0002J\b\u0010\u000f\u001a\u00020\u0010H\u0016J\b\u0010\u0011\u001a\u00020\u0012H\u0016R\u0016\u0010\u0005\u001a\u00028\u0000X\u0096\u0004¢\u0006\n\n\u0002\u0010\t\u001a\u0004\b\u0007\u0010\bR\u0016\u0010\u0004\u001a\u00028\u0000X\u0096\u0004¢\u0006\n\n\u0002\u0010\t\u001a\u0004\b\n\u0010\b¨\u0006\u0013"}, d2 = {"Lkotlin/ranges/ComparableOpenEndRange;", "T", "", "Lkotlin/ranges/OpenEndRange;", "start", "endExclusive", "(Ljava/lang/Comparable;Ljava/lang/Comparable;)V", "getEndExclusive", "()Ljava/lang/Comparable;", "Ljava/lang/Comparable;", "getStart", "equals", "", "other", "", "hashCode", "", "toString", "", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
class ComparableOpenEndRange<T extends Comparable<? super T>> implements OpenEndRange<T> {
|
||||
private final T endExclusive;
|
||||
private final T start;
|
||||
|
||||
@Override // kotlin.ranges.OpenEndRange
|
||||
public T getEndExclusive() {
|
||||
return this.endExclusive;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.OpenEndRange
|
||||
public T getStart() {
|
||||
return this.start;
|
||||
}
|
||||
|
||||
public ComparableOpenEndRange(T start, T endExclusive) {
|
||||
Intrinsics.checkNotNullParameter(start, "start");
|
||||
Intrinsics.checkNotNullParameter(endExclusive, "endExclusive");
|
||||
this.start = start;
|
||||
this.endExclusive = endExclusive;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.OpenEndRange
|
||||
public boolean contains(T t) {
|
||||
return OpenEndRange.DefaultImpls.contains(this, t);
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.OpenEndRange
|
||||
public boolean isEmpty() {
|
||||
return OpenEndRange.DefaultImpls.isEmpty(this);
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (other instanceof ComparableOpenEndRange) {
|
||||
if (!isEmpty() || !((ComparableOpenEndRange) other).isEmpty()) {
|
||||
ComparableOpenEndRange comparableOpenEndRange = (ComparableOpenEndRange) other;
|
||||
if (!Intrinsics.areEqual(getStart(), comparableOpenEndRange.getStart()) || !Intrinsics.areEqual(getEndExclusive(), comparableOpenEndRange.getEndExclusive())) {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
if (isEmpty()) {
|
||||
return -1;
|
||||
}
|
||||
return (getStart().hashCode() * 31) + getEndExclusive().hashCode();
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return getStart() + "..<" + getEndExclusive();
|
||||
}
|
||||
}
|
64
02-Easy5/E5/sources/kotlin/ranges/ComparableRange.java
Normal file
64
02-Easy5/E5/sources/kotlin/ranges/ComparableRange.java
Normal file
@ -0,0 +1,64 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import java.lang.Comparable;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.ranges.ClosedRange;
|
||||
|
||||
/* compiled from: Ranges.kt */
|
||||
@Metadata(d1 = {"\u0000*\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000f\n\u0002\u0018\u0002\n\u0002\b\b\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0000\n\u0002\u0010\u000e\n\u0000\b\u0012\u0018\u0000*\u000e\b\u0000\u0010\u0001*\b\u0012\u0004\u0012\u0002H\u00010\u00022\b\u0012\u0004\u0012\u0002H\u00010\u0003B\u0015\u0012\u0006\u0010\u0004\u001a\u00028\u0000\u0012\u0006\u0010\u0005\u001a\u00028\u0000¢\u0006\u0002\u0010\u0006J\u0013\u0010\u000b\u001a\u00020\f2\b\u0010\r\u001a\u0004\u0018\u00010\u000eH\u0096\u0002J\b\u0010\u000f\u001a\u00020\u0010H\u0016J\b\u0010\u0011\u001a\u00020\u0012H\u0016R\u0016\u0010\u0005\u001a\u00028\u0000X\u0096\u0004¢\u0006\n\n\u0002\u0010\t\u001a\u0004\b\u0007\u0010\bR\u0016\u0010\u0004\u001a\u00028\u0000X\u0096\u0004¢\u0006\n\n\u0002\u0010\t\u001a\u0004\b\n\u0010\b¨\u0006\u0013"}, d2 = {"Lkotlin/ranges/ComparableRange;", "T", "", "Lkotlin/ranges/ClosedRange;", "start", "endInclusive", "(Ljava/lang/Comparable;Ljava/lang/Comparable;)V", "getEndInclusive", "()Ljava/lang/Comparable;", "Ljava/lang/Comparable;", "getStart", "equals", "", "other", "", "hashCode", "", "toString", "", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
class ComparableRange<T extends Comparable<? super T>> implements ClosedRange<T> {
|
||||
private final T endInclusive;
|
||||
private final T start;
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public T getEndInclusive() {
|
||||
return this.endInclusive;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public T getStart() {
|
||||
return this.start;
|
||||
}
|
||||
|
||||
public ComparableRange(T start, T endInclusive) {
|
||||
Intrinsics.checkNotNullParameter(start, "start");
|
||||
Intrinsics.checkNotNullParameter(endInclusive, "endInclusive");
|
||||
this.start = start;
|
||||
this.endInclusive = endInclusive;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public boolean contains(T t) {
|
||||
return ClosedRange.DefaultImpls.contains(this, t);
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public boolean isEmpty() {
|
||||
return ClosedRange.DefaultImpls.isEmpty(this);
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (other instanceof ComparableRange) {
|
||||
if (!isEmpty() || !((ComparableRange) other).isEmpty()) {
|
||||
ComparableRange comparableRange = (ComparableRange) other;
|
||||
if (!Intrinsics.areEqual(getStart(), comparableRange.getStart()) || !Intrinsics.areEqual(getEndInclusive(), comparableRange.getEndInclusive())) {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
if (isEmpty()) {
|
||||
return -1;
|
||||
}
|
||||
return (getStart().hashCode() * 31) + getEndInclusive().hashCode();
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return getStart() + ".." + getEndInclusive();
|
||||
}
|
||||
}
|
115
02-Easy5/E5/sources/kotlin/ranges/IntProgression.java
Normal file
115
02-Easy5/E5/sources/kotlin/ranges/IntProgression.java
Normal file
@ -0,0 +1,115 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import java.util.Iterator;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.internal.ProgressionUtilKt;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
import kotlin.jvm.internal.markers.KMappedMarker;
|
||||
|
||||
/* compiled from: Progressions.kt */
|
||||
@Metadata(d1 = {"\u0000,\n\u0002\u0018\u0002\n\u0002\u0010\u001c\n\u0002\u0010\b\n\u0002\b\u000b\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0002\b\u0016\u0018\u0000 \u00172\b\u0012\u0004\u0012\u00020\u00020\u0001:\u0001\u0017B\u001f\b\u0000\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0004\u001a\u00020\u0002\u0012\u0006\u0010\u0005\u001a\u00020\u0002¢\u0006\u0002\u0010\u0006J\u0013\u0010\r\u001a\u00020\u000e2\b\u0010\u000f\u001a\u0004\u0018\u00010\u0010H\u0096\u0002J\b\u0010\u0011\u001a\u00020\u0002H\u0016J\b\u0010\u0012\u001a\u00020\u000eH\u0016J\t\u0010\u0013\u001a\u00020\u0014H\u0096\u0002J\b\u0010\u0015\u001a\u00020\u0016H\u0016R\u0011\u0010\u0007\u001a\u00020\u0002¢\u0006\b\n\u0000\u001a\u0004\b\b\u0010\tR\u0011\u0010\n\u001a\u00020\u0002¢\u0006\b\n\u0000\u001a\u0004\b\u000b\u0010\tR\u0011\u0010\u0005\u001a\u00020\u0002¢\u0006\b\n\u0000\u001a\u0004\b\f\u0010\t¨\u0006\u0018"}, d2 = {"Lkotlin/ranges/IntProgression;", "", "", "start", "endInclusive", "step", "(III)V", "first", "getFirst", "()I", "last", "getLast", "getStep", "equals", "", "other", "", "hashCode", "isEmpty", "iterator", "Lkotlin/collections/IntIterator;", "toString", "", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public class IntProgression implements Iterable<Integer>, KMappedMarker {
|
||||
|
||||
/* renamed from: Companion, reason: from kotlin metadata */
|
||||
public static final Companion INSTANCE = new Companion(null);
|
||||
private final int first;
|
||||
private final int last;
|
||||
private final int step;
|
||||
|
||||
public final int getFirst() {
|
||||
return this.first;
|
||||
}
|
||||
|
||||
public final int getLast() {
|
||||
return this.last;
|
||||
}
|
||||
|
||||
public final int getStep() {
|
||||
return this.step;
|
||||
}
|
||||
|
||||
public boolean isEmpty() {
|
||||
if (this.step > 0) {
|
||||
if (this.first > this.last) {
|
||||
return true;
|
||||
}
|
||||
} else if (this.first < this.last) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public IntProgression(int i, int i2, int i3) {
|
||||
if (i3 == 0) {
|
||||
throw new IllegalArgumentException("Step must be non-zero.");
|
||||
}
|
||||
if (i3 == Integer.MIN_VALUE) {
|
||||
throw new IllegalArgumentException("Step must be greater than Int.MIN_VALUE to avoid overflow on negation.");
|
||||
}
|
||||
this.first = i;
|
||||
this.last = ProgressionUtilKt.getProgressionLastElement(i, i2, i3);
|
||||
this.step = i3;
|
||||
}
|
||||
|
||||
@Override // java.lang.Iterable
|
||||
public Iterator<Integer> iterator() {
|
||||
return new IntProgressionIterator(this.first, this.last, this.step);
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (other instanceof IntProgression) {
|
||||
if (!isEmpty() || !((IntProgression) other).isEmpty()) {
|
||||
IntProgression intProgression = (IntProgression) other;
|
||||
if (this.first != intProgression.first || this.last != intProgression.last || this.step != intProgression.step) {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
if (isEmpty()) {
|
||||
return -1;
|
||||
}
|
||||
return (((this.first * 31) + this.last) * 31) + this.step;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb;
|
||||
int i;
|
||||
if (this.step > 0) {
|
||||
sb = new StringBuilder();
|
||||
sb.append(this.first);
|
||||
sb.append("..");
|
||||
sb.append(this.last);
|
||||
sb.append(" step ");
|
||||
i = this.step;
|
||||
} else {
|
||||
sb = new StringBuilder();
|
||||
sb.append(this.first);
|
||||
sb.append(" downTo ");
|
||||
sb.append(this.last);
|
||||
sb.append(" step ");
|
||||
i = -this.step;
|
||||
}
|
||||
sb.append(i);
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
/* compiled from: Progressions.kt */
|
||||
@Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u0003\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\u001e\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u00062\u0006\u0010\b\u001a\u00020\u0006¨\u0006\t"}, d2 = {"Lkotlin/ranges/IntProgression$Companion;", "", "()V", "fromClosedRange", "Lkotlin/ranges/IntProgression;", "rangeStart", "", "rangeEnd", "step", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
public static final class Companion {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
|
||||
public final IntProgression fromClosedRange(int rangeStart, int rangeEnd, int step) {
|
||||
return new IntProgression(rangeStart, rangeEnd, step);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import java.util.NoSuchElementException;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.collections.IntIterator;
|
||||
|
||||
/* compiled from: ProgressionIterators.kt */
|
||||
@Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u0005\n\u0002\u0010\u000b\n\u0002\b\u0005\b\u0000\u0018\u00002\u00020\u0001B\u001d\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0003\u0012\u0006\u0010\u0005\u001a\u00020\u0003¢\u0006\u0002\u0010\u0006J\t\u0010\b\u001a\u00020\tH\u0096\u0002J\b\u0010\r\u001a\u00020\u0003H\u0016R\u000e\u0010\u0007\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\b\u001a\u00020\tX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\u0003X\u0082\u000e¢\u0006\u0002\n\u0000R\u0011\u0010\u0005\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u000b\u0010\f¨\u0006\u000e"}, d2 = {"Lkotlin/ranges/IntProgressionIterator;", "Lkotlin/collections/IntIterator;", "first", "", "last", "step", "(III)V", "finalElement", "hasNext", "", "next", "getStep", "()I", "nextInt", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public final class IntProgressionIterator extends IntIterator {
|
||||
private final int finalElement;
|
||||
private boolean hasNext;
|
||||
private int next;
|
||||
private final int step;
|
||||
|
||||
public final int getStep() {
|
||||
return this.step;
|
||||
}
|
||||
|
||||
@Override // java.util.Iterator
|
||||
public boolean hasNext() {
|
||||
return this.hasNext;
|
||||
}
|
||||
|
||||
public IntProgressionIterator(int i, int i2, int i3) {
|
||||
this.step = i3;
|
||||
this.finalElement = i2;
|
||||
boolean z = true;
|
||||
if (i3 <= 0 ? i < i2 : i > i2) {
|
||||
z = false;
|
||||
}
|
||||
this.hasNext = z;
|
||||
this.next = z ? i : i2;
|
||||
}
|
||||
|
||||
@Override // kotlin.collections.IntIterator
|
||||
public int nextInt() {
|
||||
int i = this.next;
|
||||
if (i != this.finalElement) {
|
||||
this.next = this.step + i;
|
||||
} else {
|
||||
if (!this.hasNext) {
|
||||
throw new NoSuchElementException();
|
||||
}
|
||||
this.hasNext = false;
|
||||
}
|
||||
return i;
|
||||
}
|
||||
}
|
96
02-Easy5/E5/sources/kotlin/ranges/IntRange.java
Normal file
96
02-Easy5/E5/sources/kotlin/ranges/IntRange.java
Normal file
@ -0,0 +1,96 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import kotlin.Deprecated;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
|
||||
/* compiled from: PrimitiveRanges.kt */
|
||||
@Metadata(d1 = {"\u00000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\b\n\u0002\u0018\u0002\n\u0002\b\u000b\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0010\u000e\n\u0002\b\u0002\u0018\u0000 \u00192\u00020\u00012\b\u0012\u0004\u0012\u00020\u00030\u00022\b\u0012\u0004\u0012\u00020\u00030\u0004:\u0001\u0019B\u0015\u0012\u0006\u0010\u0005\u001a\u00020\u0003\u0012\u0006\u0010\u0006\u001a\u00020\u0003¢\u0006\u0002\u0010\u0007J\u0011\u0010\u000f\u001a\u00020\u00102\u0006\u0010\u0011\u001a\u00020\u0003H\u0096\u0002J\u0013\u0010\u0012\u001a\u00020\u00102\b\u0010\u0013\u001a\u0004\u0018\u00010\u0014H\u0096\u0002J\b\u0010\u0015\u001a\u00020\u0003H\u0016J\b\u0010\u0016\u001a\u00020\u0010H\u0016J\b\u0010\u0017\u001a\u00020\u0018H\u0016R\u001a\u0010\b\u001a\u00020\u00038VX\u0097\u0004¢\u0006\f\u0012\u0004\b\t\u0010\n\u001a\u0004\b\u000b\u0010\fR\u0014\u0010\u0006\u001a\u00020\u00038VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\r\u0010\fR\u0014\u0010\u0005\u001a\u00020\u00038VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u000e\u0010\f¨\u0006\u001a"}, d2 = {"Lkotlin/ranges/IntRange;", "Lkotlin/ranges/IntProgression;", "Lkotlin/ranges/ClosedRange;", "", "Lkotlin/ranges/OpenEndRange;", "start", "endInclusive", "(II)V", "endExclusive", "getEndExclusive$annotations", "()V", "getEndExclusive", "()Ljava/lang/Integer;", "getEndInclusive", "getStart", "contains", "", "value", "equals", "other", "", "hashCode", "isEmpty", "toString", "", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public final class IntRange extends IntProgression implements ClosedRange<Integer>, OpenEndRange<Integer> {
|
||||
|
||||
/* renamed from: Companion, reason: from kotlin metadata */
|
||||
public static final Companion INSTANCE = new Companion(null);
|
||||
private static final IntRange EMPTY = new IntRange(1, 0);
|
||||
|
||||
@Deprecated(message = "Can throw an exception when it's impossible to represent the value with Int type, for example, when the range includes MAX_VALUE. It's recommended to use 'endInclusive' property that doesn't throw.")
|
||||
public static /* synthetic */ void getEndExclusive$annotations() {
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public /* bridge */ /* synthetic */ boolean contains(Integer num) {
|
||||
return contains(num.intValue());
|
||||
}
|
||||
|
||||
public IntRange(int i, int i2) {
|
||||
super(i, i2, 1);
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public Integer getStart() {
|
||||
return Integer.valueOf(getFirst());
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public Integer getEndInclusive() {
|
||||
return Integer.valueOf(getLast());
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.OpenEndRange
|
||||
public Integer getEndExclusive() {
|
||||
if (getLast() == Integer.MAX_VALUE) {
|
||||
throw new IllegalStateException("Cannot return the exclusive upper bound of a range that includes MAX_VALUE.".toString());
|
||||
}
|
||||
return Integer.valueOf(getLast() + 1);
|
||||
}
|
||||
|
||||
public boolean contains(int value) {
|
||||
return getFirst() <= value && value <= getLast();
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.IntProgression, kotlin.ranges.ClosedRange
|
||||
public boolean isEmpty() {
|
||||
return getFirst() > getLast();
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.IntProgression
|
||||
public boolean equals(Object other) {
|
||||
if (other instanceof IntRange) {
|
||||
if (!isEmpty() || !((IntRange) other).isEmpty()) {
|
||||
IntRange intRange = (IntRange) other;
|
||||
if (getFirst() != intRange.getFirst() || getLast() != intRange.getLast()) {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.IntProgression
|
||||
public int hashCode() {
|
||||
if (isEmpty()) {
|
||||
return -1;
|
||||
}
|
||||
return (getFirst() * 31) + getLast();
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.IntProgression
|
||||
public String toString() {
|
||||
return getFirst() + ".." + getLast();
|
||||
}
|
||||
|
||||
/* compiled from: PrimitiveRanges.kt */
|
||||
@Metadata(d1 = {"\u0000\u0014\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u0011\u0010\u0003\u001a\u00020\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0005\u0010\u0006¨\u0006\u0007"}, d2 = {"Lkotlin/ranges/IntRange$Companion;", "", "()V", "EMPTY", "Lkotlin/ranges/IntRange;", "getEMPTY", "()Lkotlin/ranges/IntRange;", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
public static final class Companion {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
|
||||
public final IntRange getEMPTY() {
|
||||
return IntRange.EMPTY;
|
||||
}
|
||||
}
|
||||
}
|
123
02-Easy5/E5/sources/kotlin/ranges/LongProgression.java
Normal file
123
02-Easy5/E5/sources/kotlin/ranges/LongProgression.java
Normal file
@ -0,0 +1,123 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import java.util.Iterator;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.internal.ProgressionUtilKt;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
import kotlin.jvm.internal.markers.KMappedMarker;
|
||||
|
||||
/* compiled from: Progressions.kt */
|
||||
@Metadata(d1 = {"\u00002\n\u0002\u0018\u0002\n\u0002\u0010\u001c\n\u0002\u0010\t\n\u0002\b\u000b\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0002\b\u0016\u0018\u0000 \u00182\b\u0012\u0004\u0012\u00020\u00020\u0001:\u0001\u0018B\u001f\b\u0000\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0004\u001a\u00020\u0002\u0012\u0006\u0010\u0005\u001a\u00020\u0002¢\u0006\u0002\u0010\u0006J\u0013\u0010\r\u001a\u00020\u000e2\b\u0010\u000f\u001a\u0004\u0018\u00010\u0010H\u0096\u0002J\b\u0010\u0011\u001a\u00020\u0012H\u0016J\b\u0010\u0013\u001a\u00020\u000eH\u0016J\t\u0010\u0014\u001a\u00020\u0015H\u0096\u0002J\b\u0010\u0016\u001a\u00020\u0017H\u0016R\u0011\u0010\u0007\u001a\u00020\u0002¢\u0006\b\n\u0000\u001a\u0004\b\b\u0010\tR\u0011\u0010\n\u001a\u00020\u0002¢\u0006\b\n\u0000\u001a\u0004\b\u000b\u0010\tR\u0011\u0010\u0005\u001a\u00020\u0002¢\u0006\b\n\u0000\u001a\u0004\b\f\u0010\t¨\u0006\u0019"}, d2 = {"Lkotlin/ranges/LongProgression;", "", "", "start", "endInclusive", "step", "(JJJ)V", "first", "getFirst", "()J", "last", "getLast", "getStep", "equals", "", "other", "", "hashCode", "", "isEmpty", "iterator", "Lkotlin/collections/LongIterator;", "toString", "", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public class LongProgression implements Iterable<Long>, KMappedMarker {
|
||||
|
||||
/* renamed from: Companion, reason: from kotlin metadata */
|
||||
public static final Companion INSTANCE = new Companion(null);
|
||||
private final long first;
|
||||
private final long last;
|
||||
private final long step;
|
||||
|
||||
public final long getFirst() {
|
||||
return this.first;
|
||||
}
|
||||
|
||||
public final long getLast() {
|
||||
return this.last;
|
||||
}
|
||||
|
||||
public final long getStep() {
|
||||
return this.step;
|
||||
}
|
||||
|
||||
public boolean isEmpty() {
|
||||
long j = this.step;
|
||||
long j2 = this.first;
|
||||
long j3 = this.last;
|
||||
if (j > 0) {
|
||||
if (j2 > j3) {
|
||||
return true;
|
||||
}
|
||||
} else if (j2 < j3) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public LongProgression(long j, long j2, long j3) {
|
||||
if (j3 == 0) {
|
||||
throw new IllegalArgumentException("Step must be non-zero.");
|
||||
}
|
||||
if (j3 == Long.MIN_VALUE) {
|
||||
throw new IllegalArgumentException("Step must be greater than Long.MIN_VALUE to avoid overflow on negation.");
|
||||
}
|
||||
this.first = j;
|
||||
this.last = ProgressionUtilKt.getProgressionLastElement(j, j2, j3);
|
||||
this.step = j3;
|
||||
}
|
||||
|
||||
@Override // java.lang.Iterable
|
||||
public Iterator<Long> iterator() {
|
||||
return new LongProgressionIterator(this.first, this.last, this.step);
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (other instanceof LongProgression) {
|
||||
if (!isEmpty() || !((LongProgression) other).isEmpty()) {
|
||||
LongProgression longProgression = (LongProgression) other;
|
||||
if (this.first != longProgression.first || this.last != longProgression.last || this.step != longProgression.step) {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
if (isEmpty()) {
|
||||
return -1;
|
||||
}
|
||||
long j = 31;
|
||||
long j2 = this.first;
|
||||
long j3 = this.last;
|
||||
long j4 = j * (((j2 ^ (j2 >>> 32)) * j) + (j3 ^ (j3 >>> 32)));
|
||||
long j5 = this.step;
|
||||
return (int) (j4 + (j5 ^ (j5 >>> 32)));
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb;
|
||||
long j;
|
||||
if (this.step > 0) {
|
||||
sb = new StringBuilder();
|
||||
sb.append(this.first);
|
||||
sb.append("..");
|
||||
sb.append(this.last);
|
||||
sb.append(" step ");
|
||||
j = this.step;
|
||||
} else {
|
||||
sb = new StringBuilder();
|
||||
sb.append(this.first);
|
||||
sb.append(" downTo ");
|
||||
sb.append(this.last);
|
||||
sb.append(" step ");
|
||||
j = -this.step;
|
||||
}
|
||||
sb.append(j);
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
/* compiled from: Progressions.kt */
|
||||
@Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0002\b\u0003\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\u001e\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u00062\u0006\u0010\b\u001a\u00020\u0006¨\u0006\t"}, d2 = {"Lkotlin/ranges/LongProgression$Companion;", "", "()V", "fromClosedRange", "Lkotlin/ranges/LongProgression;", "rangeStart", "", "rangeEnd", "step", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
public static final class Companion {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
|
||||
public final LongProgression fromClosedRange(long rangeStart, long rangeEnd, long step) {
|
||||
return new LongProgression(rangeStart, rangeEnd, step);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import java.util.NoSuchElementException;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.collections.LongIterator;
|
||||
|
||||
/* compiled from: ProgressionIterators.kt */
|
||||
@Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0002\b\u0005\n\u0002\u0010\u000b\n\u0002\b\u0005\b\u0000\u0018\u00002\u00020\u0001B\u001d\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0003\u0012\u0006\u0010\u0005\u001a\u00020\u0003¢\u0006\u0002\u0010\u0006J\t\u0010\b\u001a\u00020\tH\u0096\u0002J\b\u0010\r\u001a\u00020\u0003H\u0016R\u000e\u0010\u0007\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\b\u001a\u00020\tX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\u0003X\u0082\u000e¢\u0006\u0002\n\u0000R\u0011\u0010\u0005\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u000b\u0010\f¨\u0006\u000e"}, d2 = {"Lkotlin/ranges/LongProgressionIterator;", "Lkotlin/collections/LongIterator;", "first", "", "last", "step", "(JJJ)V", "finalElement", "hasNext", "", "next", "getStep", "()J", "nextLong", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public final class LongProgressionIterator extends LongIterator {
|
||||
private final long finalElement;
|
||||
private boolean hasNext;
|
||||
private long next;
|
||||
private final long step;
|
||||
|
||||
public final long getStep() {
|
||||
return this.step;
|
||||
}
|
||||
|
||||
@Override // java.util.Iterator
|
||||
public boolean hasNext() {
|
||||
return this.hasNext;
|
||||
}
|
||||
|
||||
public LongProgressionIterator(long j, long j2, long j3) {
|
||||
this.step = j3;
|
||||
this.finalElement = j2;
|
||||
boolean z = true;
|
||||
if (j3 <= 0 ? j < j2 : j > j2) {
|
||||
z = false;
|
||||
}
|
||||
this.hasNext = z;
|
||||
this.next = z ? j : j2;
|
||||
}
|
||||
|
||||
@Override // kotlin.collections.LongIterator
|
||||
public long nextLong() {
|
||||
long j = this.next;
|
||||
if (j != this.finalElement) {
|
||||
this.next = this.step + j;
|
||||
} else {
|
||||
if (!this.hasNext) {
|
||||
throw new NoSuchElementException();
|
||||
}
|
||||
this.hasNext = false;
|
||||
}
|
||||
return j;
|
||||
}
|
||||
}
|
96
02-Easy5/E5/sources/kotlin/ranges/LongRange.java
Normal file
96
02-Easy5/E5/sources/kotlin/ranges/LongRange.java
Normal file
@ -0,0 +1,96 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import kotlin.Deprecated;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
|
||||
/* compiled from: PrimitiveRanges.kt */
|
||||
@Metadata(d1 = {"\u00006\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\t\n\u0002\u0018\u0002\n\u0002\b\u000b\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0002\b\u0002\u0018\u0000 \u001a2\u00020\u00012\b\u0012\u0004\u0012\u00020\u00030\u00022\b\u0012\u0004\u0012\u00020\u00030\u0004:\u0001\u001aB\u0015\u0012\u0006\u0010\u0005\u001a\u00020\u0003\u0012\u0006\u0010\u0006\u001a\u00020\u0003¢\u0006\u0002\u0010\u0007J\u0011\u0010\u000f\u001a\u00020\u00102\u0006\u0010\u0011\u001a\u00020\u0003H\u0096\u0002J\u0013\u0010\u0012\u001a\u00020\u00102\b\u0010\u0013\u001a\u0004\u0018\u00010\u0014H\u0096\u0002J\b\u0010\u0015\u001a\u00020\u0016H\u0016J\b\u0010\u0017\u001a\u00020\u0010H\u0016J\b\u0010\u0018\u001a\u00020\u0019H\u0016R\u001a\u0010\b\u001a\u00020\u00038VX\u0097\u0004¢\u0006\f\u0012\u0004\b\t\u0010\n\u001a\u0004\b\u000b\u0010\fR\u0014\u0010\u0006\u001a\u00020\u00038VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\r\u0010\fR\u0014\u0010\u0005\u001a\u00020\u00038VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u000e\u0010\f¨\u0006\u001b"}, d2 = {"Lkotlin/ranges/LongRange;", "Lkotlin/ranges/LongProgression;", "Lkotlin/ranges/ClosedRange;", "", "Lkotlin/ranges/OpenEndRange;", "start", "endInclusive", "(JJ)V", "endExclusive", "getEndExclusive$annotations", "()V", "getEndExclusive", "()Ljava/lang/Long;", "getEndInclusive", "getStart", "contains", "", "value", "equals", "other", "", "hashCode", "", "isEmpty", "toString", "", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public final class LongRange extends LongProgression implements ClosedRange<Long>, OpenEndRange<Long> {
|
||||
|
||||
/* renamed from: Companion, reason: from kotlin metadata */
|
||||
public static final Companion INSTANCE = new Companion(null);
|
||||
private static final LongRange EMPTY = new LongRange(1, 0);
|
||||
|
||||
@Deprecated(message = "Can throw an exception when it's impossible to represent the value with Long type, for example, when the range includes MAX_VALUE. It's recommended to use 'endInclusive' property that doesn't throw.")
|
||||
public static /* synthetic */ void getEndExclusive$annotations() {
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public /* bridge */ /* synthetic */ boolean contains(Long l) {
|
||||
return contains(l.longValue());
|
||||
}
|
||||
|
||||
public LongRange(long j, long j2) {
|
||||
super(j, j2, 1L);
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public Long getStart() {
|
||||
return Long.valueOf(getFirst());
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public Long getEndInclusive() {
|
||||
return Long.valueOf(getLast());
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.OpenEndRange
|
||||
public Long getEndExclusive() {
|
||||
if (getLast() == Long.MAX_VALUE) {
|
||||
throw new IllegalStateException("Cannot return the exclusive upper bound of a range that includes MAX_VALUE.".toString());
|
||||
}
|
||||
return Long.valueOf(getLast() + 1);
|
||||
}
|
||||
|
||||
public boolean contains(long value) {
|
||||
return getFirst() <= value && value <= getLast();
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.LongProgression, kotlin.ranges.ClosedRange
|
||||
public boolean isEmpty() {
|
||||
return getFirst() > getLast();
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.LongProgression
|
||||
public boolean equals(Object other) {
|
||||
if (other instanceof LongRange) {
|
||||
if (!isEmpty() || !((LongRange) other).isEmpty()) {
|
||||
LongRange longRange = (LongRange) other;
|
||||
if (getFirst() != longRange.getFirst() || getLast() != longRange.getLast()) {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.LongProgression
|
||||
public int hashCode() {
|
||||
if (isEmpty()) {
|
||||
return -1;
|
||||
}
|
||||
return (int) ((31 * (getFirst() ^ (getFirst() >>> 32))) + (getLast() ^ (getLast() >>> 32)));
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.LongProgression
|
||||
public String toString() {
|
||||
return getFirst() + ".." + getLast();
|
||||
}
|
||||
|
||||
/* compiled from: PrimitiveRanges.kt */
|
||||
@Metadata(d1 = {"\u0000\u0014\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u0011\u0010\u0003\u001a\u00020\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0005\u0010\u0006¨\u0006\u0007"}, d2 = {"Lkotlin/ranges/LongRange$Companion;", "", "()V", "EMPTY", "Lkotlin/ranges/LongRange;", "getEMPTY", "()Lkotlin/ranges/LongRange;", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
public static final class Companion {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
|
||||
public final LongRange getEMPTY() {
|
||||
return LongRange.EMPTY;
|
||||
}
|
||||
}
|
||||
}
|
68
02-Easy5/E5/sources/kotlin/ranges/OpenEndDoubleRange.java
Normal file
68
02-Easy5/E5/sources/kotlin/ranges/OpenEndDoubleRange.java
Normal file
@ -0,0 +1,68 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.UByte$$ExternalSyntheticBackport0;
|
||||
|
||||
/* compiled from: Ranges.kt */
|
||||
@Metadata(d1 = {"\u0000,\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0006\n\u0002\b\t\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0002\b\u0005\n\u0002\u0010\u000e\n\u0000\b\u0002\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u0001B\u0015\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0004\u001a\u00020\u0002¢\u0006\u0002\u0010\u0005J\u0011\u0010\u000b\u001a\u00020\f2\u0006\u0010\r\u001a\u00020\u0002H\u0096\u0002J\u0013\u0010\u000e\u001a\u00020\f2\b\u0010\u000f\u001a\u0004\u0018\u00010\u0010H\u0096\u0002J\b\u0010\u0011\u001a\u00020\u0012H\u0016J\b\u0010\u0013\u001a\u00020\fH\u0016J\u0018\u0010\u0014\u001a\u00020\f2\u0006\u0010\u0015\u001a\u00020\u00022\u0006\u0010\u0016\u001a\u00020\u0002H\u0002J\b\u0010\u0017\u001a\u00020\u0018H\u0016R\u000e\u0010\u0006\u001a\u00020\u0002X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0007\u001a\u00020\u0002X\u0082\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\u0004\u001a\u00020\u00028VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\b\u0010\tR\u0014\u0010\u0003\u001a\u00020\u00028VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\n\u0010\t¨\u0006\u0019"}, d2 = {"Lkotlin/ranges/OpenEndDoubleRange;", "Lkotlin/ranges/OpenEndRange;", "", "start", "endExclusive", "(DD)V", "_endExclusive", "_start", "getEndExclusive", "()Ljava/lang/Double;", "getStart", "contains", "", "value", "equals", "other", "", "hashCode", "", "isEmpty", "lessThanOrEquals", "a", "b", "toString", "", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
final class OpenEndDoubleRange implements OpenEndRange<Double> {
|
||||
private final double _endExclusive;
|
||||
private final double _start;
|
||||
|
||||
private final boolean lessThanOrEquals(double a, double b) {
|
||||
return a <= b;
|
||||
}
|
||||
|
||||
public boolean contains(double value) {
|
||||
return value >= this._start && value < this._endExclusive;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.OpenEndRange
|
||||
public boolean isEmpty() {
|
||||
return this._start >= this._endExclusive;
|
||||
}
|
||||
|
||||
public OpenEndDoubleRange(double d, double d2) {
|
||||
this._start = d;
|
||||
this._endExclusive = d2;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.OpenEndRange
|
||||
public /* bridge */ /* synthetic */ boolean contains(Double d) {
|
||||
return contains(d.doubleValue());
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.OpenEndRange
|
||||
public Double getStart() {
|
||||
return Double.valueOf(this._start);
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.OpenEndRange
|
||||
public Double getEndExclusive() {
|
||||
return Double.valueOf(this._endExclusive);
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (other instanceof OpenEndDoubleRange) {
|
||||
if (!isEmpty() || !((OpenEndDoubleRange) other).isEmpty()) {
|
||||
OpenEndDoubleRange openEndDoubleRange = (OpenEndDoubleRange) other;
|
||||
if (this._start != openEndDoubleRange._start || this._endExclusive != openEndDoubleRange._endExclusive) {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
if (isEmpty()) {
|
||||
return -1;
|
||||
}
|
||||
return (UByte$$ExternalSyntheticBackport0.m(this._start) * 31) + UByte$$ExternalSyntheticBackport0.m(this._endExclusive);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return this._start + "..<" + this._endExclusive;
|
||||
}
|
||||
}
|
67
02-Easy5/E5/sources/kotlin/ranges/OpenEndFloatRange.java
Normal file
67
02-Easy5/E5/sources/kotlin/ranges/OpenEndFloatRange.java
Normal file
@ -0,0 +1,67 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import kotlin.Metadata;
|
||||
|
||||
/* compiled from: Ranges.kt */
|
||||
@Metadata(d1 = {"\u0000,\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0007\n\u0002\b\t\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0002\b\u0005\n\u0002\u0010\u000e\n\u0000\b\u0002\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u0001B\u0015\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0004\u001a\u00020\u0002¢\u0006\u0002\u0010\u0005J\u0011\u0010\u000b\u001a\u00020\f2\u0006\u0010\r\u001a\u00020\u0002H\u0096\u0002J\u0013\u0010\u000e\u001a\u00020\f2\b\u0010\u000f\u001a\u0004\u0018\u00010\u0010H\u0096\u0002J\b\u0010\u0011\u001a\u00020\u0012H\u0016J\b\u0010\u0013\u001a\u00020\fH\u0016J\u0018\u0010\u0014\u001a\u00020\f2\u0006\u0010\u0015\u001a\u00020\u00022\u0006\u0010\u0016\u001a\u00020\u0002H\u0002J\b\u0010\u0017\u001a\u00020\u0018H\u0016R\u000e\u0010\u0006\u001a\u00020\u0002X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0007\u001a\u00020\u0002X\u0082\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\u0004\u001a\u00020\u00028VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\b\u0010\tR\u0014\u0010\u0003\u001a\u00020\u00028VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\n\u0010\t¨\u0006\u0019"}, d2 = {"Lkotlin/ranges/OpenEndFloatRange;", "Lkotlin/ranges/OpenEndRange;", "", "start", "endExclusive", "(FF)V", "_endExclusive", "_start", "getEndExclusive", "()Ljava/lang/Float;", "getStart", "contains", "", "value", "equals", "other", "", "hashCode", "", "isEmpty", "lessThanOrEquals", "a", "b", "toString", "", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
final class OpenEndFloatRange implements OpenEndRange<Float> {
|
||||
private final float _endExclusive;
|
||||
private final float _start;
|
||||
|
||||
private final boolean lessThanOrEquals(float a, float b) {
|
||||
return a <= b;
|
||||
}
|
||||
|
||||
public boolean contains(float value) {
|
||||
return value >= this._start && value < this._endExclusive;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.OpenEndRange
|
||||
public boolean isEmpty() {
|
||||
return this._start >= this._endExclusive;
|
||||
}
|
||||
|
||||
public OpenEndFloatRange(float f, float f2) {
|
||||
this._start = f;
|
||||
this._endExclusive = f2;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.OpenEndRange
|
||||
public /* bridge */ /* synthetic */ boolean contains(Float f) {
|
||||
return contains(f.floatValue());
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.OpenEndRange
|
||||
public Float getStart() {
|
||||
return Float.valueOf(this._start);
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.OpenEndRange
|
||||
public Float getEndExclusive() {
|
||||
return Float.valueOf(this._endExclusive);
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (other instanceof OpenEndFloatRange) {
|
||||
if (!isEmpty() || !((OpenEndFloatRange) other).isEmpty()) {
|
||||
OpenEndFloatRange openEndFloatRange = (OpenEndFloatRange) other;
|
||||
if (this._start != openEndFloatRange._start || this._endExclusive != openEndFloatRange._endExclusive) {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
if (isEmpty()) {
|
||||
return -1;
|
||||
}
|
||||
return (Float.floatToIntBits(this._start) * 31) + Float.floatToIntBits(this._endExclusive);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return this._start + "..<" + this._endExclusive;
|
||||
}
|
||||
}
|
31
02-Easy5/E5/sources/kotlin/ranges/OpenEndRange.java
Normal file
31
02-Easy5/E5/sources/kotlin/ranges/OpenEndRange.java
Normal file
@ -0,0 +1,31 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import java.lang.Comparable;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* compiled from: Range.kt */
|
||||
@Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000f\n\u0002\u0010\u0000\n\u0002\b\u0006\n\u0002\u0010\u000b\n\u0002\b\u0004\bg\u0018\u0000*\u000e\b\u0000\u0010\u0001*\b\u0012\u0004\u0012\u0002H\u00010\u00022\u00020\u0003J\u0016\u0010\t\u001a\u00020\n2\u0006\u0010\u000b\u001a\u00028\u0000H\u0096\u0002¢\u0006\u0002\u0010\fJ\b\u0010\r\u001a\u00020\nH\u0016R\u0012\u0010\u0004\u001a\u00028\u0000X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0005\u0010\u0006R\u0012\u0010\u0007\u001a\u00028\u0000X¦\u0004¢\u0006\u0006\u001a\u0004\b\b\u0010\u0006¨\u0006\u000e"}, d2 = {"Lkotlin/ranges/OpenEndRange;", "T", "", "", "endExclusive", "getEndExclusive", "()Ljava/lang/Comparable;", "start", "getStart", "contains", "", "value", "(Ljava/lang/Comparable;)Z", "isEmpty", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public interface OpenEndRange<T extends Comparable<? super T>> {
|
||||
boolean contains(T value);
|
||||
|
||||
T getEndExclusive();
|
||||
|
||||
T getStart();
|
||||
|
||||
boolean isEmpty();
|
||||
|
||||
/* compiled from: Range.kt */
|
||||
@Metadata(k = 3, mv = {1, 8, 0}, xi = 48)
|
||||
public static final class DefaultImpls {
|
||||
public static <T extends Comparable<? super T>> boolean contains(OpenEndRange<T> openEndRange, T value) {
|
||||
Intrinsics.checkNotNullParameter(value, "value");
|
||||
return value.compareTo(openEndRange.getStart()) >= 0 && value.compareTo(openEndRange.getEndExclusive()) < 0;
|
||||
}
|
||||
|
||||
public static <T extends Comparable<? super T>> boolean isEmpty(OpenEndRange<T> openEndRange) {
|
||||
return openEndRange.getStart().compareTo(openEndRange.getEndExclusive()) >= 0;
|
||||
}
|
||||
}
|
||||
}
|
10
02-Easy5/E5/sources/kotlin/ranges/RangesKt.java
Normal file
10
02-Easy5/E5/sources/kotlin/ranges/RangesKt.java
Normal file
@ -0,0 +1,10 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import kotlin.Metadata;
|
||||
|
||||
@Metadata(d1 = {"kotlin/ranges/RangesKt__RangesKt", "kotlin/ranges/RangesKt___RangesKt"}, k = 4, mv = {1, 8, 0}, xi = 49)
|
||||
/* loaded from: classes.dex */
|
||||
public final class RangesKt extends RangesKt___RangesKt {
|
||||
private RangesKt() {
|
||||
}
|
||||
}
|
57
02-Easy5/E5/sources/kotlin/ranges/RangesKt__RangesKt.java
Normal file
57
02-Easy5/E5/sources/kotlin/ranges/RangesKt__RangesKt.java
Normal file
@ -0,0 +1,57 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* compiled from: Ranges.kt */
|
||||
@Metadata(d1 = {"\u0000H\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0004\n\u0002\b\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\u001c\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000f\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0006\n\u0002\u0010\u0007\n\u0002\b\u0003\u001a\u0018\u0010\u0000\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u0005H\u0000\u001a@\u0010\u0006\u001a\u00020\u0003\"\b\b\u0000\u0010\u0007*\u00020\b\"\u0018\b\u0001\u0010\t*\b\u0012\u0004\u0012\u0002H\u00070\n*\b\u0012\u0004\u0012\u0002H\u00070\u000b*\u0002H\t2\b\u0010\f\u001a\u0004\u0018\u0001H\u0007H\u0087\n¢\u0006\u0002\u0010\r\u001a@\u0010\u0006\u001a\u00020\u0003\"\b\b\u0000\u0010\u0007*\u00020\b\"\u0018\b\u0001\u0010\t*\b\u0012\u0004\u0012\u0002H\u00070\u000e*\b\u0012\u0004\u0012\u0002H\u00070\u000b*\u0002H\t2\b\u0010\f\u001a\u0004\u0018\u0001H\u0007H\u0087\n¢\u0006\u0002\u0010\u000f\u001a0\u0010\u0010\u001a\b\u0012\u0004\u0012\u0002H\u00070\n\"\u000e\b\u0000\u0010\u0007*\b\u0012\u0004\u0012\u0002H\u00070\u0011*\u0002H\u00072\u0006\u0010\u0012\u001a\u0002H\u0007H\u0086\u0002¢\u0006\u0002\u0010\u0013\u001a\u001b\u0010\u0010\u001a\b\u0012\u0004\u0012\u00020\u00150\u0014*\u00020\u00152\u0006\u0010\u0012\u001a\u00020\u0015H\u0087\u0002\u001a\u001b\u0010\u0010\u001a\b\u0012\u0004\u0012\u00020\u00160\u0014*\u00020\u00162\u0006\u0010\u0012\u001a\u00020\u0016H\u0087\u0002\u001a0\u0010\u0017\u001a\b\u0012\u0004\u0012\u0002H\u00070\u000e\"\u000e\b\u0000\u0010\u0007*\b\u0012\u0004\u0012\u0002H\u00070\u0011*\u0002H\u00072\u0006\u0010\u0012\u001a\u0002H\u0007H\u0087\u0002¢\u0006\u0002\u0010\u0018\u001a\u001b\u0010\u0017\u001a\b\u0012\u0004\u0012\u00020\u00150\u000e*\u00020\u00152\u0006\u0010\u0012\u001a\u00020\u0015H\u0087\u0002\u001a\u001b\u0010\u0017\u001a\b\u0012\u0004\u0012\u00020\u00160\u000e*\u00020\u00162\u0006\u0010\u0012\u001a\u00020\u0016H\u0087\u0002¨\u0006\u0019"}, d2 = {"checkStepIsPositive", "", "isPositive", "", "step", "", "contains", "T", "", "R", "Lkotlin/ranges/ClosedRange;", "", "element", "(Lkotlin/ranges/ClosedRange;Ljava/lang/Object;)Z", "Lkotlin/ranges/OpenEndRange;", "(Lkotlin/ranges/OpenEndRange;Ljava/lang/Object;)Z", "rangeTo", "", "that", "(Ljava/lang/Comparable;Ljava/lang/Comparable;)Lkotlin/ranges/ClosedRange;", "Lkotlin/ranges/ClosedFloatingPointRange;", "", "", "rangeUntil", "(Ljava/lang/Comparable;Ljava/lang/Comparable;)Lkotlin/ranges/OpenEndRange;", "kotlin-stdlib"}, k = 5, mv = {1, 8, 0}, xi = 49, xs = "kotlin/ranges/RangesKt")
|
||||
/* loaded from: classes.dex */
|
||||
class RangesKt__RangesKt {
|
||||
public static final <T extends Comparable<? super T>> ClosedRange<T> rangeTo(T t, T that) {
|
||||
Intrinsics.checkNotNullParameter(t, "<this>");
|
||||
Intrinsics.checkNotNullParameter(that, "that");
|
||||
return new ComparableRange(t, that);
|
||||
}
|
||||
|
||||
public static final <T extends Comparable<? super T>> OpenEndRange<T> rangeUntil(T t, T that) {
|
||||
Intrinsics.checkNotNullParameter(t, "<this>");
|
||||
Intrinsics.checkNotNullParameter(that, "that");
|
||||
return new ComparableOpenEndRange(t, that);
|
||||
}
|
||||
|
||||
public static final ClosedFloatingPointRange<Double> rangeTo(double d, double d2) {
|
||||
return new ClosedDoubleRange(d, d2);
|
||||
}
|
||||
|
||||
public static final OpenEndRange<Double> rangeUntil(double d, double d2) {
|
||||
return new OpenEndDoubleRange(d, d2);
|
||||
}
|
||||
|
||||
public static final ClosedFloatingPointRange<Float> rangeTo(float f, float f2) {
|
||||
return new ClosedFloatRange(f, f2);
|
||||
}
|
||||
|
||||
public static final OpenEndRange<Float> rangeUntil(float f, float f2) {
|
||||
return new OpenEndFloatRange(f, f2);
|
||||
}
|
||||
|
||||
/* JADX WARN: Incorrect types in method signature: <T:Ljava/lang/Object;R::Lkotlin/ranges/ClosedRange<TT;>;:Ljava/lang/Iterable<+TT;>;>(TR;TT;)Z */
|
||||
private static final boolean contains(ClosedRange closedRange, Object obj) {
|
||||
Intrinsics.checkNotNullParameter(closedRange, "<this>");
|
||||
return obj != null && closedRange.contains((Comparable) obj);
|
||||
}
|
||||
|
||||
/* JADX WARN: Incorrect types in method signature: <T:Ljava/lang/Object;R::Lkotlin/ranges/OpenEndRange<TT;>;:Ljava/lang/Iterable<+TT;>;>(TR;TT;)Z */
|
||||
private static final boolean contains(OpenEndRange openEndRange, Object obj) {
|
||||
Intrinsics.checkNotNullParameter(openEndRange, "<this>");
|
||||
return obj != null && openEndRange.contains((Comparable) obj);
|
||||
}
|
||||
|
||||
public static final void checkStepIsPositive(boolean z, Number step) {
|
||||
Intrinsics.checkNotNullParameter(step, "step");
|
||||
if (z) {
|
||||
return;
|
||||
}
|
||||
throw new IllegalArgumentException("Step must be positive, was: " + step + '.');
|
||||
}
|
||||
}
|
1049
02-Easy5/E5/sources/kotlin/ranges/RangesKt___RangesKt.java
Normal file
1049
02-Easy5/E5/sources/kotlin/ranges/RangesKt___RangesKt.java
Normal file
File diff suppressed because one or more lines are too long
129
02-Easy5/E5/sources/kotlin/ranges/UIntProgression.java
Normal file
129
02-Easy5/E5/sources/kotlin/ranges/UIntProgression.java
Normal file
@ -0,0 +1,129 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import java.util.Iterator;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.UInt;
|
||||
import kotlin.internal.UProgressionUtilKt;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
import kotlin.jvm.internal.markers.KMappedMarker;
|
||||
|
||||
/* compiled from: UIntRange.kt */
|
||||
@Metadata(d1 = {"\u00004\n\u0002\u0018\u0002\n\u0002\u0010\u001c\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\b\n\u0002\b\t\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0010(\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0002\b\u0017\u0018\u0000 \u00192\b\u0012\u0004\u0012\u00020\u00020\u0001:\u0001\u0019B\"\b\u0000\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0004\u001a\u00020\u0002\u0012\u0006\u0010\u0005\u001a\u00020\u0006ø\u0001\u0000¢\u0006\u0002\u0010\u0007J\u0013\u0010\u000f\u001a\u00020\u00102\b\u0010\u0011\u001a\u0004\u0018\u00010\u0012H\u0096\u0002J\b\u0010\u0013\u001a\u00020\u0006H\u0016J\b\u0010\u0014\u001a\u00020\u0010H\u0016J\u0012\u0010\u0015\u001a\b\u0012\u0004\u0012\u00020\u00020\u0016H\u0086\u0002ø\u0001\u0000J\b\u0010\u0017\u001a\u00020\u0018H\u0016R\u0019\u0010\b\u001a\u00020\u0002ø\u0001\u0000ø\u0001\u0001¢\u0006\n\n\u0002\u0010\u000b\u001a\u0004\b\t\u0010\nR\u0019\u0010\f\u001a\u00020\u0002ø\u0001\u0000ø\u0001\u0001¢\u0006\n\n\u0002\u0010\u000b\u001a\u0004\b\r\u0010\nR\u0011\u0010\u0005\u001a\u00020\u0006¢\u0006\b\n\u0000\u001a\u0004\b\u000e\u0010\nø\u0001\u0000\u0082\u0002\b\n\u0002\b\u0019\n\u0002\b!¨\u0006\u001a"}, d2 = {"Lkotlin/ranges/UIntProgression;", "", "Lkotlin/UInt;", "start", "endInclusive", "step", "", "(IIILkotlin/jvm/internal/DefaultConstructorMarker;)V", "first", "getFirst-pVg5ArA", "()I", "I", "last", "getLast-pVg5ArA", "getStep", "equals", "", "other", "", "hashCode", "isEmpty", "iterator", "", "toString", "", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public class UIntProgression implements Iterable<UInt>, KMappedMarker {
|
||||
|
||||
/* renamed from: Companion, reason: from kotlin metadata */
|
||||
public static final Companion INSTANCE = new Companion(null);
|
||||
private final int first;
|
||||
private final int last;
|
||||
private final int step;
|
||||
|
||||
public /* synthetic */ UIntProgression(int i, int i2, int i3, DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this(i, i2, i3);
|
||||
}
|
||||
|
||||
/* renamed from: getFirst-pVg5ArA, reason: not valid java name and from getter */
|
||||
public final int getFirst() {
|
||||
return this.first;
|
||||
}
|
||||
|
||||
/* renamed from: getLast-pVg5ArA, reason: not valid java name and from getter */
|
||||
public final int getLast() {
|
||||
return this.last;
|
||||
}
|
||||
|
||||
public final int getStep() {
|
||||
return this.step;
|
||||
}
|
||||
|
||||
private UIntProgression(int i, int i2, int i3) {
|
||||
if (i3 == 0) {
|
||||
throw new IllegalArgumentException("Step must be non-zero.");
|
||||
}
|
||||
if (i3 == Integer.MIN_VALUE) {
|
||||
throw new IllegalArgumentException("Step must be greater than Int.MIN_VALUE to avoid overflow on negation.");
|
||||
}
|
||||
this.first = i;
|
||||
this.last = UProgressionUtilKt.m1510getProgressionLastElementNkh28Cs(i, i2, i3);
|
||||
this.step = i3;
|
||||
}
|
||||
|
||||
@Override // java.lang.Iterable
|
||||
public final Iterator<UInt> iterator() {
|
||||
return new UIntProgressionIterator(this.first, this.last, this.step, null);
|
||||
}
|
||||
|
||||
public boolean isEmpty() {
|
||||
int compare;
|
||||
int compare2;
|
||||
if (this.step > 0) {
|
||||
compare2 = Integer.compare(this.first ^ Integer.MIN_VALUE, this.last ^ Integer.MIN_VALUE);
|
||||
if (compare2 > 0) {
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
compare = Integer.compare(this.first ^ Integer.MIN_VALUE, this.last ^ Integer.MIN_VALUE);
|
||||
if (compare < 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (other instanceof UIntProgression) {
|
||||
if (!isEmpty() || !((UIntProgression) other).isEmpty()) {
|
||||
UIntProgression uIntProgression = (UIntProgression) other;
|
||||
if (this.first != uIntProgression.first || this.last != uIntProgression.last || this.step != uIntProgression.step) {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
if (isEmpty()) {
|
||||
return -1;
|
||||
}
|
||||
return (((this.first * 31) + this.last) * 31) + this.step;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb;
|
||||
int i;
|
||||
if (this.step > 0) {
|
||||
sb = new StringBuilder();
|
||||
sb.append((Object) UInt.m430toStringimpl(this.first));
|
||||
sb.append("..");
|
||||
sb.append((Object) UInt.m430toStringimpl(this.last));
|
||||
sb.append(" step ");
|
||||
i = this.step;
|
||||
} else {
|
||||
sb = new StringBuilder();
|
||||
sb.append((Object) UInt.m430toStringimpl(this.first));
|
||||
sb.append(" downTo ");
|
||||
sb.append((Object) UInt.m430toStringimpl(this.last));
|
||||
sb.append(" step ");
|
||||
i = -this.step;
|
||||
}
|
||||
sb.append(i);
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
/* compiled from: UIntRange.kt */
|
||||
@Metadata(d1 = {"\u0000\"\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0003\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J(\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u00062\u0006\u0010\b\u001a\u00020\tø\u0001\u0000¢\u0006\u0004\b\n\u0010\u000b\u0082\u0002\u0004\n\u0002\b\u0019¨\u0006\f"}, d2 = {"Lkotlin/ranges/UIntProgression$Companion;", "", "()V", "fromClosedRange", "Lkotlin/ranges/UIntProgression;", "rangeStart", "Lkotlin/UInt;", "rangeEnd", "step", "", "fromClosedRange-Nkh28Cs", "(III)Lkotlin/ranges/UIntProgression;", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
public static final class Companion {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
|
||||
/* renamed from: fromClosedRange-Nkh28Cs, reason: not valid java name */
|
||||
public final UIntProgression m1550fromClosedRangeNkh28Cs(int rangeStart, int rangeEnd, int step) {
|
||||
return new UIntProgression(rangeStart, rangeEnd, step, null);
|
||||
}
|
||||
}
|
||||
}
|
100
02-Easy5/E5/sources/kotlin/ranges/UIntProgressionIterator.java
Normal file
100
02-Easy5/E5/sources/kotlin/ranges/UIntProgressionIterator.java
Normal file
@ -0,0 +1,100 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.NoSuchElementException;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.UInt;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
import kotlin.jvm.internal.markers.KMappedMarker;
|
||||
|
||||
/* compiled from: UIntRange.kt */
|
||||
@Metadata(d1 = {"\u0000 \n\u0002\u0018\u0002\n\u0002\u0010(\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\b\n\u0002\b\u0004\n\u0002\u0010\u000b\n\u0002\b\u0004\b\u0003\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u0001B \u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0004\u001a\u00020\u0002\u0012\u0006\u0010\u0005\u001a\u00020\u0006ø\u0001\u0000¢\u0006\u0002\u0010\u0007J\t\u0010\n\u001a\u00020\u000bH\u0096\u0002J\u0016\u0010\f\u001a\u00020\u0002H\u0096\u0002ø\u0001\u0001ø\u0001\u0000¢\u0006\u0004\b\r\u0010\u000eR\u0016\u0010\b\u001a\u00020\u0002X\u0082\u0004ø\u0001\u0000ø\u0001\u0001¢\u0006\u0004\n\u0002\u0010\tR\u000e\u0010\n\u001a\u00020\u000bX\u0082\u000e¢\u0006\u0002\n\u0000R\u0016\u0010\f\u001a\u00020\u0002X\u0082\u000eø\u0001\u0000ø\u0001\u0001¢\u0006\u0004\n\u0002\u0010\tR\u0016\u0010\u0005\u001a\u00020\u0002X\u0082\u0004ø\u0001\u0000ø\u0001\u0001¢\u0006\u0004\n\u0002\u0010\tø\u0001\u0000\u0082\u0002\b\n\u0002\b\u0019\n\u0002\b!¨\u0006\u000f"}, d2 = {"Lkotlin/ranges/UIntProgressionIterator;", "", "Lkotlin/UInt;", "first", "last", "step", "", "(IIILkotlin/jvm/internal/DefaultConstructorMarker;)V", "finalElement", "I", "hasNext", "", "next", "next-pVg5ArA", "()I", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
final class UIntProgressionIterator implements Iterator<UInt>, KMappedMarker {
|
||||
private final int finalElement;
|
||||
private boolean hasNext;
|
||||
private int next;
|
||||
private final int step;
|
||||
|
||||
public /* synthetic */ UIntProgressionIterator(int i, int i2, int i3, DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this(i, i2, i3);
|
||||
}
|
||||
|
||||
@Override // java.util.Iterator
|
||||
public boolean hasNext() {
|
||||
return this.hasNext;
|
||||
}
|
||||
|
||||
@Override // java.util.Iterator
|
||||
public void remove() {
|
||||
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||||
}
|
||||
|
||||
/* JADX WARN: Code restructure failed: missing block: B:13:0x0014, code lost:
|
||||
|
||||
if (r2 >= 0) goto L11;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:4:0x000d, code lost:
|
||||
|
||||
if (r2 <= 0) goto L11;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:5:0x0017, code lost:
|
||||
|
||||
r0 = false;
|
||||
*/
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
private UIntProgressionIterator(int r4, int r5, int r6) {
|
||||
/*
|
||||
r3 = this;
|
||||
r3.<init>()
|
||||
r3.finalElement = r5
|
||||
r0 = 1
|
||||
r1 = 0
|
||||
if (r6 <= 0) goto L10
|
||||
int r2 = kotlin.UByte$$ExternalSyntheticBackport0.m$2(r4, r5)
|
||||
if (r2 > 0) goto L17
|
||||
goto L18
|
||||
L10:
|
||||
int r2 = kotlin.UByte$$ExternalSyntheticBackport0.m$2(r4, r5)
|
||||
if (r2 < 0) goto L17
|
||||
goto L18
|
||||
L17:
|
||||
r0 = 0
|
||||
L18:
|
||||
r3.hasNext = r0
|
||||
int r6 = kotlin.UInt.m384constructorimpl(r6)
|
||||
r3.step = r6
|
||||
boolean r6 = r3.hasNext
|
||||
if (r6 == 0) goto L25
|
||||
goto L26
|
||||
L25:
|
||||
r4 = r5
|
||||
L26:
|
||||
r3.next = r4
|
||||
return
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: kotlin.ranges.UIntProgressionIterator.<init>(int, int, int):void");
|
||||
}
|
||||
|
||||
@Override // java.util.Iterator
|
||||
public /* bridge */ /* synthetic */ UInt next() {
|
||||
return UInt.m378boximpl(m1551nextpVg5ArA());
|
||||
}
|
||||
|
||||
/* renamed from: next-pVg5ArA, reason: not valid java name */
|
||||
public int m1551nextpVg5ArA() {
|
||||
int i = this.next;
|
||||
if (i != this.finalElement) {
|
||||
this.next = UInt.m384constructorimpl(this.step + i);
|
||||
} else {
|
||||
if (!this.hasNext) {
|
||||
throw new NoSuchElementException();
|
||||
}
|
||||
this.hasNext = false;
|
||||
}
|
||||
return i;
|
||||
}
|
||||
}
|
135
02-Easy5/E5/sources/kotlin/ranges/UIntRange.java
Normal file
135
02-Easy5/E5/sources/kotlin/ranges/UIntRange.java
Normal file
@ -0,0 +1,135 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import kotlin.Deprecated;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.UInt;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
|
||||
/* compiled from: UIntRange.kt */
|
||||
@Metadata(d1 = {"\u00006\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u000b\n\u0002\u0010\u000b\n\u0002\b\u0005\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0002\b\u0002\b\u0007\u0018\u0000 \u001c2\u00020\u00012\b\u0012\u0004\u0012\u00020\u00030\u00022\b\u0012\u0004\u0012\u00020\u00030\u0004:\u0001\u001cB\u0018\u0012\u0006\u0010\u0005\u001a\u00020\u0003\u0012\u0006\u0010\u0006\u001a\u00020\u0003ø\u0001\u0000¢\u0006\u0002\u0010\u0007J\u001b\u0010\u000f\u001a\u00020\u00102\u0006\u0010\u0011\u001a\u00020\u0003H\u0096\u0002ø\u0001\u0000¢\u0006\u0004\b\u0012\u0010\u0013J\u0013\u0010\u0014\u001a\u00020\u00102\b\u0010\u0015\u001a\u0004\u0018\u00010\u0016H\u0096\u0002J\b\u0010\u0017\u001a\u00020\u0018H\u0016J\b\u0010\u0019\u001a\u00020\u0010H\u0016J\b\u0010\u001a\u001a\u00020\u001bH\u0016R \u0010\b\u001a\u00020\u00038VX\u0097\u0004ø\u0001\u0000ø\u0001\u0001¢\u0006\f\u0012\u0004\b\t\u0010\n\u001a\u0004\b\u000b\u0010\fR\u001a\u0010\u0006\u001a\u00020\u00038VX\u0096\u0004ø\u0001\u0000ø\u0001\u0001¢\u0006\u0006\u001a\u0004\b\r\u0010\fR\u001a\u0010\u0005\u001a\u00020\u00038VX\u0096\u0004ø\u0001\u0000ø\u0001\u0001¢\u0006\u0006\u001a\u0004\b\u000e\u0010\fø\u0001\u0000\u0082\u0002\b\n\u0002\b\u0019\n\u0002\b!¨\u0006\u001d"}, d2 = {"Lkotlin/ranges/UIntRange;", "Lkotlin/ranges/UIntProgression;", "Lkotlin/ranges/ClosedRange;", "Lkotlin/UInt;", "Lkotlin/ranges/OpenEndRange;", "start", "endInclusive", "(IILkotlin/jvm/internal/DefaultConstructorMarker;)V", "endExclusive", "getEndExclusive-pVg5ArA$annotations", "()V", "getEndExclusive-pVg5ArA", "()I", "getEndInclusive-pVg5ArA", "getStart-pVg5ArA", "contains", "", "value", "contains-WZ4Q5Ns", "(I)Z", "equals", "other", "", "hashCode", "", "isEmpty", "toString", "", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public final class UIntRange extends UIntProgression implements ClosedRange<UInt>, OpenEndRange<UInt> {
|
||||
|
||||
/* renamed from: Companion, reason: from kotlin metadata */
|
||||
public static final Companion INSTANCE;
|
||||
private static final UIntRange EMPTY;
|
||||
|
||||
public /* synthetic */ UIntRange(int i, int i2, DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this(i, i2);
|
||||
}
|
||||
|
||||
@Deprecated(message = "Can throw an exception when it's impossible to represent the value with UInt type, for example, when the range includes MAX_VALUE. It's recommended to use 'endInclusive' property that doesn't throw.")
|
||||
/* renamed from: getEndExclusive-pVg5ArA$annotations, reason: not valid java name */
|
||||
public static /* synthetic */ void m1552getEndExclusivepVg5ArA$annotations() {
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public /* bridge */ /* synthetic */ boolean contains(UInt uInt) {
|
||||
return m1553containsWZ4Q5Ns(uInt.getData());
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.OpenEndRange
|
||||
public /* bridge */ /* synthetic */ UInt getEndExclusive() {
|
||||
return UInt.m378boximpl(m1554getEndExclusivepVg5ArA());
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public /* bridge */ /* synthetic */ UInt getEndInclusive() {
|
||||
return UInt.m378boximpl(m1555getEndInclusivepVg5ArA());
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public /* bridge */ /* synthetic */ UInt getStart() {
|
||||
return UInt.m378boximpl(m1556getStartpVg5ArA());
|
||||
}
|
||||
|
||||
private UIntRange(int i, int i2) {
|
||||
super(i, i2, 1, null);
|
||||
}
|
||||
|
||||
/* renamed from: getStart-pVg5ArA, reason: not valid java name */
|
||||
public int m1556getStartpVg5ArA() {
|
||||
return getFirst();
|
||||
}
|
||||
|
||||
/* renamed from: getEndInclusive-pVg5ArA, reason: not valid java name */
|
||||
public int m1555getEndInclusivepVg5ArA() {
|
||||
return getLast();
|
||||
}
|
||||
|
||||
/* renamed from: getEndExclusive-pVg5ArA, reason: not valid java name */
|
||||
public int m1554getEndExclusivepVg5ArA() {
|
||||
if (getLast() == -1) {
|
||||
throw new IllegalStateException("Cannot return the exclusive upper bound of a range that includes MAX_VALUE.".toString());
|
||||
}
|
||||
return UInt.m384constructorimpl(getLast() + 1);
|
||||
}
|
||||
|
||||
/* renamed from: contains-WZ4Q5Ns, reason: not valid java name */
|
||||
public boolean m1553containsWZ4Q5Ns(int value) {
|
||||
int compare;
|
||||
int compare2;
|
||||
compare = Integer.compare(getFirst() ^ Integer.MIN_VALUE, value ^ Integer.MIN_VALUE);
|
||||
if (compare <= 0) {
|
||||
compare2 = Integer.compare(value ^ Integer.MIN_VALUE, getLast() ^ Integer.MIN_VALUE);
|
||||
if (compare2 <= 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.UIntProgression, kotlin.ranges.ClosedRange
|
||||
public boolean isEmpty() {
|
||||
int compare;
|
||||
compare = Integer.compare(getFirst() ^ Integer.MIN_VALUE, getLast() ^ Integer.MIN_VALUE);
|
||||
return compare > 0;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.UIntProgression
|
||||
public boolean equals(Object other) {
|
||||
if (other instanceof UIntRange) {
|
||||
if (!isEmpty() || !((UIntRange) other).isEmpty()) {
|
||||
UIntRange uIntRange = (UIntRange) other;
|
||||
if (getFirst() != uIntRange.getFirst() || getLast() != uIntRange.getLast()) {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.UIntProgression
|
||||
public int hashCode() {
|
||||
if (isEmpty()) {
|
||||
return -1;
|
||||
}
|
||||
return (getFirst() * 31) + getLast();
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.UIntProgression
|
||||
public String toString() {
|
||||
return ((Object) UInt.m430toStringimpl(getFirst())) + ".." + ((Object) UInt.m430toStringimpl(getLast()));
|
||||
}
|
||||
|
||||
/* compiled from: UIntRange.kt */
|
||||
@Metadata(d1 = {"\u0000\u0014\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u0011\u0010\u0003\u001a\u00020\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0005\u0010\u0006¨\u0006\u0007"}, d2 = {"Lkotlin/ranges/UIntRange$Companion;", "", "()V", "EMPTY", "Lkotlin/ranges/UIntRange;", "getEMPTY", "()Lkotlin/ranges/UIntRange;", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
public static final class Companion {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
|
||||
public final UIntRange getEMPTY() {
|
||||
return UIntRange.EMPTY;
|
||||
}
|
||||
}
|
||||
|
||||
static {
|
||||
DefaultConstructorMarker defaultConstructorMarker = null;
|
||||
INSTANCE = new Companion(defaultConstructorMarker);
|
||||
EMPTY = new UIntRange(-1, 0, defaultConstructorMarker);
|
||||
}
|
||||
}
|
137
02-Easy5/E5/sources/kotlin/ranges/ULongProgression.java
Normal file
137
02-Easy5/E5/sources/kotlin/ranges/ULongProgression.java
Normal file
@ -0,0 +1,137 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import java.util.Iterator;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.ULong;
|
||||
import kotlin.internal.UProgressionUtilKt;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
import kotlin.jvm.internal.markers.KMappedMarker;
|
||||
|
||||
/* compiled from: ULongRange.kt */
|
||||
@Metadata(d1 = {"\u0000:\n\u0002\u0018\u0002\n\u0002\u0010\u001c\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\t\n\u0002\b\t\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010(\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0002\b\u0017\u0018\u0000 \u001a2\b\u0012\u0004\u0012\u00020\u00020\u0001:\u0001\u001aB\"\b\u0000\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0004\u001a\u00020\u0002\u0012\u0006\u0010\u0005\u001a\u00020\u0006ø\u0001\u0000¢\u0006\u0002\u0010\u0007J\u0013\u0010\u000f\u001a\u00020\u00102\b\u0010\u0011\u001a\u0004\u0018\u00010\u0012H\u0096\u0002J\b\u0010\u0013\u001a\u00020\u0014H\u0016J\b\u0010\u0015\u001a\u00020\u0010H\u0016J\u0012\u0010\u0016\u001a\b\u0012\u0004\u0012\u00020\u00020\u0017H\u0086\u0002ø\u0001\u0000J\b\u0010\u0018\u001a\u00020\u0019H\u0016R\u0019\u0010\b\u001a\u00020\u0002ø\u0001\u0000ø\u0001\u0001¢\u0006\n\n\u0002\u0010\u000b\u001a\u0004\b\t\u0010\nR\u0019\u0010\f\u001a\u00020\u0002ø\u0001\u0000ø\u0001\u0001¢\u0006\n\n\u0002\u0010\u000b\u001a\u0004\b\r\u0010\nR\u0011\u0010\u0005\u001a\u00020\u0006¢\u0006\b\n\u0000\u001a\u0004\b\u000e\u0010\nø\u0001\u0000\u0082\u0002\b\n\u0002\b\u0019\n\u0002\b!¨\u0006\u001b"}, d2 = {"Lkotlin/ranges/ULongProgression;", "", "Lkotlin/ULong;", "start", "endInclusive", "step", "", "(JJJLkotlin/jvm/internal/DefaultConstructorMarker;)V", "first", "getFirst-s-VKNKU", "()J", "J", "last", "getLast-s-VKNKU", "getStep", "equals", "", "other", "", "hashCode", "", "isEmpty", "iterator", "", "toString", "", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public class ULongProgression implements Iterable<ULong>, KMappedMarker {
|
||||
|
||||
/* renamed from: Companion, reason: from kotlin metadata */
|
||||
public static final Companion INSTANCE = new Companion(null);
|
||||
private final long first;
|
||||
private final long last;
|
||||
private final long step;
|
||||
|
||||
public /* synthetic */ ULongProgression(long j, long j2, long j3, DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this(j, j2, j3);
|
||||
}
|
||||
|
||||
/* renamed from: getFirst-s-VKNKU, reason: not valid java name and from getter */
|
||||
public final long getFirst() {
|
||||
return this.first;
|
||||
}
|
||||
|
||||
/* renamed from: getLast-s-VKNKU, reason: not valid java name and from getter */
|
||||
public final long getLast() {
|
||||
return this.last;
|
||||
}
|
||||
|
||||
public final long getStep() {
|
||||
return this.step;
|
||||
}
|
||||
|
||||
private ULongProgression(long j, long j2, long j3) {
|
||||
if (j3 == 0) {
|
||||
throw new IllegalArgumentException("Step must be non-zero.");
|
||||
}
|
||||
if (j3 == Long.MIN_VALUE) {
|
||||
throw new IllegalArgumentException("Step must be greater than Long.MIN_VALUE to avoid overflow on negation.");
|
||||
}
|
||||
this.first = j;
|
||||
this.last = UProgressionUtilKt.m1509getProgressionLastElement7ftBX0g(j, j2, j3);
|
||||
this.step = j3;
|
||||
}
|
||||
|
||||
@Override // java.lang.Iterable
|
||||
public final Iterator<ULong> iterator() {
|
||||
return new ULongProgressionIterator(this.first, this.last, this.step, null);
|
||||
}
|
||||
|
||||
public boolean isEmpty() {
|
||||
int compare;
|
||||
int compare2;
|
||||
long j = this.step;
|
||||
long j2 = this.first;
|
||||
long j3 = this.last;
|
||||
if (j > 0) {
|
||||
compare2 = Long.compare(j2 ^ Long.MIN_VALUE, j3 ^ Long.MIN_VALUE);
|
||||
if (compare2 > 0) {
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
compare = Long.compare(j2 ^ Long.MIN_VALUE, j3 ^ Long.MIN_VALUE);
|
||||
if (compare < 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (other instanceof ULongProgression) {
|
||||
if (!isEmpty() || !((ULongProgression) other).isEmpty()) {
|
||||
ULongProgression uLongProgression = (ULongProgression) other;
|
||||
if (this.first != uLongProgression.first || this.last != uLongProgression.last || this.step != uLongProgression.step) {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
if (isEmpty()) {
|
||||
return -1;
|
||||
}
|
||||
long j = this.first;
|
||||
int m463constructorimpl = ((int) ULong.m463constructorimpl(j ^ ULong.m463constructorimpl(j >>> 32))) * 31;
|
||||
long j2 = this.last;
|
||||
int m463constructorimpl2 = (m463constructorimpl + ((int) ULong.m463constructorimpl(j2 ^ ULong.m463constructorimpl(j2 >>> 32)))) * 31;
|
||||
long j3 = this.step;
|
||||
return ((int) (j3 ^ (j3 >>> 32))) + m463constructorimpl2;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb;
|
||||
long j;
|
||||
if (this.step > 0) {
|
||||
sb = new StringBuilder();
|
||||
sb.append((Object) ULong.m509toStringimpl(this.first));
|
||||
sb.append("..");
|
||||
sb.append((Object) ULong.m509toStringimpl(this.last));
|
||||
sb.append(" step ");
|
||||
j = this.step;
|
||||
} else {
|
||||
sb = new StringBuilder();
|
||||
sb.append((Object) ULong.m509toStringimpl(this.first));
|
||||
sb.append(" downTo ");
|
||||
sb.append((Object) ULong.m509toStringimpl(this.last));
|
||||
sb.append(" step ");
|
||||
j = -this.step;
|
||||
}
|
||||
sb.append(j);
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
/* compiled from: ULongRange.kt */
|
||||
@Metadata(d1 = {"\u0000\"\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\t\n\u0002\b\u0003\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J(\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u00062\u0006\u0010\b\u001a\u00020\tø\u0001\u0000¢\u0006\u0004\b\n\u0010\u000b\u0082\u0002\u0004\n\u0002\b\u0019¨\u0006\f"}, d2 = {"Lkotlin/ranges/ULongProgression$Companion;", "", "()V", "fromClosedRange", "Lkotlin/ranges/ULongProgression;", "rangeStart", "Lkotlin/ULong;", "rangeEnd", "step", "", "fromClosedRange-7ftBX0g", "(JJJ)Lkotlin/ranges/ULongProgression;", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
public static final class Companion {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
|
||||
/* renamed from: fromClosedRange-7ftBX0g, reason: not valid java name */
|
||||
public final ULongProgression m1559fromClosedRange7ftBX0g(long rangeStart, long rangeEnd, long step) {
|
||||
return new ULongProgression(rangeStart, rangeEnd, step, null);
|
||||
}
|
||||
}
|
||||
}
|
102
02-Easy5/E5/sources/kotlin/ranges/ULongProgressionIterator.java
Normal file
102
02-Easy5/E5/sources/kotlin/ranges/ULongProgressionIterator.java
Normal file
@ -0,0 +1,102 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.NoSuchElementException;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.ULong;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
import kotlin.jvm.internal.markers.KMappedMarker;
|
||||
|
||||
/* compiled from: ULongRange.kt */
|
||||
@Metadata(d1 = {"\u0000 \n\u0002\u0018\u0002\n\u0002\u0010(\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\t\n\u0002\b\u0004\n\u0002\u0010\u000b\n\u0002\b\u0004\b\u0003\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u0001B \u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0004\u001a\u00020\u0002\u0012\u0006\u0010\u0005\u001a\u00020\u0006ø\u0001\u0000¢\u0006\u0002\u0010\u0007J\t\u0010\n\u001a\u00020\u000bH\u0096\u0002J\u0016\u0010\f\u001a\u00020\u0002H\u0096\u0002ø\u0001\u0001ø\u0001\u0000¢\u0006\u0004\b\r\u0010\u000eR\u0016\u0010\b\u001a\u00020\u0002X\u0082\u0004ø\u0001\u0000ø\u0001\u0001¢\u0006\u0004\n\u0002\u0010\tR\u000e\u0010\n\u001a\u00020\u000bX\u0082\u000e¢\u0006\u0002\n\u0000R\u0016\u0010\f\u001a\u00020\u0002X\u0082\u000eø\u0001\u0000ø\u0001\u0001¢\u0006\u0004\n\u0002\u0010\tR\u0016\u0010\u0005\u001a\u00020\u0002X\u0082\u0004ø\u0001\u0000ø\u0001\u0001¢\u0006\u0004\n\u0002\u0010\tø\u0001\u0000\u0082\u0002\b\n\u0002\b\u0019\n\u0002\b!¨\u0006\u000f"}, d2 = {"Lkotlin/ranges/ULongProgressionIterator;", "", "Lkotlin/ULong;", "first", "last", "step", "", "(JJJLkotlin/jvm/internal/DefaultConstructorMarker;)V", "finalElement", "J", "hasNext", "", "next", "next-s-VKNKU", "()J", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
final class ULongProgressionIterator implements Iterator<ULong>, KMappedMarker {
|
||||
private final long finalElement;
|
||||
private boolean hasNext;
|
||||
private long next;
|
||||
private final long step;
|
||||
|
||||
public /* synthetic */ ULongProgressionIterator(long j, long j2, long j3, DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this(j, j2, j3);
|
||||
}
|
||||
|
||||
@Override // java.util.Iterator
|
||||
public boolean hasNext() {
|
||||
return this.hasNext;
|
||||
}
|
||||
|
||||
@Override // java.util.Iterator
|
||||
public void remove() {
|
||||
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
||||
}
|
||||
|
||||
/* JADX WARN: Code restructure failed: missing block: B:13:0x0018, code lost:
|
||||
|
||||
if (r0 >= 0) goto L11;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:4:0x0011, code lost:
|
||||
|
||||
if (r0 <= 0) goto L11;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:5:0x001b, code lost:
|
||||
|
||||
r2 = false;
|
||||
*/
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
private ULongProgressionIterator(long r6, long r8, long r10) {
|
||||
/*
|
||||
r5 = this;
|
||||
r5.<init>()
|
||||
r5.finalElement = r8
|
||||
r0 = 0
|
||||
r2 = 1
|
||||
r3 = 0
|
||||
int r4 = (r10 > r0 ? 1 : (r10 == r0 ? 0 : -1))
|
||||
if (r4 <= 0) goto L14
|
||||
int r0 = kotlin.UByte$$ExternalSyntheticBackport0.m(r6, r8)
|
||||
if (r0 > 0) goto L1b
|
||||
goto L1c
|
||||
L14:
|
||||
int r0 = kotlin.UByte$$ExternalSyntheticBackport0.m(r6, r8)
|
||||
if (r0 < 0) goto L1b
|
||||
goto L1c
|
||||
L1b:
|
||||
r2 = 0
|
||||
L1c:
|
||||
r5.hasNext = r2
|
||||
long r10 = kotlin.ULong.m463constructorimpl(r10)
|
||||
r5.step = r10
|
||||
boolean r10 = r5.hasNext
|
||||
if (r10 == 0) goto L29
|
||||
goto L2a
|
||||
L29:
|
||||
r6 = r8
|
||||
L2a:
|
||||
r5.next = r6
|
||||
return
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: kotlin.ranges.ULongProgressionIterator.<init>(long, long, long):void");
|
||||
}
|
||||
|
||||
@Override // java.util.Iterator
|
||||
public /* bridge */ /* synthetic */ ULong next() {
|
||||
return ULong.m457boximpl(m1560nextsVKNKU());
|
||||
}
|
||||
|
||||
/* renamed from: next-s-VKNKU, reason: not valid java name */
|
||||
public long m1560nextsVKNKU() {
|
||||
long j = this.next;
|
||||
if (j != this.finalElement) {
|
||||
this.next = ULong.m463constructorimpl(this.step + j);
|
||||
} else {
|
||||
if (!this.hasNext) {
|
||||
throw new NoSuchElementException();
|
||||
}
|
||||
this.hasNext = false;
|
||||
}
|
||||
return j;
|
||||
}
|
||||
}
|
129
02-Easy5/E5/sources/kotlin/ranges/ULongRange.java
Normal file
129
02-Easy5/E5/sources/kotlin/ranges/ULongRange.java
Normal file
@ -0,0 +1,129 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import kotlin.Deprecated;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.ULong;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
|
||||
/* compiled from: ULongRange.kt */
|
||||
@Metadata(d1 = {"\u00006\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u000b\n\u0002\u0010\u000b\n\u0002\b\u0005\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0002\b\u0002\b\u0007\u0018\u0000 \u001c2\u00020\u00012\b\u0012\u0004\u0012\u00020\u00030\u00022\b\u0012\u0004\u0012\u00020\u00030\u0004:\u0001\u001cB\u0018\u0012\u0006\u0010\u0005\u001a\u00020\u0003\u0012\u0006\u0010\u0006\u001a\u00020\u0003ø\u0001\u0000¢\u0006\u0002\u0010\u0007J\u001b\u0010\u000f\u001a\u00020\u00102\u0006\u0010\u0011\u001a\u00020\u0003H\u0096\u0002ø\u0001\u0000¢\u0006\u0004\b\u0012\u0010\u0013J\u0013\u0010\u0014\u001a\u00020\u00102\b\u0010\u0015\u001a\u0004\u0018\u00010\u0016H\u0096\u0002J\b\u0010\u0017\u001a\u00020\u0018H\u0016J\b\u0010\u0019\u001a\u00020\u0010H\u0016J\b\u0010\u001a\u001a\u00020\u001bH\u0016R \u0010\b\u001a\u00020\u00038VX\u0097\u0004ø\u0001\u0000ø\u0001\u0001¢\u0006\f\u0012\u0004\b\t\u0010\n\u001a\u0004\b\u000b\u0010\fR\u001a\u0010\u0006\u001a\u00020\u00038VX\u0096\u0004ø\u0001\u0000ø\u0001\u0001¢\u0006\u0006\u001a\u0004\b\r\u0010\fR\u001a\u0010\u0005\u001a\u00020\u00038VX\u0096\u0004ø\u0001\u0000ø\u0001\u0001¢\u0006\u0006\u001a\u0004\b\u000e\u0010\fø\u0001\u0000\u0082\u0002\b\n\u0002\b\u0019\n\u0002\b!¨\u0006\u001d"}, d2 = {"Lkotlin/ranges/ULongRange;", "Lkotlin/ranges/ULongProgression;", "Lkotlin/ranges/ClosedRange;", "Lkotlin/ULong;", "Lkotlin/ranges/OpenEndRange;", "start", "endInclusive", "(JJLkotlin/jvm/internal/DefaultConstructorMarker;)V", "endExclusive", "getEndExclusive-s-VKNKU$annotations", "()V", "getEndExclusive-s-VKNKU", "()J", "getEndInclusive-s-VKNKU", "getStart-s-VKNKU", "contains", "", "value", "contains-VKZWuLQ", "(J)Z", "equals", "other", "", "hashCode", "", "isEmpty", "toString", "", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public final class ULongRange extends ULongProgression implements ClosedRange<ULong>, OpenEndRange<ULong> {
|
||||
|
||||
/* renamed from: Companion, reason: from kotlin metadata */
|
||||
public static final Companion INSTANCE = new Companion(null);
|
||||
private static final ULongRange EMPTY = new ULongRange(-1, 0, null);
|
||||
|
||||
public /* synthetic */ ULongRange(long j, long j2, DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this(j, j2);
|
||||
}
|
||||
|
||||
@Deprecated(message = "Can throw an exception when it's impossible to represent the value with ULong type, for example, when the range includes MAX_VALUE. It's recommended to use 'endInclusive' property that doesn't throw.")
|
||||
/* renamed from: getEndExclusive-s-VKNKU$annotations, reason: not valid java name */
|
||||
public static /* synthetic */ void m1561getEndExclusivesVKNKU$annotations() {
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public /* bridge */ /* synthetic */ boolean contains(ULong uLong) {
|
||||
return m1562containsVKZWuLQ(uLong.getData());
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.OpenEndRange
|
||||
public /* bridge */ /* synthetic */ ULong getEndExclusive() {
|
||||
return ULong.m457boximpl(m1563getEndExclusivesVKNKU());
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public /* bridge */ /* synthetic */ ULong getEndInclusive() {
|
||||
return ULong.m457boximpl(m1564getEndInclusivesVKNKU());
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public /* bridge */ /* synthetic */ ULong getStart() {
|
||||
return ULong.m457boximpl(m1565getStartsVKNKU());
|
||||
}
|
||||
|
||||
private ULongRange(long j, long j2) {
|
||||
super(j, j2, 1L, null);
|
||||
}
|
||||
|
||||
/* renamed from: getStart-s-VKNKU, reason: not valid java name */
|
||||
public long m1565getStartsVKNKU() {
|
||||
return getFirst();
|
||||
}
|
||||
|
||||
/* renamed from: getEndInclusive-s-VKNKU, reason: not valid java name */
|
||||
public long m1564getEndInclusivesVKNKU() {
|
||||
return getLast();
|
||||
}
|
||||
|
||||
/* renamed from: getEndExclusive-s-VKNKU, reason: not valid java name */
|
||||
public long m1563getEndExclusivesVKNKU() {
|
||||
if (getLast() == -1) {
|
||||
throw new IllegalStateException("Cannot return the exclusive upper bound of a range that includes MAX_VALUE.".toString());
|
||||
}
|
||||
return ULong.m463constructorimpl(getLast() + ULong.m463constructorimpl(1 & 4294967295L));
|
||||
}
|
||||
|
||||
/* renamed from: contains-VKZWuLQ, reason: not valid java name */
|
||||
public boolean m1562containsVKZWuLQ(long value) {
|
||||
int compare;
|
||||
int compare2;
|
||||
compare = Long.compare(getFirst() ^ Long.MIN_VALUE, value ^ Long.MIN_VALUE);
|
||||
if (compare <= 0) {
|
||||
compare2 = Long.compare(value ^ Long.MIN_VALUE, getLast() ^ Long.MIN_VALUE);
|
||||
if (compare2 <= 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ULongProgression, kotlin.ranges.ClosedRange
|
||||
public boolean isEmpty() {
|
||||
int compare;
|
||||
compare = Long.compare(getFirst() ^ Long.MIN_VALUE, getLast() ^ Long.MIN_VALUE);
|
||||
return compare > 0;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ULongProgression
|
||||
public boolean equals(Object other) {
|
||||
if (other instanceof ULongRange) {
|
||||
if (!isEmpty() || !((ULongRange) other).isEmpty()) {
|
||||
ULongRange uLongRange = (ULongRange) other;
|
||||
if (getFirst() != uLongRange.getFirst() || getLast() != uLongRange.getLast()) {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ULongProgression
|
||||
public int hashCode() {
|
||||
if (isEmpty()) {
|
||||
return -1;
|
||||
}
|
||||
return ((int) ULong.m463constructorimpl(getLast() ^ ULong.m463constructorimpl(getLast() >>> 32))) + (((int) ULong.m463constructorimpl(getFirst() ^ ULong.m463constructorimpl(getFirst() >>> 32))) * 31);
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ULongProgression
|
||||
public String toString() {
|
||||
return ((Object) ULong.m509toStringimpl(getFirst())) + ".." + ((Object) ULong.m509toStringimpl(getLast()));
|
||||
}
|
||||
|
||||
/* compiled from: ULongRange.kt */
|
||||
@Metadata(d1 = {"\u0000\u0014\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u0011\u0010\u0003\u001a\u00020\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0005\u0010\u0006¨\u0006\u0007"}, d2 = {"Lkotlin/ranges/ULongRange$Companion;", "", "()V", "EMPTY", "Lkotlin/ranges/ULongRange;", "getEMPTY", "()Lkotlin/ranges/ULongRange;", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
public static final class Companion {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
|
||||
public final ULongRange getEMPTY() {
|
||||
return ULongRange.EMPTY;
|
||||
}
|
||||
}
|
||||
}
|
11
02-Easy5/E5/sources/kotlin/ranges/URangesKt.java
Normal file
11
02-Easy5/E5/sources/kotlin/ranges/URangesKt.java
Normal file
@ -0,0 +1,11 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import kotlin.Metadata;
|
||||
|
||||
/* compiled from: _URanges.kt */
|
||||
@Metadata(d1 = {"kotlin/ranges/URangesKt___URangesKt"}, k = 4, mv = {1, 8, 0}, xi = 49)
|
||||
/* loaded from: classes.dex */
|
||||
public final class URangesKt extends URangesKt___URangesKt {
|
||||
private URangesKt() {
|
||||
}
|
||||
}
|
410
02-Easy5/E5/sources/kotlin/ranges/URangesKt___URangesKt.java
Normal file
410
02-Easy5/E5/sources/kotlin/ranges/URangesKt___URangesKt.java
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user