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