EntrySpliterator class

Пакет: com.hypixel.fastutil.longs

Файл: com/hypixel/fastutil/longs/Long2ObjectConcurrentHashMap.java

extends: Long2ObjectConcurrentHashMap.Traverser<V>

implements: ObjectSpliterator<it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<V>>

Поля (7)

МодификаторыТипИмя
public long est
public final Long2ObjectConcurrentHashMap<V> map
int var1
int var2
Long2ObjectConcurrentHashMap.Node var2
Long2ObjectConcurrentHashMap.Node var2
int var3

Методы (9)

МодификаторыВозвратСигнатура
abstract throw new NullPointerExceptionthrow new NullPointerException()
public int characteristicspublic int characteristics()
public long estimateSizepublic long estimateSize()
public void forEachRemainingpublic void forEachRemaining(Consumer<? super it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<V>> var1)
if if(var1 == null)
if if(var1 == null)
abstract super super(var1, var2, var3, var4)
public boolean tryAdvancepublic boolean tryAdvance(Consumer<? super it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<V>> var1)
public ObjectSpliterator<it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<V>> trySplitpublic ObjectSpliterator<it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<V>> trySplit()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.fastutil.longs;

class="kw">import com.hypixel.fastutil.FastCollection;
class="kw">import com.hypixel.fastutil.util.SneakyThrow;
class="kw">import com.hypixel.fastutil.util.TLRUtil;
class="kw">import it.unimi.dsi.fastutil.longs.Long2ObjectMap;
class="kw">import it.unimi.dsi.fastutil.longs.LongCollection;
class="kw">import it.unimi.dsi.fastutil.longs.LongIterator;
class="kw">import it.unimi.dsi.fastutil.longs.LongSet;
class="kw">import it.unimi.dsi.fastutil.longs.LongSpliterator;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectCollection;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectIterator;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectSet;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectSpliterator;
class="kw">import java.io.Serializable;
class="kw">import java.lang.reflect.Array;
class="kw">import java.lang.reflect.Field;
class="kw">import java.util.Arrays;
class="kw">import java.util.Collection;
class="kw">import java.util.Enumeration;
class="kw">import java.util.Iterator;
class="kw">import java.util.Map;
class="kw">import java.util.NoSuchElementException;
class="kw">import java.util.Set;
class="kw">import java.util.concurrent.CountedCompleter;
class="kw">import java.util.concurrent.ForkJoinPool;
class="kw">import java.util.concurrent.atomic.AtomicReference;
class="kw">import java.util.concurrent.locks.LockSupport;
class="kw">import java.util.concurrent.locks.ReentrantLock;
class="kw">import java.util.function.BiFunction;
class="kw">import java.util.function.Consumer;
class="kw">import java.util.function.DoubleBinaryOperator;
class="kw">import java.util.function.Function;
class="kw">import java.util.function.IntBinaryOperator;
class="kw">import java.util.function.LongBinaryOperator;
class="kw">import java.util.function.LongConsumer;
class="kw">import java.util.function.Predicate;
class="kw">import java.util.function.ToDoubleFunction;
class="kw">import java.util.function.ToIntFunction;
class="kw">import sun.misc.Unsafe;

class="kw">public class Long2ObjectConcurrentHashMap<V> {
   class="kw">protected class="kw">static class="kw">final long serialVersionUID = 7249069246763182397L;
   class="kw">protected class="kw">static class="kw">final int MAXIMUM_CAPACITY = 1073741824;
   class="kw">protected class="kw">static class="kw">final int DEFAULT_CAPACITY = 16;
   class="kw">protected class="kw">static class="kw">final int MAX_ARRAY_SIZE = 2147483639;
   class="kw">protected class="kw">static class="kw">final int DEFAULT_CONCURRENCY_LEVEL = 16;
   class="kw">protected class="kw">static class="kw">final float LOAD_FACTOR = 0.75F;
   class="kw">protected class="kw">static class="kw">final int TREEIFY_THRESHOLD = 8;
   class="kw">protected class="kw">static class="kw">final int UNTREEIFY_THRESHOLD = 6;
   class="kw">protected class="kw">static class="kw">final int MIN_TREEIFY_CAPACITY = 64;
   class="kw">protected class="kw">static class="kw">final int MIN_TRANSFER_STRIDE = 16;
   class="kw">protected class="kw">static int RESIZE_STAMP_BITS = 16;
   class="kw">protected class="kw">static class="kw">final int MAX_RESIZERS = (1 << 32 - RESIZE_STAMP_BITS) - 1;
   class="kw">protected class="kw">static class="kw">final int RESIZE_STAMP_SHIFT = 32 - RESIZE_STAMP_BITS;
   class="kw">protected class="kw">static class="kw">final int MOVED = -1;
   class="kw">protected class="kw">static class="kw">final int TREEBIN = -2;
   class="kw">protected class="kw">static class="kw">final int RESERVED = -3;
   class="kw">protected class="kw">static class="kw">final int HASH_BITS = Integer.MAX_VALUE;
   class="kw">protected class="kw">static class="kw">final int NCPU = Runtime.getRuntime().availableProcessors();
   class="kw">protected class="kw">transient class="kw">volatile Long2ObjectConcurrentHashMap.Node<V>[] table;
   class="kw">protected class="kw">transient class="kw">volatile Long2ObjectConcurrentHashMap.Node<V>[] nextTable;
   class="kw">protected class="kw">transient class="kw">volatile long baseCount;
   class="kw">protected class="kw">transient class="kw">volatile int sizeCtl;
   class="kw">protected class="kw">transient class="kw">volatile int transferIndex;
   class="kw">protected class="kw">transient class="kw">volatile int cellsBusy;
   class="kw">protected class="kw">transient class="kw">volatile Long2ObjectConcurrentHashMap.CounterCell[] counterCells;
   class="kw">protected class="kw">transient Long2ObjectConcurrentHashMap.KeySetView<V> keySet;
   class="kw">protected class="kw">transient Long2ObjectConcurrentHashMap.ValuesView<V> values;
   class="kw">protected class="kw">transient Long2ObjectConcurrentHashMap.EntrySetView<V> entrySet;
   class="kw">protected class="kw">final long EMPTY;
   class="kw">protected class="kw">static class="kw">final Unsafe U;
   class="kw">protected class="kw">static class="kw">final long SIZECTL;
   class="kw">protected class="kw">static class="kw">final long TRANSFERINDEX;
   class="kw">protected class="kw">static class="kw">final long BASECOUNT;
   class="kw">protected class="kw">static class="kw">final long CELLSBUSY;
   class="kw">protected class="kw">static class="kw">final long CELLVALUE;
   class="kw">protected class="kw">static class="kw">final long ABASE;
   class="kw">protected class="kw">static class="kw">final int ASHIFT;

   class="kw">protected class="kw">static class="kw">final int spread(int var0) {
      class="kw">return (var0 ^ var0 >>> 16) & 2147483647;
   }

   class="kw">protected class="kw">static class="kw">final int tableSizeFor(int var0) {
      int var1 = var0 - 1;
      var1 |= var1 >>> 1;
      var1 |= var1 >>> 2;
      var1 |= var1 >>> 4;
      var1 |= var1 >>> 8;
      var1 |= var1 >>> 16;
      class="kw">return var1 < 0 ? 1 : (var1 >= 1073741824 ? 1073741824 : var1 + 1);
   }

   class="kw">protected class="kw">static class="kw">final <V> Long2ObjectConcurrentHashMap.Node<V> tabAt(Long2ObjectConcurrentHashMap.Node<V>[] var0, int var1) {
      class="kw">return (Long2ObjectConcurrentHashMap.Node<V>)U.getObjectVolatile(var0, ((long)var1 << ASHIFT) + ABASE);
   }

   class="kw">protected class="kw">static class="kw">final <V> boolean casTabAt(
      Long2ObjectConcurrentHashMap.Node<V>[] var0, int var1, Long2ObjectConcurrentHashMap.Node<V> var2, Long2ObjectConcurrentHashMap.Node<V> var3
   ) {
      class="kw">return U.compareAndSwapObject(var0, ((long)var1 << ASHIFT) + ABASE, var2, var3);
   }

   class="kw">protected class="kw">static class="kw">final <V> void setTabAt(Long2ObjectConcurrentHashMap.Node<V>[] var0, int var1, Long2ObjectConcurrentHashMap.Node<V> var2) {
      U.putObjectVolatile(var0, ((long)var1 << ASHIFT) + ABASE, var2);
   }

   class="kw">public Long2ObjectConcurrentHashMap() {
      this.EMPTY = -1L;
   }

   class="kw">public Long2ObjectConcurrentHashMap(boolean var1, long var2) {
      this.EMPTY = var2;
   }

   class="kw">public Long2ObjectConcurrentHashMap(int var1) {
      this(var1, true, -1L);
   }

   class="kw">public Long2ObjectConcurrentHashMap(int var1, boolean var2, long var3) {
      if (var1 < 0) {
         throw new IllegalArgumentException();
      }

      int var5 = var1 >= 536870912 ? 1073741824 : tableSizeFor(var1 + (var1 >>> 1) + 1);
      this.sizeCtl = var5;
      this.EMPTY = var3;
   }

   class="kw">public Long2ObjectConcurrentHashMap(Map<? class="kw">extends Long, ? class="kw">extends V> var1, long var2) {
      this.sizeCtl = 16;
      this.EMPTY = var2;
      this.putAll(var1);
   }

   class="kw">public Long2ObjectConcurrentHashMap(Long2ObjectConcurrentHashMap<? class="kw">extends V> var1) {
      this.sizeCtl = 16;
      this.EMPTY = var1.EMPTY;
      this.putAll(var1);
   }

   class="kw">public Long2ObjectConcurrentHashMap(Long2ObjectMap<V> var1) {
      this.sizeCtl = 16;
      this.EMPTY = -1L;
      this.putAll(var1);
   }

   class="kw">public Long2ObjectConcurrentHashMap(Long2ObjectMap<V> var1, long var2) {
      this.sizeCtl = 16;
      this.EMPTY = var2;
      this.putAll(var1);
   }

   class="kw">public Long2ObjectConcurrentHashMap(int var1, float var2) {
      this(var1, var2, 1, -1L);
   }

   class="kw">public Long2ObjectConcurrentHashMap(int var1, float var2, int var3, long var4) {
      if (var2 > 0.0F && var1 >= 0 && var3 > 0) {
         if (var1 < var3) {
            var1 = var3;
         }

         long var6 = (long)(1.0 + (float)var1 / var2);
         int var8 = var6 >= 1073741824L ? 1073741824 : tableSizeFor((int)var6);
         this.sizeCtl = var8;
         this.EMPTY = var4;
      } else {
         throw new IllegalArgumentException();
      }
   }

   class="kw">public int size() {
      long var1 = this.sumCount();
      class="kw">return var1 < 0L ? 0 : (var1 > 2147483647L ? Integer.MAX_VALUE : (int)var1);
   }

   class="kw">public boolean isEmpty() {
      class="kw">return this.sumCount() <= 0L;
   }

   class="kw">public V get(long var1) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      }

      int var10 = spread(Long.hashCode(var1));
      Long2ObjectConcurrentHashMap.Node[] var3 = this.table;
      Long2ObjectConcurrentHashMap.Node var4;
      int var6;
      if (this.table != null && (var6 = var3.length) > 0 && (var4 = tabAt(var3, var6 - 1 & var10)) != null) {
         int var7 = var4.hash;
         if (var4.hash == var10) {
            long var8 = var4.key;
            if (var4.key == var1 || var8 != this.EMPTY && var1 == var8) {
               class="kw">return var4.val;
            }
         } else if (var7 < 0) {
            Long2ObjectConcurrentHashMap.Node var5;
            class="kw">return (var5 = var4.find(var10, var1)) != null ? var5.val : null;
         }

         while ((var4 = var4.next) != null) {
            if (var4.hash == var10) {
               long var11 = var4.key;
               if (var4.key == var1 || var11 != this.EMPTY && var1 == var11) {
                  class="kw">return var4.val;
               }
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public boolean containsKey(long var1) {
      class="kw">return this.get(var1) != null;
   }

   class="kw">public boolean containsValue(Object var1) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Long2ObjectConcurrentHashMap.Node[] var2 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var3 = var2;
         Long2ObjectConcurrentHashMap.Node var4 = null;
         Long2ObjectConcurrentHashMap.TableStack var5 = null;
         Long2ObjectConcurrentHashMap.TableStack var6 = null;
         int var7 = 0;
         int var8 = 0;
         int var9 = var2.length;
         int var10 = var2.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var11 = null;
            var11 = var4;
            if (var4 != null) {
               var11 = var11.next;
            }

            label85:
            while (true) {
               if (var11 != null) {
                  var4 = var11;
                  break;
               }

               if (var8 < var9) {
                  Long2ObjectConcurrentHashMap.Node[] var12 = var3;
                  if (var3 != null) {
                     int var14;
                     int var10000 = var14 = var12.length;
                     int var13 = var7;
                     if (var10000 > var7 && var13 >= 0) {
                        if ((var11 = tabAt(var12, var13)) != null && var11.hash < 0) {
                           if (var11 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                              var3 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var11).nextTable;
                              var11 = null;
                              Long2ObjectConcurrentHashMap.TableStack var20 = var6;
                              if (var20 != null) {
                                 var6 = var20.next;
                              } else {
                                 var20 = new Long2ObjectConcurrentHashMap.TableStack<>();
                              }

                              var20.tab = var12;
                              var20.length = var14;
                              var20.index = var13;
                              var20.next = var5;
                              var5 = var20;
                              class="kw">continue;
                           }

                           if (var11 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                              var11 = ((Long2ObjectConcurrentHashMap.TreeBin)var11).first;
                           } else {
                              var11 = null;
                           }
                        }

                        if (var5 == null) {
                           if ((var7 = var13 + var10) >= var14) {
                              var7 = ++var8;
                           }
                           class="kw">continue;
                        }

                        while (true) {
                           Long2ObjectConcurrentHashMap.TableStack var15 = var5;
                           if (var5 != null) {
                              int var16 = var15.length;
                              if ((var7 += var15.length) >= var14) {
                                 var14 = var16;
                                 var7 = var15.index;
                                 var3 = var15.tab;
                                 var15.tab = null;
                                 Long2ObjectConcurrentHashMap.TableStack var17 = var15.next;
                                 var15.next = var6;
                                 var5 = var17;
                                 var6 = var15;
                                 class="kw">continue;
                              }
                           }

                           if (var15 == null && (var7 += var10) >= var14) {
                              var7 = ++var8;
                           }
                           class="kw">continue label85;
                        }
                     }
                  }
               }

               var4 = null;
               break;
            }

            if (var11 == null) {
               break;
            }

            Object var19 = var11.val;
            if (var11.val == var1 || var19 != null && var1.equals(var19)) {
               class="kw">return true;
            }
         }
      }

      class="kw">return false;
   }

   class="kw">public V put(long var1, V var3) {
      class="kw">return this.putVal(var1, var3, false);
   }

   class="kw">protected class="kw">final V putVal(long var1, V var3, boolean var4) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      }

      if (var3 == null) {
         throw new NullPointerException();
      }

      int var5 = spread(Long.hashCode(var1));
      int var6 = 0;
      Long2ObjectConcurrentHashMap.Node[] var7 = this.table;

      while (true) {
         int var9;
         while (var7 == null || (var9 = var7.length) == 0) {
            var7 = this.initTable();
         }

         Long2ObjectConcurrentHashMap.Node var8;
         int var10;
         if ((var8 = tabAt(var7, var10 = var9 - 1 & var5)) == null) {
            if (casTabAt(var7, var10, null, new Long2ObjectConcurrentHashMap.Node<>(this.EMPTY, var5, var1, var3, null))) {
               break;
            }
         } else {
            int var11 = var8.hash;
            if (var8.hash == -1) {
               var7 = this.helpTransfer(var7, var8);
            } else {
               Object var12 = null;
               class="kw">synchronized (var8) {
                  if (tabAt(var7, var10) == var8) {
                     if (var11 < 0) {
                        if (var8 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                           var6 = 2;
                           Long2ObjectConcurrentHashMap.Node var20;
                           if ((var20 = ((Long2ObjectConcurrentHashMap.TreeBin)var8).putTreeVal(var5, var1, var3)) != null) {
                              var12 = var20.val;
                              if (!var4) {
                                 var20.val = var3;
                              }
                           }
                        }
                     } else {
                        var6 = 1;
                        Long2ObjectConcurrentHashMap.Node var14 = var8;

                        while (true) {
                           if (var14.hash == var5) {
                              long var15 = var14.key;
                              if (var14.key == var1 || var15 != this.EMPTY && var1 == var15) {
                                 var12 = var14.val;
                                 if (!var4) {
                                    var14.val = var3;
                                 }
                                 break;
                              }
                           }

                           Long2ObjectConcurrentHashMap.Node var17 = var14;
                           if ((var14 = var14.next) == null) {
                              var17.next = new Long2ObjectConcurrentHashMap.Node<>(this.EMPTY, var5, var1, var3, null);
                              break;
                           }

                           var6++;
                        }
                     }
                  }
               }

               if (var6 != 0) {
                  if (var6 >= 8) {
                     this.treeifyBin(var7, var10);
                  }

                  if (var12 != null) {
                     class="kw">return var12;
                  }
                  break;
               }
            }
         }
      }

      this.addCount(1L, var6);
      class="kw">return null;
   }

   class="kw">public void putAll(Map<? class="kw">extends Long, ? class="kw">extends V> var1) {
      this.tryPresize(var1.size());

      for (Map.Entry var3 : var1.entrySet()) {
         this.putVal(var3.getKey(), (V)var3.getValue(), false);
      }
   }

   class="kw">public void putAll(Long2ObjectConcurrentHashMap<? class="kw">extends V> var1) {
      this.tryPresize(var1.size());
      ObjectIterator var2 = var1.long2ObjectEntrySet().iterator();

      while (var2.hasNext()) {
         it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry var3 = (it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<? class="kw">extends V>)var2.next();
         this.putVal(var3.getLongKey(), (V)var3.getValue(), false);
      }
   }

   class="kw">public void putAll(Long2ObjectMap<V> var1) {
      this.tryPresize(var1.size());
      ObjectIterator var2 = var1.long2ObjectEntrySet().iterator();

      while (var2.hasNext()) {
         it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry var3 = (it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<? class="kw">extends V>)var2.next();
         this.putVal(var3.getLongKey(), (V)var3.getValue(), false);
      }
   }

   class="kw">public V remove(long var1) {
      class="kw">return this.replaceNode(var1, null, null);
   }

   @Deprecated
   class="kw">public V remove(Long var1) {
      class="kw">return this.replaceNode(var1, null, null);
   }

   @Deprecated
   class="kw">public V remove(Object var1) {
      class="kw">return this.remove((Long)var1);
   }

   class="kw">protected class="kw">final V replaceNode(long var1, V var3, Object var4) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      }

      int var5 = spread(Long.hashCode(var1));
      Long2ObjectConcurrentHashMap.Node[] var6 = this.table;

      Long2ObjectConcurrentHashMap.Node var7;
      int var8;
      int var9;
      while (var6 != null && (var8 = var6.length) != 0 && (var7 = tabAt(var6, var9 = var8 - 1 & var5)) != null) {
         int var10 = var7.hash;
         if (var7.hash == -1) {
            var6 = this.helpTransfer(var6, var7);
         } else {
            Object var11 = null;
            boolean var12 = false;
            class="kw">synchronized (var7) {
               if (tabAt(var6, var9) == var7) {
                  if (var10 < 0) {
                     if (var7 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var12 = true;
                        Long2ObjectConcurrentHashMap.TreeBin var21 = (Long2ObjectConcurrentHashMap.TreeBin<V>)var7;
                        Long2ObjectConcurrentHashMap.TreeNode var22 = var21.root;
                        Long2ObjectConcurrentHashMap.TreeNode var23;
                        if (var21.root != null && (var23 = var22.findTreeNode(var5, var1, null)) != null) {
                           Object var17 = var23.val;
                           if (var4 == null || var4 == var17 || var17 != null && var4.equals(var17)) {
                              var11 = var17;
                              if (var3 != null) {
                                 var23.val = var3;
                              } else if (var21.removeTreeNode(var23)) {
                                 setTabAt(var6, var9, this.untreeify(var21.first));
                              }
                           }
                        }
                     }
                  } else {
                     var12 = true;
                     Long2ObjectConcurrentHashMap.Node var14 = var7;
                     Long2ObjectConcurrentHashMap.Node var15 = null;

                     do {
                        if (var14.hash == var5) {
                           long var16 = var14.key;
                           if (var14.key == var1 || var16 != this.EMPTY && var1 == var16) {
                              Object var18 = var14.val;
                              if (var4 == null || var4 == var18 || var18 != null && var4.equals(var18)) {
                                 var11 = var18;
                                 if (var3 != null) {
                                    var14.val = var3;
                                 } else if (var15 != null) {
                                    var15.next = var14.next;
                                 } else {
                                    setTabAt(var6, var9, var14.next);
                                 }
                              }
                              break;
                           }
                        }

                        var15 = var14;
                     } while ((var14 = var14.next) != null);
                  }
               }
            }

            if (var12) {
               if (var11 != null) {
                  if (var3 == null) {
                     this.addCount(-1L, -1);
                  }

                  class="kw">return var11;
               }
               break;
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public void clear() {
      long var1 = 0L;
      int var3 = 0;
      Long2ObjectConcurrentHashMap.Node[] var4 = this.table;

      while (var4 != null && var3 < var4.length) {
         Long2ObjectConcurrentHashMap.Node var6 = tabAt(var4, var3);
         if (var6 == null) {
            var3++;
         } else {
            int var5 = var6.hash;
            if (var6.hash == -1) {
               var4 = this.helpTransfer(var4, var6);
               var3 = 0;
            } else {
               class="kw">synchronized (var6) {
                  if (tabAt(var4, var3) == var6) {
                     for (Long2ObjectConcurrentHashMap.Node var8 = var5 >= 0
                           ? var6
                           : (var6 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin ? ((Long2ObjectConcurrentHashMap.TreeBin)var6).first : null);
                        var8 != null;
                        var8 = var8.next
                     ) {
                        var1--;
                     }

                     setTabAt(var4, var3++, null);
                  }
               }
            }
         }
      }

      if (var1 != 0L) {
         this.addCount(var1, -1);
      }
   }

   class="kw">public Long2ObjectConcurrentHashMap.KeySetView<V> keySet() {
      Long2ObjectConcurrentHashMap.KeySetView var1 = this.keySet;
      class="kw">return this.keySet != null ? var1 : (this.keySet = this.buildKeySetView());
   }

   class="kw">protected Long2ObjectConcurrentHashMap.KeySetView<V> buildKeySetView() {
      class="kw">return new Long2ObjectConcurrentHashMap.KeySetView<>(this, null);
   }

   class="kw">public FastCollection<V> values() {
      Long2ObjectConcurrentHashMap.ValuesView var1 = this.values;
      class="kw">return this.values != null ? var1 : (this.values = this.buildValuesView());
   }

   class="kw">protected Long2ObjectConcurrentHashMap.ValuesView<V> buildValuesView() {
      class="kw">return new Long2ObjectConcurrentHashMap.ValuesView<>(this);
   }

   class="kw">public ObjectSet<it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<V>> long2ObjectEntrySet() {
      Long2ObjectConcurrentHashMap.EntrySetView var1 = this.entrySet;
      class="kw">return this.entrySet != null ? var1 : (this.entrySet = this.buildEntrySetView());
   }

   @Deprecated
   class="kw">public ObjectSet<Map.Entry<Long, V>> entrySet() {
      class="kw">return this.long2ObjectEntrySet();
   }

   class="kw">protected Long2ObjectConcurrentHashMap.EntrySetView<V> buildEntrySetView() {
      class="kw">return new Long2ObjectConcurrentHashMap.EntrySetView<>(this);
   }

   @Override
   class="kw">public int hashCode() {
      int var1 = 0;
      Long2ObjectConcurrentHashMap.Node[] var2 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var3 = var2;
         Long2ObjectConcurrentHashMap.Node var4 = null;
         Long2ObjectConcurrentHashMap.TableStack var5 = null;
         Long2ObjectConcurrentHashMap.TableStack var6 = null;
         int var7 = 0;
         int var8 = 0;
         int var9 = var2.length;
         int var10 = var2.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var11 = null;
            var11 = var4;
            if (var4 != null) {
               var11 = var11.next;
            }

            label75: {
               while (true) {
                  if (var11 != null) {
                     var4 = var11;
                     break label75;
                  }

                  if (var8 >= var9) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var12 = var3;
                  if (var3 == null) {
                     break;
                  }

                  int var14;
                  int var10000 = var14 = var12.length;
                  int var13 = var7;
                  if (var10000 <= var7 || var13 < 0) {
                     break;
                  }

                  if ((var11 = tabAt(var12, var13)) != null && var11.hash < 0) {
                     if (var11 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var3 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var11).nextTable;
                        var11 = null;
                        Long2ObjectConcurrentHashMap.TableStack var19 = var6;
                        if (var19 != null) {
                           var6 = var19.next;
                        } else {
                           var19 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var19.tab = var12;
                        var19.length = var14;
                        var19.index = var13;
                        var19.next = var5;
                        var5 = var19;
                        class="kw">continue;
                     }

                     if (var11 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var11 = ((Long2ObjectConcurrentHashMap.TreeBin)var11).first;
                     } else {
                        var11 = null;
                     }
                  }

                  if (var5 == null) {
                     if ((var7 = var13 + var10) >= var14) {
                        var7 = ++var8;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var15 = var5;
                        if (var5 != null) {
                           int var16 = var15.length;
                           if ((var7 += var15.length) >= var14) {
                              var14 = var16;
                              var7 = var15.index;
                              var3 = var15.tab;
                              var15.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var17 = var15.next;
                              var15.next = var6;
                              var5 = var17;
                              var6 = var15;
                              class="kw">continue;
                           }
                        }

                        if (var15 == null && (var7 += var10) >= var14) {
                           var7 = ++var8;
                        }
                        break;
                     }
                  }
               }

               var4 = null;
            }

            if (var11 == null) {
               break;
            }

            var1 += Long.hashCode(var11.key) ^ var11.val.hashCode();
         }
      }

      class="kw">return var1;
   }

   @Override
   class="kw">public String toString() {
      Long2ObjectConcurrentHashMap.Node[] var1 = this.table;
      int var2 = this.table == null ? 0 : var1.length;
      Long2ObjectConcurrentHashMap.Traverser var3 = new Long2ObjectConcurrentHashMap.Traverser<>(var1, var2, 0, var2);
      StringBuilder var4 = new StringBuilder();
      var4.append('{');
      Long2ObjectConcurrentHashMap.Node var5;
      if ((var5 = var3.advance()) != null) {
         while (true) {
            long var6 = var5.key;
            Object var8 = var5.val;
            var4.append(var6);
            var4.append('=');
            var4.append(var8 == this ? "(this Map)" : var8);
            if ((var5 = var3.advance()) == null) {
               break;
            }

            var4.append(',').append(' ');
         }
      }

      class="kw">return var4.append('}').toString();
   }

   @Override
   class="kw">public boolean equals(Object var1) {
      if (var1 != this) {
         if (!(var1 class="kw">instanceof Long2ObjectConcurrentHashMap var2)) {
            class="kw">return false;
         }

         Long2ObjectConcurrentHashMap.Node[] var3 = this.table;
         int var4 = this.table == null ? 0 : var3.length;
         Long2ObjectConcurrentHashMap.Traverser var5 = new Long2ObjectConcurrentHashMap.Traverser<>(var3, var4, 0, var4);

         Long2ObjectConcurrentHashMap.Node var6;
         while ((var6 = var5.advance()) != null) {
            Object var7 = var6.val;
            Object var8 = var2.get(var6.key);
            if (var8 == null || var8 != var7 && !var8.equals(var7)) {
               class="kw">return false;
            }
         }

         ObjectIterator var12 = var2.long2ObjectEntrySet().iterator();

         while (var12.hasNext()) {
            it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry var13 = (it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<?>)var12.next();
            Object var10;
            Object var11;
            long var14;
            if ((var14 = var13.getLongKey()) == var2.EMPTY
               || (var10 = var13.getValue()) == null
               || (var11 = this.get(var14)) == null
               || var10 != var11 && !var10.equals(var11)) {
               class="kw">return false;
            }
         }
      }

      class="kw">return true;
   }

   class="kw">public V putIfAbsent(long var1, V var3) {
      class="kw">return this.putVal(var1, var3, true);
   }

   class="kw">public boolean remove(long var1, Object var3) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      } else {
         class="kw">return var3 != null && this.replaceNode(var1, null, var3) != null;
      }
   }

   class="kw">public boolean replace(long var1, V var3, V var4) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      } else if (var3 != null && var4 != null) {
         class="kw">return this.replaceNode(var1, var4, var3) != null;
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public V replace(long var1, V var3) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      } else if (var3 == null) {
         throw new NullPointerException();
      } else {
         class="kw">return this.replaceNode(var1, var3, null);
      }
   }

   class="kw">public V getOrDefault(long var1, V var3) {
      Object var4;
      class="kw">return (var4 = this.get(var1)) == null ? var3 : var4;
   }

   class="kw">public int forEach(Long2ObjectConcurrentHashMap.LongObjConsumer<? super V> var1) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var2 = 0;
      Long2ObjectConcurrentHashMap.Node[] var3 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var4 = var3;
         Long2ObjectConcurrentHashMap.Node var5 = null;
         Long2ObjectConcurrentHashMap.TableStack var6 = null;
         Long2ObjectConcurrentHashMap.TableStack var7 = null;
         int var8 = 0;
         int var9 = 0;
         int var10 = var3.length;
         int var11 = var3.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var12 = null;
            var12 = var5;
            if (var5 != null) {
               var12 = var12.next;
            }

            label78: {
               while (true) {
                  if (var12 != null) {
                     var5 = var12;
                     break label78;
                  }

                  if (var9 >= var10) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var13 = var4;
                  if (var4 == null) {
                     break;
                  }

                  int var15;
                  int var10000 = var15 = var13.length;
                  int var14 = var8;
                  if (var10000 <= var8 || var14 < 0) {
                     break;
                  }

                  if ((var12 = tabAt(var13, var14)) != null && var12.hash < 0) {
                     if (var12 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var4 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var12).nextTable;
                        var12 = null;
                        Long2ObjectConcurrentHashMap.TableStack var20 = var7;
                        if (var20 != null) {
                           var7 = var20.next;
                        } else {
                           var20 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var20.tab = var13;
                        var20.length = var15;
                        var20.index = var14;
                        var20.next = var6;
                        var6 = var20;
                        class="kw">continue;
                     }

                     if (var12 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var12 = ((Long2ObjectConcurrentHashMap.TreeBin)var12).first;
                     } else {
                        var12 = null;
                     }
                  }

                  if (var6 == null) {
                     if ((var8 = var14 + var11) >= var15) {
                        var8 = ++var9;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var16 = var6;
                        if (var6 != null) {
                           int var17 = var16.length;
                           if ((var8 += var16.length) >= var15) {
                              var15 = var17;
                              var8 = var16.index;
                              var4 = var16.tab;
                              var16.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var18 = var16.next;
                              var16.next = var7;
                              var6 = var18;
                              var7 = var16;
                              class="kw">continue;
                           }
                        }

                        if (var16 == null && (var8 += var11) >= var15) {
                           var8 = ++var9;
                        }
                        break;
                     }
                  }
               }

               var5 = null;
            }

            if (var12 == null) {
               break;
            }

            var1.accept(var12.key, var12.val);
            var2++;
         }
      }

      class="kw">return var2;
   }

   class="kw">public <X> int forEach(Long2ObjectConcurrentHashMap.LongBiObjConsumer<? super V, X> var1, X var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var3 = 0;
      Long2ObjectConcurrentHashMap.Node[] var4 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var5 = var4;
         Long2ObjectConcurrentHashMap.Node var6 = null;
         Long2ObjectConcurrentHashMap.TableStack var7 = null;
         Long2ObjectConcurrentHashMap.TableStack var8 = null;
         int var9 = 0;
         int var10 = 0;
         int var11 = var4.length;
         int var12 = var4.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var13 = null;
            var13 = var6;
            if (var6 != null) {
               var13 = var13.next;
            }

            label78: {
               while (true) {
                  if (var13 != null) {
                     var6 = var13;
                     break label78;
                  }

                  if (var10 >= var11) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var14 = var5;
                  if (var5 == null) {
                     break;
                  }

                  int var16;
                  int var10000 = var16 = var14.length;
                  int var15 = var9;
                  if (var10000 <= var9 || var15 < 0) {
                     break;
                  }

                  if ((var13 = tabAt(var14, var15)) != null && var13.hash < 0) {
                     if (var13 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var5 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var13).nextTable;
                        var13 = null;
                        Long2ObjectConcurrentHashMap.TableStack var21 = var8;
                        if (var21 != null) {
                           var8 = var21.next;
                        } else {
                           var21 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var14;
                        var21.length = var16;
                        var21.index = var15;
                        var21.next = var7;
                        var7 = var21;
                        class="kw">continue;
                     }

                     if (var13 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var13 = ((Long2ObjectConcurrentHashMap.TreeBin)var13).first;
                     } else {
                        var13 = null;
                     }
                  }

                  if (var7 == null) {
                     if ((var9 = var15 + var12) >= var16) {
                        var9 = ++var10;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var17 = var7;
                        if (var7 != null) {
                           int var18 = var17.length;
                           if ((var9 += var17.length) >= var16) {
                              var16 = var18;
                              var9 = var17.index;
                              var5 = var17.tab;
                              var17.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var19 = var17.next;
                              var17.next = var8;
                              var7 = var19;
                              var8 = var17;
                              class="kw">continue;
                           }
                        }

                        if (var17 == null && (var9 += var12) >= var16) {
                           var9 = ++var10;
                        }
                        break;
                     }
                  }
               }

               var6 = null;
            }

            if (var13 == null) {
               break;
            }

            var1.accept(var13.key, var13.val, var2);
            var3++;
         }
      }

      class="kw">return var3;
   }

   class="kw">public <X, Y> int forEach(Long2ObjectConcurrentHashMap.LongTriObjConsumer<? super V, X, Y> var1, X var2, Y var3) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var4 = 0;
      Long2ObjectConcurrentHashMap.Node[] var5 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var6 = var5;
         Long2ObjectConcurrentHashMap.Node var7 = null;
         Long2ObjectConcurrentHashMap.TableStack var8 = null;
         Long2ObjectConcurrentHashMap.TableStack var9 = null;
         int var10 = 0;
         int var11 = 0;
         int var12 = var5.length;
         int var13 = var5.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var14 = null;
            var14 = var7;
            if (var7 != null) {
               var14 = var14.next;
            }

            label78: {
               while (true) {
                  if (var14 != null) {
                     var7 = var14;
                     break label78;
                  }

                  if (var11 >= var12) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var15 = var6;
                  if (var6 == null) {
                     break;
                  }

                  int var17;
                  int var10000 = var17 = var15.length;
                  int var16 = var10;
                  if (var10000 <= var10 || var16 < 0) {
                     break;
                  }

                  if ((var14 = tabAt(var15, var16)) != null && var14.hash < 0) {
                     if (var14 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var6 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var14).nextTable;
                        var14 = null;
                        Long2ObjectConcurrentHashMap.TableStack var22 = var9;
                        if (var22 != null) {
                           var9 = var22.next;
                        } else {
                           var22 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var15;
                        var22.length = var17;
                        var22.index = var16;
                        var22.next = var8;
                        var8 = var22;
                        class="kw">continue;
                     }

                     if (var14 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var14 = ((Long2ObjectConcurrentHashMap.TreeBin)var14).first;
                     } else {
                        var14 = null;
                     }
                  }

                  if (var8 == null) {
                     if ((var10 = var16 + var13) >= var17) {
                        var10 = ++var11;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var18 = var8;
                        if (var8 != null) {
                           int var19 = var18.length;
                           if ((var10 += var18.length) >= var17) {
                              var17 = var19;
                              var10 = var18.index;
                              var6 = var18.tab;
                              var18.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var20 = var18.next;
                              var18.next = var9;
                              var8 = var20;
                              var9 = var18;
                              class="kw">continue;
                           }
                        }

                        if (var18 == null && (var10 += var13) >= var17) {
                           var10 = ++var11;
                        }
                        break;
                     }
                  }
               }

               var7 = null;
            }

            if (var14 == null) {
               break;
            }

            var1.accept(var14.key, var14.val, var2, var3);
            var4++;
         }
      }

      class="kw">return var4;
   }

   class="kw">public int forEachWithByte(Long2ObjectConcurrentHashMap.LongObjByteConsumer<? super V> var1, byte var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var3 = 0;
      Long2ObjectConcurrentHashMap.Node[] var4 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var5 = var4;
         Long2ObjectConcurrentHashMap.Node var6 = null;
         Long2ObjectConcurrentHashMap.TableStack var7 = null;
         Long2ObjectConcurrentHashMap.TableStack var8 = null;
         int var9 = 0;
         int var10 = 0;
         int var11 = var4.length;
         int var12 = var4.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var13 = null;
            var13 = var6;
            if (var6 != null) {
               var13 = var13.next;
            }

            label78: {
               while (true) {
                  if (var13 != null) {
                     var6 = var13;
                     break label78;
                  }

                  if (var10 >= var11) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var14 = var5;
                  if (var5 == null) {
                     break;
                  }

                  int var16;
                  int var10000 = var16 = var14.length;
                  int var15 = var9;
                  if (var10000 <= var9 || var15 < 0) {
                     break;
                  }

                  if ((var13 = tabAt(var14, var15)) != null && var13.hash < 0) {
                     if (var13 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var5 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var13).nextTable;
                        var13 = null;
                        Long2ObjectConcurrentHashMap.TableStack var21 = var8;
                        if (var21 != null) {
                           var8 = var21.next;
                        } else {
                           var21 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var14;
                        var21.length = var16;
                        var21.index = var15;
                        var21.next = var7;
                        var7 = var21;
                        class="kw">continue;
                     }

                     if (var13 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var13 = ((Long2ObjectConcurrentHashMap.TreeBin)var13).first;
                     } else {
                        var13 = null;
                     }
                  }

                  if (var7 == null) {
                     if ((var9 = var15 + var12) >= var16) {
                        var9 = ++var10;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var17 = var7;
                        if (var7 != null) {
                           int var18 = var17.length;
                           if ((var9 += var17.length) >= var16) {
                              var16 = var18;
                              var9 = var17.index;
                              var5 = var17.tab;
                              var17.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var19 = var17.next;
                              var17.next = var8;
                              var7 = var19;
                              var8 = var17;
                              class="kw">continue;
                           }
                        }

                        if (var17 == null && (var9 += var12) >= var16) {
                           var9 = ++var10;
                        }
                        break;
                     }
                  }
               }

               var6 = null;
            }

            if (var13 == null) {
               break;
            }

            var1.accept(var13.key, var13.val, var2);
            var3++;
         }
      }

      class="kw">return var3;
   }

   class="kw">public int forEachWithShort(Long2ObjectConcurrentHashMap.LongObjShortConsumer<? super V> var1, short var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var3 = 0;
      Long2ObjectConcurrentHashMap.Node[] var4 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var5 = var4;
         Long2ObjectConcurrentHashMap.Node var6 = null;
         Long2ObjectConcurrentHashMap.TableStack var7 = null;
         Long2ObjectConcurrentHashMap.TableStack var8 = null;
         int var9 = 0;
         int var10 = 0;
         int var11 = var4.length;
         int var12 = var4.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var13 = null;
            var13 = var6;
            if (var6 != null) {
               var13 = var13.next;
            }

            label78: {
               while (true) {
                  if (var13 != null) {
                     var6 = var13;
                     break label78;
                  }

                  if (var10 >= var11) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var14 = var5;
                  if (var5 == null) {
                     break;
                  }

                  int var16;
                  int var10000 = var16 = var14.length;
                  int var15 = var9;
                  if (var10000 <= var9 || var15 < 0) {
                     break;
                  }

                  if ((var13 = tabAt(var14, var15)) != null && var13.hash < 0) {
                     if (var13 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var5 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var13).nextTable;
                        var13 = null;
                        Long2ObjectConcurrentHashMap.TableStack var21 = var8;
                        if (var21 != null) {
                           var8 = var21.next;
                        } else {
                           var21 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var14;
                        var21.length = var16;
                        var21.index = var15;
                        var21.next = var7;
                        var7 = var21;
                        class="kw">continue;
                     }

                     if (var13 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var13 = ((Long2ObjectConcurrentHashMap.TreeBin)var13).first;
                     } else {
                        var13 = null;
                     }
                  }

                  if (var7 == null) {
                     if ((var9 = var15 + var12) >= var16) {
                        var9 = ++var10;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var17 = var7;
                        if (var7 != null) {
                           int var18 = var17.length;
                           if ((var9 += var17.length) >= var16) {
                              var16 = var18;
                              var9 = var17.index;
                              var5 = var17.tab;
                              var17.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var19 = var17.next;
                              var17.next = var8;
                              var7 = var19;
                              var8 = var17;
                              class="kw">continue;
                           }
                        }

                        if (var17 == null && (var9 += var12) >= var16) {
                           var9 = ++var10;
                        }
                        break;
                     }
                  }
               }

               var6 = null;
            }

            if (var13 == null) {
               break;
            }

            var1.accept(var13.key, var13.val, var2);
            var3++;
         }
      }

      class="kw">return var3;
   }

   class="kw">public int forEachWithInt(Long2ObjectConcurrentHashMap.LongObjIntConsumer<? super V> var1, int var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var3 = 0;
      Long2ObjectConcurrentHashMap.Node[] var4 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var5 = var4;
         Long2ObjectConcurrentHashMap.Node var6 = null;
         Long2ObjectConcurrentHashMap.TableStack var7 = null;
         Long2ObjectConcurrentHashMap.TableStack var8 = null;
         int var9 = 0;
         int var10 = 0;
         int var11 = var4.length;
         int var12 = var4.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var13 = null;
            var13 = var6;
            if (var6 != null) {
               var13 = var13.next;
            }

            label78: {
               while (true) {
                  if (var13 != null) {
                     var6 = var13;
                     break label78;
                  }

                  if (var10 >= var11) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var14 = var5;
                  if (var5 == null) {
                     break;
                  }

                  int var16;
                  int var10000 = var16 = var14.length;
                  int var15 = var9;
                  if (var10000 <= var9 || var15 < 0) {
                     break;
                  }

                  if ((var13 = tabAt(var14, var15)) != null && var13.hash < 0) {
                     if (var13 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var5 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var13).nextTable;
                        var13 = null;
                        Long2ObjectConcurrentHashMap.TableStack var21 = var8;
                        if (var21 != null) {
                           var8 = var21.next;
                        } else {
                           var21 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var14;
                        var21.length = var16;
                        var21.index = var15;
                        var21.next = var7;
                        var7 = var21;
                        class="kw">continue;
                     }

                     if (var13 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var13 = ((Long2ObjectConcurrentHashMap.TreeBin)var13).first;
                     } else {
                        var13 = null;
                     }
                  }

                  if (var7 == null) {
                     if ((var9 = var15 + var12) >= var16) {
                        var9 = ++var10;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var17 = var7;
                        if (var7 != null) {
                           int var18 = var17.length;
                           if ((var9 += var17.length) >= var16) {
                              var16 = var18;
                              var9 = var17.index;
                              var5 = var17.tab;
                              var17.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var19 = var17.next;
                              var17.next = var8;
                              var7 = var19;
                              var8 = var17;
                              class="kw">continue;
                           }
                        }

                        if (var17 == null && (var9 += var12) >= var16) {
                           var9 = ++var10;
                        }
                        break;
                     }
                  }
               }

               var6 = null;
            }

            if (var13 == null) {
               break;
            }

            var1.accept(var13.key, var13.val, var2);
            var3++;
         }
      }

      class="kw">return var3;
   }

   class="kw">public int forEachWithLong(Long2ObjectConcurrentHashMap.LongObjLongConsumer<? super V> var1, long var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var4 = 0;
      Long2ObjectConcurrentHashMap.Node[] var5 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var6 = var5;
         Long2ObjectConcurrentHashMap.Node var7 = null;
         Long2ObjectConcurrentHashMap.TableStack var8 = null;
         Long2ObjectConcurrentHashMap.TableStack var9 = null;
         int var10 = 0;
         int var11 = 0;
         int var12 = var5.length;
         int var13 = var5.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var14 = null;
            var14 = var7;
            if (var7 != null) {
               var14 = var14.next;
            }

            label78: {
               while (true) {
                  if (var14 != null) {
                     var7 = var14;
                     break label78;
                  }

                  if (var11 >= var12) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var15 = var6;
                  if (var6 == null) {
                     break;
                  }

                  int var17;
                  int var10000 = var17 = var15.length;
                  int var16 = var10;
                  if (var10000 <= var10 || var16 < 0) {
                     break;
                  }

                  if ((var14 = tabAt(var15, var16)) != null && var14.hash < 0) {
                     if (var14 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var6 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var14).nextTable;
                        var14 = null;
                        Long2ObjectConcurrentHashMap.TableStack var22 = var9;
                        if (var22 != null) {
                           var9 = var22.next;
                        } else {
                           var22 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var15;
                        var22.length = var17;
                        var22.index = var16;
                        var22.next = var8;
                        var8 = var22;
                        class="kw">continue;
                     }

                     if (var14 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var14 = ((Long2ObjectConcurrentHashMap.TreeBin)var14).first;
                     } else {
                        var14 = null;
                     }
                  }

                  if (var8 == null) {
                     if ((var10 = var16 + var13) >= var17) {
                        var10 = ++var11;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var18 = var8;
                        if (var8 != null) {
                           int var19 = var18.length;
                           if ((var10 += var18.length) >= var17) {
                              var17 = var19;
                              var10 = var18.index;
                              var6 = var18.tab;
                              var18.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var20 = var18.next;
                              var18.next = var9;
                              var8 = var20;
                              var9 = var18;
                              class="kw">continue;
                           }
                        }

                        if (var18 == null && (var10 += var13) >= var17) {
                           var10 = ++var11;
                        }
                        break;
                     }
                  }
               }

               var7 = null;
            }

            if (var14 == null) {
               break;
            }

            var1.accept(var14.key, var14.val, var2);
            var4++;
         }
      }

      class="kw">return var4;
   }

   class="kw">public int forEachWithFloat(Long2ObjectConcurrentHashMap.LongObjFloatConsumer<? super V> var1, float var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var3 = 0;
      Long2ObjectConcurrentHashMap.Node[] var4 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var5 = var4;
         Long2ObjectConcurrentHashMap.Node var6 = null;
         Long2ObjectConcurrentHashMap.TableStack var7 = null;
         Long2ObjectConcurrentHashMap.TableStack var8 = null;
         int var9 = 0;
         int var10 = 0;
         int var11 = var4.length;
         int var12 = var4.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var13 = null;
            var13 = var6;
            if (var6 != null) {
               var13 = var13.next;
            }

            label78: {
               while (true) {
                  if (var13 != null) {
                     var6 = var13;
                     break label78;
                  }

                  if (var10 >= var11) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var14 = var5;
                  if (var5 == null) {
                     break;
                  }

                  int var16;
                  int var10000 = var16 = var14.length;
                  int var15 = var9;
                  if (var10000 <= var9 || var15 < 0) {
                     break;
                  }

                  if ((var13 = tabAt(var14, var15)) != null && var13.hash < 0) {
                     if (var13 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var5 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var13).nextTable;
                        var13 = null;
                        Long2ObjectConcurrentHashMap.TableStack var21 = var8;
                        if (var21 != null) {
                           var8 = var21.next;
                        } else {
                           var21 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var14;
                        var21.length = var16;
                        var21.index = var15;
                        var21.next = var7;
                        var7 = var21;
                        class="kw">continue;
                     }

                     if (var13 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var13 = ((Long2ObjectConcurrentHashMap.TreeBin)var13).first;
                     } else {
                        var13 = null;
                     }
                  }

                  if (var7 == null) {
                     if ((var9 = var15 + var12) >= var16) {
                        var9 = ++var10;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var17 = var7;
                        if (var7 != null) {
                           int var18 = var17.length;
                           if ((var9 += var17.length) >= var16) {
                              var16 = var18;
                              var9 = var17.index;
                              var5 = var17.tab;
                              var17.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var19 = var17.next;
                              var17.next = var8;
                              var7 = var19;
                              var8 = var17;
                              class="kw">continue;
                           }
                        }

                        if (var17 == null && (var9 += var12) >= var16) {
                           var9 = ++var10;
                        }
                        break;
                     }
                  }
               }

               var6 = null;
            }

            if (var13 == null) {
               break;
            }

            var1.accept(var13.key, var13.val, var2);
            var3++;
         }
      }

      class="kw">return var3;
   }

   class="kw">public int forEachWithDouble(Long2ObjectConcurrentHashMap.LongObjDoubleConsumer<? super V> var1, double var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var4 = 0;
      Long2ObjectConcurrentHashMap.Node[] var5 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var6 = var5;
         Long2ObjectConcurrentHashMap.Node var7 = null;
         Long2ObjectConcurrentHashMap.TableStack var8 = null;
         Long2ObjectConcurrentHashMap.TableStack var9 = null;
         int var10 = 0;
         int var11 = 0;
         int var12 = var5.length;
         int var13 = var5.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var14 = null;
            var14 = var7;
            if (var7 != null) {
               var14 = var14.next;
            }

            label78: {
               while (true) {
                  if (var14 != null) {
                     var7 = var14;
                     break label78;
                  }

                  if (var11 >= var12) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var15 = var6;
                  if (var6 == null) {
                     break;
                  }

                  int var17;
                  int var10000 = var17 = var15.length;
                  int var16 = var10;
                  if (var10000 <= var10 || var16 < 0) {
                     break;
                  }

                  if ((var14 = tabAt(var15, var16)) != null && var14.hash < 0) {
                     if (var14 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var6 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var14).nextTable;
                        var14 = null;
                        Long2ObjectConcurrentHashMap.TableStack var22 = var9;
                        if (var22 != null) {
                           var9 = var22.next;
                        } else {
                           var22 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var15;
                        var22.length = var17;
                        var22.index = var16;
                        var22.next = var8;
                        var8 = var22;
                        class="kw">continue;
                     }

                     if (var14 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var14 = ((Long2ObjectConcurrentHashMap.TreeBin)var14).first;
                     } else {
                        var14 = null;
                     }
                  }

                  if (var8 == null) {
                     if ((var10 = var16 + var13) >= var17) {
                        var10 = ++var11;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var18 = var8;
                        if (var8 != null) {
                           int var19 = var18.length;
                           if ((var10 += var18.length) >= var17) {
                              var17 = var19;
                              var10 = var18.index;
                              var6 = var18.tab;
                              var18.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var20 = var18.next;
                              var18.next = var9;
                              var8 = var20;
                              var9 = var18;
                              class="kw">continue;
                           }
                        }

                        if (var18 == null && (var10 += var13) >= var17) {
                           var10 = ++var11;
                        }
                        break;
                     }
                  }
               }

               var7 = null;
            }

            if (var14 == null) {
               break;
            }

            var1.accept(var14.key, var14.val, var2);
            var4++;
         }
      }

      class="kw">return var4;
   }

   class="kw">public <X> int forEachWithByte(Long2ObjectConcurrentHashMap.LongBiObjByteConsumer<? super V, X> var1, byte var2, X var3) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var4 = 0;
      Long2ObjectConcurrentHashMap.Node[] var5 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var6 = var5;
         Long2ObjectConcurrentHashMap.Node var7 = null;
         Long2ObjectConcurrentHashMap.TableStack var8 = null;
         Long2ObjectConcurrentHashMap.TableStack var9 = null;
         int var10 = 0;
         int var11 = 0;
         int var12 = var5.length;
         int var13 = var5.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var14 = null;
            var14 = var7;
            if (var7 != null) {
               var14 = var14.next;
            }

            label78: {
               while (true) {
                  if (var14 != null) {
                     var7 = var14;
                     break label78;
                  }

                  if (var11 >= var12) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var15 = var6;
                  if (var6 == null) {
                     break;
                  }

                  int var17;
                  int var10000 = var17 = var15.length;
                  int var16 = var10;
                  if (var10000 <= var10 || var16 < 0) {
                     break;
                  }

                  if ((var14 = tabAt(var15, var16)) != null && var14.hash < 0) {
                     if (var14 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var6 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var14).nextTable;
                        var14 = null;
                        Long2ObjectConcurrentHashMap.TableStack var22 = var9;
                        if (var22 != null) {
                           var9 = var22.next;
                        } else {
                           var22 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var15;
                        var22.length = var17;
                        var22.index = var16;
                        var22.next = var8;
                        var8 = var22;
                        class="kw">continue;
                     }

                     if (var14 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var14 = ((Long2ObjectConcurrentHashMap.TreeBin)var14).first;
                     } else {
                        var14 = null;
                     }
                  }

                  if (var8 == null) {
                     if ((var10 = var16 + var13) >= var17) {
                        var10 = ++var11;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var18 = var8;
                        if (var8 != null) {
                           int var19 = var18.length;
                           if ((var10 += var18.length) >= var17) {
                              var17 = var19;
                              var10 = var18.index;
                              var6 = var18.tab;
                              var18.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var20 = var18.next;
                              var18.next = var9;
                              var8 = var20;
                              var9 = var18;
                              class="kw">continue;
                           }
                        }

                        if (var18 == null && (var10 += var13) >= var17) {
                           var10 = ++var11;
                        }
                        break;
                     }
                  }
               }

               var7 = null;
            }

            if (var14 == null) {
               break;
            }

            var1.accept(var14.key, var14.val, var2, var3);
            var4++;
         }
      }

      class="kw">return var4;
   }

   class="kw">public <X> int forEachWithShort(Long2ObjectConcurrentHashMap.LongBiObjShortConsumer<? super V, X> var1, short var2, X var3) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var4 = 0;
      Long2ObjectConcurrentHashMap.Node[] var5 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var6 = var5;
         Long2ObjectConcurrentHashMap.Node var7 = null;
         Long2ObjectConcurrentHashMap.TableStack var8 = null;
         Long2ObjectConcurrentHashMap.TableStack var9 = null;
         int var10 = 0;
         int var11 = 0;
         int var12 = var5.length;
         int var13 = var5.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var14 = null;
            var14 = var7;
            if (var7 != null) {
               var14 = var14.next;
            }

            label78: {
               while (true) {
                  if (var14 != null) {
                     var7 = var14;
                     break label78;
                  }

                  if (var11 >= var12) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var15 = var6;
                  if (var6 == null) {
                     break;
                  }

                  int var17;
                  int var10000 = var17 = var15.length;
                  int var16 = var10;
                  if (var10000 <= var10 || var16 < 0) {
                     break;
                  }

                  if ((var14 = tabAt(var15, var16)) != null && var14.hash < 0) {
                     if (var14 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var6 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var14).nextTable;
                        var14 = null;
                        Long2ObjectConcurrentHashMap.TableStack var22 = var9;
                        if (var22 != null) {
                           var9 = var22.next;
                        } else {
                           var22 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var15;
                        var22.length = var17;
                        var22.index = var16;
                        var22.next = var8;
                        var8 = var22;
                        class="kw">continue;
                     }

                     if (var14 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var14 = ((Long2ObjectConcurrentHashMap.TreeBin)var14).first;
                     } else {
                        var14 = null;
                     }
                  }

                  if (var8 == null) {
                     if ((var10 = var16 + var13) >= var17) {
                        var10 = ++var11;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var18 = var8;
                        if (var8 != null) {
                           int var19 = var18.length;
                           if ((var10 += var18.length) >= var17) {
                              var17 = var19;
                              var10 = var18.index;
                              var6 = var18.tab;
                              var18.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var20 = var18.next;
                              var18.next = var9;
                              var8 = var20;
                              var9 = var18;
                              class="kw">continue;
                           }
                        }

                        if (var18 == null && (var10 += var13) >= var17) {
                           var10 = ++var11;
                        }
                        break;
                     }
                  }
               }

               var7 = null;
            }

            if (var14 == null) {
               break;
            }

            var1.accept(var14.key, var14.val, var2, var3);
            var4++;
         }
      }

      class="kw">return var4;
   }

   class="kw">public <X> int forEachWithInt(Long2ObjectConcurrentHashMap.LongBiObjIntConsumer<? super V, X> var1, int var2, X var3) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var4 = 0;
      Long2ObjectConcurrentHashMap.Node[] var5 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var6 = var5;
         Long2ObjectConcurrentHashMap.Node var7 = null;
         Long2ObjectConcurrentHashMap.TableStack var8 = null;
         Long2ObjectConcurrentHashMap.TableStack var9 = null;
         int var10 = 0;
         int var11 = 0;
         int var12 = var5.length;
         int var13 = var5.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var14 = null;
            var14 = var7;
            if (var7 != null) {
               var14 = var14.next;
            }

            label78: {
               while (true) {
                  if (var14 != null) {
                     var7 = var14;
                     break label78;
                  }

                  if (var11 >= var12) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var15 = var6;
                  if (var6 == null) {
                     break;
                  }

                  int var17;
                  int var10000 = var17 = var15.length;
                  int var16 = var10;
                  if (var10000 <= var10 || var16 < 0) {
                     break;
                  }

                  if ((var14 = tabAt(var15, var16)) != null && var14.hash < 0) {
                     if (var14 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var6 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var14).nextTable;
                        var14 = null;
                        Long2ObjectConcurrentHashMap.TableStack var22 = var9;
                        if (var22 != null) {
                           var9 = var22.next;
                        } else {
                           var22 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var15;
                        var22.length = var17;
                        var22.index = var16;
                        var22.next = var8;
                        var8 = var22;
                        class="kw">continue;
                     }

                     if (var14 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var14 = ((Long2ObjectConcurrentHashMap.TreeBin)var14).first;
                     } else {
                        var14 = null;
                     }
                  }

                  if (var8 == null) {
                     if ((var10 = var16 + var13) >= var17) {
                        var10 = ++var11;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var18 = var8;
                        if (var8 != null) {
                           int var19 = var18.length;
                           if ((var10 += var18.length) >= var17) {
                              var17 = var19;
                              var10 = var18.index;
                              var6 = var18.tab;
                              var18.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var20 = var18.next;
                              var18.next = var9;
                              var8 = var20;
                              var9 = var18;
                              class="kw">continue;
                           }
                        }

                        if (var18 == null && (var10 += var13) >= var17) {
                           var10 = ++var11;
                        }
                        break;
                     }
                  }
               }

               var7 = null;
            }

            if (var14 == null) {
               break;
            }

            var1.accept(var14.key, var14.val, var2, var3);
            var4++;
         }
      }

      class="kw">return var4;
   }

   class="kw">public <X> int forEachWithLong(Long2ObjectConcurrentHashMap.LongBiObjLongConsumer<? super V, X> var1, long var2, X var4) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var5 = 0;
      Long2ObjectConcurrentHashMap.Node[] var6 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var7 = var6;
         Long2ObjectConcurrentHashMap.Node var8 = null;
         Long2ObjectConcurrentHashMap.TableStack var9 = null;
         Long2ObjectConcurrentHashMap.TableStack var10 = null;
         int var11 = 0;
         int var12 = 0;
         int var13 = var6.length;
         int var14 = var6.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var15 = null;
            var15 = var8;
            if (var8 != null) {
               var15 = var15.next;
            }

            label78: {
               while (true) {
                  if (var15 != null) {
                     var8 = var15;
                     break label78;
                  }

                  if (var12 >= var13) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var16 = var7;
                  if (var7 == null) {
                     break;
                  }

                  int var18;
                  int var10000 = var18 = var16.length;
                  int var17 = var11;
                  if (var10000 <= var11 || var17 < 0) {
                     break;
                  }

                  if ((var15 = tabAt(var16, var17)) != null && var15.hash < 0) {
                     if (var15 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var7 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var15).nextTable;
                        var15 = null;
                        Long2ObjectConcurrentHashMap.TableStack var23 = var10;
                        if (var23 != null) {
                           var10 = var23.next;
                        } else {
                           var23 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var23.tab = var16;
                        var23.length = var18;
                        var23.index = var17;
                        var23.next = var9;
                        var9 = var23;
                        class="kw">continue;
                     }

                     if (var15 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var15 = ((Long2ObjectConcurrentHashMap.TreeBin)var15).first;
                     } else {
                        var15 = null;
                     }
                  }

                  if (var9 == null) {
                     if ((var11 = var17 + var14) >= var18) {
                        var11 = ++var12;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var19 = var9;
                        if (var9 != null) {
                           int var20 = var19.length;
                           if ((var11 += var19.length) >= var18) {
                              var18 = var20;
                              var11 = var19.index;
                              var7 = var19.tab;
                              var19.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var21 = var19.next;
                              var19.next = var10;
                              var9 = var21;
                              var10 = var19;
                              class="kw">continue;
                           }
                        }

                        if (var19 == null && (var11 += var14) >= var18) {
                           var11 = ++var12;
                        }
                        break;
                     }
                  }
               }

               var8 = null;
            }

            if (var15 == null) {
               break;
            }

            var1.accept(var15.key, var15.val, var2, var4);
            var5++;
         }
      }

      class="kw">return var5;
   }

   class="kw">public <X> int forEachWithFloat(Long2ObjectConcurrentHashMap.LongBiObjFloatConsumer<? super V, X> var1, float var2, X var3) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var4 = 0;
      Long2ObjectConcurrentHashMap.Node[] var5 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var6 = var5;
         Long2ObjectConcurrentHashMap.Node var7 = null;
         Long2ObjectConcurrentHashMap.TableStack var8 = null;
         Long2ObjectConcurrentHashMap.TableStack var9 = null;
         int var10 = 0;
         int var11 = 0;
         int var12 = var5.length;
         int var13 = var5.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var14 = null;
            var14 = var7;
            if (var7 != null) {
               var14 = var14.next;
            }

            label78: {
               while (true) {
                  if (var14 != null) {
                     var7 = var14;
                     break label78;
                  }

                  if (var11 >= var12) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var15 = var6;
                  if (var6 == null) {
                     break;
                  }

                  int var17;
                  int var10000 = var17 = var15.length;
                  int var16 = var10;
                  if (var10000 <= var10 || var16 < 0) {
                     break;
                  }

                  if ((var14 = tabAt(var15, var16)) != null && var14.hash < 0) {
                     if (var14 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var6 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var14).nextTable;
                        var14 = null;
                        Long2ObjectConcurrentHashMap.TableStack var22 = var9;
                        if (var22 != null) {
                           var9 = var22.next;
                        } else {
                           var22 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var15;
                        var22.length = var17;
                        var22.index = var16;
                        var22.next = var8;
                        var8 = var22;
                        class="kw">continue;
                     }

                     if (var14 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var14 = ((Long2ObjectConcurrentHashMap.TreeBin)var14).first;
                     } else {
                        var14 = null;
                     }
                  }

                  if (var8 == null) {
                     if ((var10 = var16 + var13) >= var17) {
                        var10 = ++var11;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var18 = var8;
                        if (var8 != null) {
                           int var19 = var18.length;
                           if ((var10 += var18.length) >= var17) {
                              var17 = var19;
                              var10 = var18.index;
                              var6 = var18.tab;
                              var18.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var20 = var18.next;
                              var18.next = var9;
                              var8 = var20;
                              var9 = var18;
                              class="kw">continue;
                           }
                        }

                        if (var18 == null && (var10 += var13) >= var17) {
                           var10 = ++var11;
                        }
                        break;
                     }
                  }
               }

               var7 = null;
            }

            if (var14 == null) {
               break;
            }

            var1.accept(var14.key, var14.val, var2, var3);
            var4++;
         }
      }

      class="kw">return var4;
   }

   class="kw">public <X> int forEachWithDouble(Long2ObjectConcurrentHashMap.LongBiObjDoubleConsumer<? super V, X> var1, double var2, X var4) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var5 = 0;
      Long2ObjectConcurrentHashMap.Node[] var6 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var7 = var6;
         Long2ObjectConcurrentHashMap.Node var8 = null;
         Long2ObjectConcurrentHashMap.TableStack var9 = null;
         Long2ObjectConcurrentHashMap.TableStack var10 = null;
         int var11 = 0;
         int var12 = 0;
         int var13 = var6.length;
         int var14 = var6.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var15 = null;
            var15 = var8;
            if (var8 != null) {
               var15 = var15.next;
            }

            label78: {
               while (true) {
                  if (var15 != null) {
                     var8 = var15;
                     break label78;
                  }

                  if (var12 >= var13) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var16 = var7;
                  if (var7 == null) {
                     break;
                  }

                  int var18;
                  int var10000 = var18 = var16.length;
                  int var17 = var11;
                  if (var10000 <= var11 || var17 < 0) {
                     break;
                  }

                  if ((var15 = tabAt(var16, var17)) != null && var15.hash < 0) {
                     if (var15 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var7 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var15).nextTable;
                        var15 = null;
                        Long2ObjectConcurrentHashMap.TableStack var23 = var10;
                        if (var23 != null) {
                           var10 = var23.next;
                        } else {
                           var23 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var23.tab = var16;
                        var23.length = var18;
                        var23.index = var17;
                        var23.next = var9;
                        var9 = var23;
                        class="kw">continue;
                     }

                     if (var15 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var15 = ((Long2ObjectConcurrentHashMap.TreeBin)var15).first;
                     } else {
                        var15 = null;
                     }
                  }

                  if (var9 == null) {
                     if ((var11 = var17 + var14) >= var18) {
                        var11 = ++var12;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var19 = var9;
                        if (var9 != null) {
                           int var20 = var19.length;
                           if ((var11 += var19.length) >= var18) {
                              var18 = var20;
                              var11 = var19.index;
                              var7 = var19.tab;
                              var19.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var21 = var19.next;
                              var19.next = var10;
                              var9 = var21;
                              var10 = var19;
                              class="kw">continue;
                           }
                        }

                        if (var19 == null && (var11 += var14) >= var18) {
                           var11 = ++var12;
                        }
                        break;
                     }
                  }
               }

               var8 = null;
            }

            if (var15 == null) {
               break;
            }

            var1.accept(var15.key, var15.val, var2, var4);
            var5++;
         }
      }

      class="kw">return var5;
   }

   class="kw">public void replaceAll(Long2ObjectOperator<V> var1) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Long2ObjectConcurrentHashMap.Node[] var2 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var3 = var2;
         Long2ObjectConcurrentHashMap.Node var4 = null;
         Long2ObjectConcurrentHashMap.TableStack var5 = null;
         Long2ObjectConcurrentHashMap.TableStack var6 = null;
         int var7 = 0;
         int var8 = 0;
         int var9 = var2.length;
         int var10 = var2.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var11 = null;
            var11 = var4;
            if (var4 != null) {
               var11 = var11.next;
            }

            label86: {
               while (true) {
                  if (var11 != null) {
                     var4 = var11;
                     break label86;
                  }

                  if (var8 >= var9) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var12 = var3;
                  if (var3 == null) {
                     break;
                  }

                  int var14;
                  int var10000 = var14 = var12.length;
                  int var13 = var7;
                  if (var10000 <= var7 || var13 < 0) {
                     break;
                  }

                  if ((var11 = tabAt(var12, var13)) != null && var11.hash < 0) {
                     if (var11 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var3 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var11).nextTable;
                        var11 = null;
                        Long2ObjectConcurrentHashMap.TableStack var21 = var6;
                        if (var21 != null) {
                           var6 = var21.next;
                        } else {
                           var21 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var12;
                        var21.length = var14;
                        var21.index = var13;
                        var21.next = var5;
                        var5 = var21;
                        class="kw">continue;
                     }

                     if (var11 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var11 = ((Long2ObjectConcurrentHashMap.TreeBin)var11).first;
                     } else {
                        var11 = null;
                     }
                  }

                  if (var5 == null) {
                     if ((var7 = var13 + var10) >= var14) {
                        var7 = ++var8;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var15 = var5;
                        if (var5 != null) {
                           int var16 = var15.length;
                           if ((var7 += var15.length) >= var14) {
                              var14 = var16;
                              var7 = var15.index;
                              var3 = var15.tab;
                              var15.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var17 = var15.next;
                              var15.next = var6;
                              var5 = var17;
                              var6 = var15;
                              class="kw">continue;
                           }
                        }

                        if (var15 == null && (var7 += var10) >= var14) {
                           var7 = ++var8;
                        }
                        break;
                     }
                  }
               }

               var4 = null;
            }

            if (var11 == null) {
               break;
            }

            Object var19 = var11.val;
            long var20 = var11.key;

            Object var22;
            do {
               var22 = var1.apply(var20, var19);
               if (var22 == null) {
                  throw new NullPointerException();
               }
            } while (this.replaceNode(var20, var22, var19) == null && (var19 = this.get(var20)) != null);
         }
      }
   }

   class="kw">public V computeIfAbsent(long var1, Long2ObjectConcurrentHashMap.LongFunction<? class="kw">extends V> var3) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      }

      if (var3 == null) {
         throw new NullPointerException();
      }

      int var4 = spread(Long.hashCode(var1));
      Object var5 = null;
      int var6 = 0;
      Long2ObjectConcurrentHashMap.Node[] var7 = this.table;

      while (true) {
         int var9;
         while (var7 == null || (var9 = var7.length) == 0) {
            var7 = this.initTable();
         }

         Long2ObjectConcurrentHashMap.Node var8;
         int var10;
         if ((var8 = tabAt(var7, var10 = var9 - 1 & var4)) == null) {
            Long2ObjectConcurrentHashMap.Node var26 = new Long2ObjectConcurrentHashMap.ReservationNode<>(this.EMPTY);
            class="kw">synchronized (var26) {
               if (casTabAt(var7, var10, null, var26)) {
                  var6 = 1;
                  Long2ObjectConcurrentHashMap.Node var28 = null;

                  try {
                     if ((var5 = (V)var3.apply(var1)) != null) {
                        var28 = new Long2ObjectConcurrentHashMap.Node<>(this.EMPTY, var4, var1, var5, null);
                     }
                  } class="kw">finally {
                     setTabAt(var7, var10, var28);
                  }
               }
            }

            if (var6 != 0) {
               break;
            }
         } else {
            int var11 = var8.hash;
            if (var8.hash == -1) {
               var7 = this.helpTransfer(var7, var8);
            } else {
               boolean var12 = false;
               class="kw">synchronized (var8) {
                  if (tabAt(var7, var10) == var8) {
                     if (var11 < 0) {
                        if (var8 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                           var6 = 2;
                           Long2ObjectConcurrentHashMap.TreeBin var27 = (Long2ObjectConcurrentHashMap.TreeBin<V>)var8;
                           Long2ObjectConcurrentHashMap.TreeNode var29 = var27.root;
                           Long2ObjectConcurrentHashMap.TreeNode var16;
                           if (var27.root != null && (var16 = var29.findTreeNode(var4, var1, null)) != null) {
                              var5 = var16.val;
                           } else if ((var5 = (V)var3.apply(var1)) != null) {
                              var12 = true;
                              var27.putTreeVal(var4, var1, var5);
                           }
                        }
                     } else {
                        var6 = 1;
                        Long2ObjectConcurrentHashMap.Node var14 = var8;

                        while (true) {
                           if (var14.hash == var4) {
                              long var15 = var14.key;
                              if (var14.key == var1 || var15 != this.EMPTY && var1 == var15) {
                                 var5 = var14.val;
                                 break;
                              }
                           }

                           Long2ObjectConcurrentHashMap.Node var18 = var14;
                           if ((var14 = var14.next) == null) {
                              if ((var5 = (V)var3.apply(var1)) != null) {
                                 var12 = true;
                                 var18.next = new Long2ObjectConcurrentHashMap.Node<>(this.EMPTY, var4, var1, var5, null);
                              }
                              break;
                           }

                           var6++;
                        }
                     }
                  }
               }

               if (var6 != 0) {
                  if (var6 >= 8) {
                     this.treeifyBin(var7, var10);
                  }

                  if (!var12) {
                     class="kw">return var5;
                  }
                  break;
               }
            }
         }
      }

      if (var5 != null) {
         this.addCount(1L, var6);
      }

      class="kw">return var5;
   }

   class="kw">public V computeIfPresent(long var1, Long2ObjectConcurrentHashMap.LongObjFunction<? super V, ? class="kw">extends V> var3) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      }

      if (var3 == null) {
         throw new NullPointerException();
      }

      int var4 = spread(Long.hashCode(var1));
      Object var5 = null;
      int var6 = 0;
      int var7 = 0;
      Long2ObjectConcurrentHashMap.Node[] var8 = this.table;

      while (true) {
         int var10;
         while (var8 == null || (var10 = var8.length) == 0) {
            var8 = this.initTable();
         }

         Long2ObjectConcurrentHashMap.Node var9;
         int var11;
         if ((var9 = tabAt(var8, var11 = var10 - 1 & var4)) == null) {
            break;
         }

         int var12 = var9.hash;
         if (var9.hash == -1) {
            var8 = this.helpTransfer(var8, var9);
         } else {
            class="kw">synchronized (var9) {
               if (tabAt(var8, var11) == var9) {
                  if (var12 < 0) {
                     if (var9 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var7 = 2;
                        Long2ObjectConcurrentHashMap.TreeBin var21 = (Long2ObjectConcurrentHashMap.TreeBin<V>)var9;
                        Long2ObjectConcurrentHashMap.TreeNode var22 = var21.root;
                        Long2ObjectConcurrentHashMap.TreeNode var23;
                        if (var21.root != null && (var23 = var22.findTreeNode(var4, var1, null)) != null) {
                           var5 = (V)var3.apply(var1, var23.val);
                           if (var5 != null) {
                              var23.val = var5;
                           } else {
                              var6 = -1;
                              if (var21.removeTreeNode(var23)) {
                                 setTabAt(var8, var11, this.untreeify(var21.first));
                              }
                           }
                        }
                     }
                  } else {
                     var7 = 1;
                     Long2ObjectConcurrentHashMap.Node var14 = var9;
                     Long2ObjectConcurrentHashMap.Node var15 = null;

                     while (true) {
                        if (var14.hash == var4) {
                           long var16 = var14.key;
                           if (var14.key == var1 || var16 != this.EMPTY && var1 == var16) {
                              var5 = (V)var3.apply(var1, var14.val);
                              if (var5 != null) {
                                 var14.val = var5;
                              } else {
                                 var6 = -1;
                                 Long2ObjectConcurrentHashMap.Node var18 = var14.next;
                                 if (var15 != null) {
                                    var15.next = var18;
                                 } else {
                                    setTabAt(var8, var11, var18);
                                 }
                              }
                              break;
                           }
                        }

                        var15 = var14;
                        if ((var14 = var14.next) == null) {
                           break;
                        }

                        var7++;
                     }
                  }
               }
            }

            if (var7 != 0) {
               break;
            }
         }
      }

      if (var6 != 0) {
         this.addCount(var6, var7);
      }

      class="kw">return var5;
   }

   class="kw">public V compute(long var1, Long2ObjectConcurrentHashMap.LongObjFunction<? super V, ? class="kw">extends V> var3) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      }

      if (var3 == null) {
         throw new NullPointerException();
      }

      int var4 = spread(Long.hashCode(var1));
      Object var5 = null;
      int var6 = 0;
      int var7 = 0;
      Long2ObjectConcurrentHashMap.Node[] var8 = this.table;

      while (true) {
         int var10;
         while (var8 == null || (var10 = var8.length) == 0) {
            var8 = this.initTable();
         }

         Long2ObjectConcurrentHashMap.Node var9;
         int var11;
         if ((var9 = tabAt(var8, var11 = var10 - 1 & var4)) == null) {
            Long2ObjectConcurrentHashMap.Node var13 = new Long2ObjectConcurrentHashMap.ReservationNode<>(this.EMPTY);
            class="kw">synchronized (var13) {
               if (casTabAt(var8, var11, null, var13)) {
                  var7 = 1;
                  Long2ObjectConcurrentHashMap.Node var28 = null;

                  try {
                     if ((var5 = (V)var3.apply(var1, null)) != null) {
                        var6 = 1;
                        var28 = new Long2ObjectConcurrentHashMap.Node<>(this.EMPTY, var4, var1, var5, null);
                     }
                  } class="kw">finally {
                     setTabAt(var8, var11, var28);
                  }
               }
            }

            if (var7 != 0) {
               break;
            }
         } else {
            int var12 = var9.hash;
            if (var9.hash == -1) {
               var8 = this.helpTransfer(var8, var9);
            } else {
               class="kw">synchronized (var9) {
                  if (tabAt(var8, var11) == var9) {
                     if (var12 < 0) {
                        if (var9 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                           var7 = 1;
                           Long2ObjectConcurrentHashMap.TreeBin var26 = (Long2ObjectConcurrentHashMap.TreeBin<V>)var9;
                           Long2ObjectConcurrentHashMap.TreeNode var27 = var26.root;
                           Long2ObjectConcurrentHashMap.TreeNode var29;
                           if (var26.root != null) {
                              var29 = var27.findTreeNode(var4, var1, null);
                           } else {
                              var29 = null;
                           }

                           Object var17 = var29 == null ? null : var29.val;
                           var5 = (V)var3.apply(var1, var17);
                           if (var5 != null) {
                              if (var29 != null) {
                                 var29.val = var5;
                              } else {
                                 var6 = 1;
                                 var26.putTreeVal(var4, var1, var5);
                              }
                           } else if (var29 != null) {
                              var6 = -1;
                              if (var26.removeTreeNode(var29)) {
                                 setTabAt(var8, var11, this.untreeify(var26.first));
                              }
                           }
                        }
                     } else {
                        var7 = 1;
                        Long2ObjectConcurrentHashMap.Node var14 = var9;
                        Long2ObjectConcurrentHashMap.Node var15 = null;

                        while (true) {
                           if (var14.hash == var4) {
                              long var16 = var14.key;
                              if (var14.key == var1 || var16 != this.EMPTY && var1 == var16) {
                                 var5 = (V)var3.apply(var1, var14.val);
                                 if (var5 != null) {
                                    var14.val = var5;
                                 } else {
                                    var6 = -1;
                                    Long2ObjectConcurrentHashMap.Node var18 = var14.next;
                                    if (var15 != null) {
                                       var15.next = var18;
                                    } else {
                                       setTabAt(var8, var11, var18);
                                    }
                                 }
                                 break;
                              }
                           }

                           var15 = var14;
                           if ((var14 = var14.next) == null) {
                              var5 = (V)var3.apply(var1, null);
                              if (var5 != null) {
                                 var6 = 1;
                                 var15.next = new Long2ObjectConcurrentHashMap.Node<>(this.EMPTY, var4, var1, var5, null);
                              }
                              break;
                           }

                           var7++;
                        }
                     }
                  }
               }

               if (var7 != 0) {
                  if (var7 >= 8) {
                     this.treeifyBin(var8, var11);
                  }
                  break;
               }
            }
         }
      }

      if (var6 != 0) {
         this.addCount(var6, var7);
      }

      class="kw">return var5;
   }

   class="kw">public V merge(long var1, V var3, BiFunction<? super V, ? super V, ? class="kw">extends V> var4) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      }

      if (var3 != null && var4 != null) {
         int var5 = spread(Long.hashCode(var1));
         Object var6 = null;
         int var7 = 0;
         int var8 = 0;
         Long2ObjectConcurrentHashMap.Node[] var9 = this.table;

         while (true) {
            int var11;
            while (var9 == null || (var11 = var9.length) == 0) {
               var9 = this.initTable();
            }

            Long2ObjectConcurrentHashMap.Node var10;
            int var12;
            if ((var10 = tabAt(var9, var12 = var11 - 1 & var5)) == null) {
               if (casTabAt(var9, var12, null, new Long2ObjectConcurrentHashMap.Node<>(this.EMPTY, var5, var1, var3, null))) {
                  var7 = 1;
                  var6 = var3;
                  break;
               }
            } else {
               int var13 = var10.hash;
               if (var10.hash == -1) {
                  var9 = this.helpTransfer(var9, var10);
               } else {
                  class="kw">synchronized (var10) {
                     if (tabAt(var9, var12) == var10) {
                        if (var13 < 0) {
                           if (var10 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                              var8 = 2;
                              Long2ObjectConcurrentHashMap.TreeBin var22 = (Long2ObjectConcurrentHashMap.TreeBin<V>)var10;
                              Long2ObjectConcurrentHashMap.TreeNode var23 = var22.root;
                              Long2ObjectConcurrentHashMap.TreeNode var24 = var23 == null ? null : var23.findTreeNode(var5, var1, null);
                              var6 = var24 == null ? var3 : var4.apply(var24.val, var3);
                              if (var6 != null) {
                                 if (var24 != null) {
                                    var24.val = var6;
                                 } else {
                                    var7 = 1;
                                    var22.putTreeVal(var5, var1, var6);
                                 }
                              } else if (var24 != null) {
                                 var7 = -1;
                                 if (var22.removeTreeNode(var24)) {
                                    setTabAt(var9, var12, this.untreeify(var22.first));
                                 }
                              }
                           }
                        } else {
                           var8 = 1;
                           Long2ObjectConcurrentHashMap.Node var15 = var10;
                           Long2ObjectConcurrentHashMap.Node var16 = null;

                           while (true) {
                              if (var15.hash == var5) {
                                 long var17 = var15.key;
                                 if (var15.key == var1 || var17 != this.EMPTY && var1 == var17) {
                                    var6 = (V)var4.apply(var15.val, var3);
                                    if (var6 != null) {
                                       var15.val = var6;
                                    } else {
                                       var7 = -1;
                                       Long2ObjectConcurrentHashMap.Node var19 = var15.next;
                                       if (var16 != null) {
                                          var16.next = var19;
                                       } else {
                                          setTabAt(var9, var12, var19);
                                       }
                                    }
                                    break;
                                 }
                              }

                              var16 = var15;
                              if ((var15 = var15.next) == null) {
                                 var7 = 1;
                                 var6 = var3;
                                 var16.next = new Long2ObjectConcurrentHashMap.Node<>(this.EMPTY, var5, var1, var6, null);
                                 break;
                              }

                              var8++;
                           }
                        }
                     }
                  }

                  if (var8 != 0) {
                     if (var8 >= 8) {
                        this.treeifyBin(var9, var12);
                     }
                     break;
                  }
               }
            }
         }

         if (var7 != 0) {
            this.addCount(var7, var8);
         }

         class="kw">return var6;
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public long mappingCount() {
      long var1 = this.sumCount();
      class="kw">return var1 < 0L ? 0L : var1;
   }

   class="kw">public class="kw">static LongSet newKeySet() {
      class="kw">return new Long2ObjectConcurrentHashMap.KeySetView<>(new Long2ObjectConcurrentHashMap<>(), Boolean.TRUE);
   }

   class="kw">public class="kw">static Long2ObjectConcurrentHashMap.KeySetView<Boolean> newKeySet(int var0) {
      class="kw">return new Long2ObjectConcurrentHashMap.KeySetView<>(new Long2ObjectConcurrentHashMap<>(var0), Boolean.TRUE);
   }

   class="kw">public Long2ObjectConcurrentHashMap.KeySetView<V> keySet(V var1) {
      if (var1 == null) {
         throw new NullPointerException();
      } else {
         class="kw">return new Long2ObjectConcurrentHashMap.KeySetView<>(this, var1);
      }
   }

   class="kw">protected class="kw">static class="kw">final int resizeStamp(int var0) {
      class="kw">return Integer.numberOfLeadingZeros(var0) | 1 << RESIZE_STAMP_BITS - 1;
   }

   class="kw">protected class="kw">final Long2ObjectConcurrentHashMap.Node<V>[] initTable() {
      Long2ObjectConcurrentHashMap.Node[] var1;
      while (true) {
         var1 = this.table;
         if (this.table != null && var1.length != 0) {
            break;
         }

         int var2 = this.sizeCtl;
         if (this.sizeCtl < 0) {
            Thread.yield();
         } else if (U.compareAndSwapInt(this, SIZECTL, var2, -1)) {
            try {
               var1 = this.table;
               if (this.table == null || var1.length == 0) {
                  int var3 = var2 > 0 ? var2 : 16;
                  Long2ObjectConcurrentHashMap.Node[] var4 = new Long2ObjectConcurrentHashMap.Node[var3];
                  var1 = var4;
                  this.table = var4;
                  var2 = var3 - (var3 >>> 2);
               }
               break;
            } class="kw">finally {
               this.sizeCtl = var2;
            }
         }
      }

      class="kw">return var1;
   }

   class="kw">protected class="kw">final void addCount(long var1, int var3) {
      int var13;
      label77: {
         long var7;
         label74: {
            Long2ObjectConcurrentHashMap.CounterCell[] var4 = this.counterCells;
            if (this.counterCells == null) {
               long var5 = this.baseCount;
               if (U.compareAndSwapLong(this, BASECOUNT, this.baseCount, var7 = var5 + var1)) {
                  break label74;
               }
            }

            var13 = (boolean)1;
            Long2ObjectConcurrentHashMap.CounterCell var9;
            int var12;
            if (var4 == null || (var12 = var4.length - 1) < 0 || (var9 = var4[TLRUtil.getProbe() & var12]) == null) {
               break label77;
            }

            long var10 = var9.value;
            if (!(var13 = U.compareAndSwapLong(var9, CELLVALUE, var9.value, var10 + var1))) {
               break label77;
            }

            if (var3 <= 1) {
               class="kw">return;
            }

            var7 = this.sumCount();
         }

         if (var3 >= 0) {
            while (true) {
               int var16 = this.sizeCtl;
               if (var7 < this.sizeCtl) {
                  break;
               }

               Long2ObjectConcurrentHashMap.Node[] var14 = this.table;
               int var11;
               if (this.table == null || (var11 = var14.length) >= 1073741824) {
                  break;
               }

               var13 = (boolean)resizeStamp(var11);
               if (var16 < 0) {
                  if (var16 >>> RESIZE_STAMP_SHIFT != var13 || var16 == var13 + 1 || var16 == var13 + MAX_RESIZERS) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var15 = this.nextTable;
                  if (this.nextTable == null || this.transferIndex <= 0) {
                     break;
                  }

                  if (U.compareAndSwapInt(this, SIZECTL, var16, var16 + 1)) {
                     this.transfer(var14, var15);
                  }
               } else if (U.compareAndSwapInt(this, SIZECTL, var16, (var13 << RESIZE_STAMP_SHIFT) + 2)) {
                  this.transfer(var14, null);
               }

               var7 = this.sumCount();
            }
         }

         class="kw">return;
      }

      this.fullAddCount(var1, var13);
   }

   class="kw">protected class="kw">final Long2ObjectConcurrentHashMap.Node<V>[] helpTransfer(Long2ObjectConcurrentHashMap.Node<V>[] var1, Long2ObjectConcurrentHashMap.Node<V> var2) {
      if (var1 != null && var2 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
         Long2ObjectConcurrentHashMap.Node[] var3 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var2).nextTable;
         if (((Long2ObjectConcurrentHashMap.ForwardingNode)var2).nextTable != null) {
            int var5 = resizeStamp(var1.length);

            while (var3 == this.nextTable && this.table == var1) {
               int var4 = this.sizeCtl;
               if (this.sizeCtl >= 0 || var4 >>> RESIZE_STAMP_SHIFT != var5 || var4 == var5 + 1 || var4 == var5 + MAX_RESIZERS || this.transferIndex <= 0) {
                  break;
               }

               if (U.compareAndSwapInt(this, SIZECTL, var4, var4 + 1)) {
                  this.transfer(var1, var3);
                  break;
               }
            }

            class="kw">return var3;
         }
      }

      class="kw">return this.table;
   }

   class="kw">protected class="kw">final void tryPresize(int var1) {
      int var2 = var1 >= 536870912 ? 1073741824 : tableSizeFor(var1 + (var1 >>> 1) + 1);

      while (true) {
         int var3 = this.sizeCtl;
         if (this.sizeCtl < 0) {
            break;
         }

         Long2ObjectConcurrentHashMap.Node[] var4 = this.table;
         int var5;
         if (var4 != null && (var5 = var4.length) != 0) {
            if (var2 <= var3 || var5 >= 1073741824) {
               break;
            }

            if (var4 == this.table) {
               int var11 = resizeStamp(var5);
               if (var3 < 0) {
                  if (var3 >>> RESIZE_STAMP_SHIFT != var11 || var3 == var11 + 1 || var3 == var11 + MAX_RESIZERS) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var7 = this.nextTable;
                  if (this.nextTable == null || this.transferIndex <= 0) {
                     break;
                  }

                  if (U.compareAndSwapInt(this, SIZECTL, var3, var3 + 1)) {
                     this.transfer(var4, var7);
                  }
               } else if (U.compareAndSwapInt(this, SIZECTL, var3, (var11 << RESIZE_STAMP_SHIFT) + 2)) {
                  this.transfer(var4, null);
               }
            }
         } else {
            var5 = var3 > var2 ? var3 : var2;
            if (U.compareAndSwapInt(this, SIZECTL, var3, -1)) {
               try {
                  if (this.table == var4) {
                     Long2ObjectConcurrentHashMap.Node[] var6 = new Long2ObjectConcurrentHashMap.Node[var5];
                     this.table = var6;
                     var3 = var5 - (var5 >>> 2);
                  }
               } class="kw">finally {
                  this.sizeCtl = var3;
               }
            }
         }
      }
   }

   class="kw">protected class="kw">final void transfer(Long2ObjectConcurrentHashMap.Node<V>[] var1, Long2ObjectConcurrentHashMap.Node<V>[] var2) {
      int var3 = var1.length;
      int var4;
      if ((var4 = NCPU > 1 ? (var3 >>> 3) / NCPU : var3) < 16) {
         var4 = 16;
      }

      if (var2 == null) {
         try {
            Long2ObjectConcurrentHashMap.Node[] var5 = new Long2ObjectConcurrentHashMap.Node[var3 << 1];
            var2 = var5;
         } catch (Throwable var27) {
            this.sizeCtl = Integer.MAX_VALUE;
            class="kw">return;
         }

         this.nextTable = var2;
         this.transferIndex = var3;
      }

      int var29 = var2.length;
      Long2ObjectConcurrentHashMap.ForwardingNode var6 = new Long2ObjectConcurrentHashMap.ForwardingNode<>(this.EMPTY, var2);
      boolean var7 = true;
      boolean var8 = false;
      int var9 = 0;
      int var10 = 0;

      while (true) {
         while (!var7) {
            if (var9 >= 0 && var9 < var3 && var9 + var3 < var29) {
               Long2ObjectConcurrentHashMap.Node var11;
               if ((var11 = tabAt(var1, var9)) == null) {
                  var7 = casTabAt(var1, var9, null, var6);
               } else {
                  int var12 = var11.hash;
                  if (var11.hash == -1) {
                     var7 = true;
                  } else {
                     class="kw">synchronized (var11) {
                        if (tabAt(var1, var9) == var11) {
                           if (var12 >= 0) {
                              int var16 = var12 & var3;
                              Long2ObjectConcurrentHashMap.Node var17 = var11;

                              for (Long2ObjectConcurrentHashMap.Node var18 = var11.next; var18 != null; var18 = var18.next) {
                                 int var19 = var18.hash & var3;
                                 if (var19 != var16) {
                                    var16 = var19;
                                    var17 = var18;
                                 }
                              }

                              Long2ObjectConcurrentHashMap.Node var14;
                              Long2ObjectConcurrentHashMap.Node var15;
                              if (var16 == 0) {
                                 var14 = var17;
                                 var15 = null;
                              } else {
                                 var15 = var17;
                                 var14 = null;
                              }

                              for (Long2ObjectConcurrentHashMap.Node var36 = var11; var36 != var17; var36 = var36.next) {
                                 int var38 = var36.hash;
                                 long var20 = var36.key;
                                 Object var22 = var36.val;
                                 if ((var38 & var3) == 0) {
                                    var14 = new Long2ObjectConcurrentHashMap.Node<>(this.EMPTY, var38, var20, var22, var14);
                                 } else {
                                    var15 = new Long2ObjectConcurrentHashMap.Node<>(this.EMPTY, var38, var20, var22, var15);
                                 }
                              }

                              setTabAt(var2, var9, var14);
                              setTabAt(var2, var9 + var3, var15);
                              setTabAt(var1, var9, var6);
                              var7 = true;
                           } else if (var11 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin var34) {
                              Long2ObjectConcurrentHashMap.TreeNode var35 = null;
                              Long2ObjectConcurrentHashMap.TreeNode var37 = null;
                              Long2ObjectConcurrentHashMap.TreeNode var39 = null;
                              Long2ObjectConcurrentHashMap.TreeNode var40 = null;
                              int var21 = 0;
                              int var41 = 0;

                              for (Long2ObjectConcurrentHashMap.Node var23 = var34.first; var23 != null; var23 = var23.next) {
                                 int var24 = var23.hash;
                                 Long2ObjectConcurrentHashMap.TreeNode var25 = new Long2ObjectConcurrentHashMap.TreeNode<>(
                                    this.EMPTY, var24, var23.key, var23.val, null, null
                                 );
                                 if ((var24 & var3) == 0) {
                                    if ((var25.prev = var37) == null) {
                                       var35 = var25;
                                    } else {
                                       var37.next = var25;
                                    }

                                    var37 = var25;
                                    var21++;
                                 } else {
                                    if ((var25.prev = var40) == null) {
                                       var39 = var25;
                                    } else {
                                       var40.next = var25;
                                    }

                                    var40 = var25;
                                    var41++;
                                 }
                              }

                              Long2ObjectConcurrentHashMap.Node var31 = var21 <= 6
                                 ? this.untreeify(var35)
                                 : (var41 != 0 ? new Long2ObjectConcurrentHashMap.TreeBin<>(this.EMPTY, var35) : var34);
                              Long2ObjectConcurrentHashMap.Node var33 = var41 <= 6
                                 ? this.untreeify(var39)
                                 : (var21 != 0 ? new Long2ObjectConcurrentHashMap.TreeBin<>(this.EMPTY, var39) : var34);
                              setTabAt(var2, var9, var31);
                              setTabAt(var2, var9 + var3, var33);
                              setTabAt(var1, var9, var6);
                              var7 = true;
                           }
                        }
                     }
                  }
               }
            } else {
               if (var8) {
                  this.nextTable = null;
                  this.table = var2;
                  this.sizeCtl = (var3 << 1) - (var3 >>> 1);
                  class="kw">return;
               }

               int var13 = this.sizeCtl;
               if (U.compareAndSwapInt(this, SIZECTL, this.sizeCtl, var13 - 1)) {
                  if (var13 - 2 != resizeStamp(var3) << RESIZE_STAMP_SHIFT) {
                     class="kw">return;
                  }

                  var7 = true;
                  var8 = true;
                  var9 = var3;
               }
            }
         }

         if (--var9 < var10 && !var8) {
            int var30 = this.transferIndex;
            if (this.transferIndex <= 0) {
               var9 = -1;
               var7 = false;
            } else {
               int var32;
               if (U.compareAndSwapInt(this, TRANSFERINDEX, var30, var32 = var30 > var4 ? var30 - var4 : 0)) {
                  var10 = var32;
                  var9 = var30 - 1;
                  var7 = false;
               }
            }
         } else {
            var7 = false;
         }
      }
   }

   class="kw">protected class="kw">final long sumCount() {
      Long2ObjectConcurrentHashMap.CounterCell[] var1 = this.counterCells;
      long var3 = this.baseCount;
      if (var1 != null) {
         for (int var5 = 0; var5 < var1.length; var5++) {
            Long2ObjectConcurrentHashMap.CounterCell var2;
            if ((var2 = var1[var5]) != null) {
               var3 += var2.value;
            }
         }
      }

      class="kw">return var3;
   }

   class="kw">protected class="kw">final void fullAddCount(long var1, boolean var3) {
      int var4;
      if ((var4 = TLRUtil.getProbe()) == 0) {
         TLRUtil.localInit();
         var4 = TLRUtil.getProbe();
         var3 = true;
      }

      boolean var5 = false;

      while (true) {
         Long2ObjectConcurrentHashMap.CounterCell[] var6 = this.counterCells;
         int var8;
         if (this.counterCells != null && (var8 = var6.length) > 0) {
            Long2ObjectConcurrentHashMap.CounterCell var7;
            if ((var7 = var6[var8 - 1 & var4]) == null) {
               if (this.cellsBusy == 0) {
                  Long2ObjectConcurrentHashMap.CounterCell var32 = new Long2ObjectConcurrentHashMap.CounterCell(var1);
                  if (this.cellsBusy == 0 && U.compareAndSwapInt(this, CELLSBUSY, 0, 1)) {
                     boolean var34 = false;

                     try {
                        Long2ObjectConcurrentHashMap.CounterCell[] var13 = this.counterCells;
                        int var14;
                        int var15;
                        if (this.counterCells != null && (var14 = var13.length) > 0 && var13[var15 = var14 - 1 & var4] == null) {
                           var13[var15] = var32;
                           var34 = true;
                        }
                     } class="kw">finally {
                        this.cellsBusy = 0;
                     }

                     if (var34) {
                        break;
                     }
                     class="kw">continue;
                  }
               }

               var5 = false;
            } else if (!var3) {
               var3 = true;
            } else {
               long var31 = var7.value;
               if (U.compareAndSwapLong(var7, CELLVALUE, var7.value, var31 + var1)) {
                  break;
               }

               if (this.counterCells != var6 || var8 >= NCPU) {
                  var5 = false;
               } else if (!var5) {
                  var5 = true;
               } else if (this.cellsBusy == 0 && U.compareAndSwapInt(this, CELLSBUSY, 0, 1)) {
                  try {
                     if (this.counterCells == var6) {
                        Long2ObjectConcurrentHashMap.CounterCell[] var33 = new Long2ObjectConcurrentHashMap.CounterCell[var8 << 1];

                        for (int var35 = 0; var35 < var8; var35++) {
                           var33[var35] = var6[var35];
                        }

                        this.counterCells = var33;
                     }
                  } class="kw">finally {
                     this.cellsBusy = 0;
                  }

                  var5 = false;
                  class="kw">continue;
               }
            }

            var4 = TLRUtil.advanceProbe(var4);
         } else if (this.cellsBusy == 0 && this.counterCells == var6 && U.compareAndSwapInt(this, CELLSBUSY, 0, 1)) {
            boolean var11 = false;

            try {
               if (this.counterCells == var6) {
                  Long2ObjectConcurrentHashMap.CounterCell[] var12 = new Long2ObjectConcurrentHashMap.CounterCell[2];
                  var12[var4 & 1] = new Long2ObjectConcurrentHashMap.CounterCell(var1);
                  this.counterCells = var12;
                  var11 = true;
               }
            } class="kw">finally {
               this.cellsBusy = 0;
            }

            if (var11) {
               break;
            }
         } else {
            long var9 = this.baseCount;
            if (U.compareAndSwapLong(this, BASECOUNT, this.baseCount, var9 + var1)) {
               break;
            }
         }
      }
   }

   class="kw">protected class="kw">final void treeifyBin(Long2ObjectConcurrentHashMap.Node<V>[] var1, int var2) {
      if (var1 != null) {
         int var4;
         if ((var4 = var1.length) < 64) {
            this.tryPresize(var4 << 1);
         } else {
            Long2ObjectConcurrentHashMap.Node var3;
            if ((var3 = tabAt(var1, var2)) != null && var3.hash >= 0) {
               class="kw">synchronized (var3) {
                  if (tabAt(var1, var2) == var3) {
                     Long2ObjectConcurrentHashMap.TreeNode var7 = null;
                     Long2ObjectConcurrentHashMap.TreeNode var8 = null;

                     for (Long2ObjectConcurrentHashMap.Node var9 = var3; var9 != null; var9 = var9.next) {
                        Long2ObjectConcurrentHashMap.TreeNode var10 = new Long2ObjectConcurrentHashMap.TreeNode<>(
                           this.EMPTY, var9.hash, var9.key, var9.val, null, null
                        );
                        if ((var10.prev = var8) == null) {
                           var7 = var10;
                        } else {
                           var8.next = var10;
                        }

                        var8 = var10;
                     }

                     setTabAt(var1, var2, new Long2ObjectConcurrentHashMap.TreeBin<>(this.EMPTY, var7));
                  }
               }
            }
         }
      }
   }

   class="kw">protected <V> Long2ObjectConcurrentHashMap.Node<V> untreeify(Long2ObjectConcurrentHashMap.Node<V> var1) {
      Long2ObjectConcurrentHashMap.Node var2 = null;
      Long2ObjectConcurrentHashMap.Node var3 = null;

      for (Long2ObjectConcurrentHashMap.Node var4 = var1; var4 != null; var4 = var4.next) {
         Long2ObjectConcurrentHashMap.Node var5 = new Long2ObjectConcurrentHashMap.Node<>(this.EMPTY, var4.hash, var4.key, var4.val, null);
         if (var3 == null) {
            var2 = var5;
         } else {
            var3.next = var5;
         }

         var3 = var5;
      }

      class="kw">return var2;
   }

   class="kw">protected class="kw">final int batchFor(long var1) {
      long var3;
      if (var1 != Long.MAX_VALUE && (var3 = this.sumCount()) > 1L && var3 >= var1) {
         int var5 = ForkJoinPool.getCommonPoolParallelism() << 2;
         long var6;
         class="kw">return var1 > 0L && (var6 = var3 / var1) < var5 ? (int)var6 : var5;
      } else {
         class="kw">return 0;
      }
   }

   class="kw">public void forEach(long var1, Long2ObjectConcurrentHashMap.LongObjConsumer<? super V> var3) {
      if (var3 == null) {
         throw new NullPointerException();
      }

      new Long2ObjectConcurrentHashMap.ForEachMappingTask<>(null, this.batchFor(var1), 0, 0, this.table, var3).invoke();
   }

   class="kw">public <U> void forEach(long var1, Long2ObjectConcurrentHashMap.LongObjFunction<? super V, ? class="kw">extends U> var3, Consumer<? super U> var4) {
      if (var3 != null && var4 != null) {
         new Long2ObjectConcurrentHashMap.ForEachTransformedMappingTask<>(null, this.batchFor(var1), 0, 0, this.table, var3, var4).invoke();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public <U> U search(long var1, Long2ObjectConcurrentHashMap.LongObjFunction<? super V, ? class="kw">extends U> var3) {
      if (var3 == null) {
         throw new NullPointerException();
      } else {
         class="kw">return new Long2ObjectConcurrentHashMap.SearchMappingsTask<>(null, this.batchFor(var1), 0, 0, this.table, var3, new AtomicReference()).invoke();
      }
   }

   class="kw">public <U> U search(Long2ObjectConcurrentHashMap.LongObjFunction<? super V, ? class="kw">extends U> var1) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Long2ObjectConcurrentHashMap.Node[] var2 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var3 = var2;
         Long2ObjectConcurrentHashMap.Node var4 = null;
         Long2ObjectConcurrentHashMap.TableStack var5 = null;
         Long2ObjectConcurrentHashMap.TableStack var6 = null;
         int var7 = 0;
         int var8 = 0;
         int var9 = var2.length;
         int var10 = var2.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var11 = null;
            var11 = var4;
            if (var4 != null) {
               var11 = var11.next;
            }

            label81: {
               while (true) {
                  if (var11 != null) {
                     var4 = var11;
                     break label81;
                  }

                  if (var8 >= var9) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var12 = var3;
                  if (var3 == null) {
                     break;
                  }

                  int var14;
                  int var10000 = var14 = var12.length;
                  int var13 = var7;
                  if (var10000 <= var7 || var13 < 0) {
                     break;
                  }

                  if ((var11 = tabAt(var12, var13)) != null && var11.hash < 0) {
                     if (var11 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var3 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var11).nextTable;
                        var11 = null;
                        Long2ObjectConcurrentHashMap.TableStack var20 = var6;
                        if (var20 != null) {
                           var6 = var20.next;
                        } else {
                           var20 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var20.tab = var12;
                        var20.length = var14;
                        var20.index = var13;
                        var20.next = var5;
                        var5 = var20;
                        class="kw">continue;
                     }

                     if (var11 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var11 = ((Long2ObjectConcurrentHashMap.TreeBin)var11).first;
                     } else {
                        var11 = null;
                     }
                  }

                  if (var5 == null) {
                     if ((var7 = var13 + var10) >= var14) {
                        var7 = ++var8;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var15 = var5;
                        if (var5 != null) {
                           int var16 = var15.length;
                           if ((var7 += var15.length) >= var14) {
                              var14 = var16;
                              var7 = var15.index;
                              var3 = var15.tab;
                              var15.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var17 = var15.next;
                              var15.next = var6;
                              var5 = var17;
                              var6 = var15;
                              class="kw">continue;
                           }
                        }

                        if (var15 == null && (var7 += var10) >= var14) {
                           var7 = ++var8;
                        }
                        break;
                     }
                  }
               }

               var4 = null;
            }

            if (var11 == null) {
               break;
            }

            Object var19 = (U)var1.apply(var11.key, var11.val);
            if (var19 != null) {
               class="kw">return var19;
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public <U, X> U search(Long2ObjectConcurrentHashMap.LongBiObjFunction<? super V, X, ? class="kw">extends U> var1, X var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Long2ObjectConcurrentHashMap.Node[] var3 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var4 = var3;
         Long2ObjectConcurrentHashMap.Node var5 = null;
         Long2ObjectConcurrentHashMap.TableStack var6 = null;
         Long2ObjectConcurrentHashMap.TableStack var7 = null;
         int var8 = 0;
         int var9 = 0;
         int var10 = var3.length;
         int var11 = var3.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var12 = null;
            var12 = var5;
            if (var5 != null) {
               var12 = var12.next;
            }

            label81: {
               while (true) {
                  if (var12 != null) {
                     var5 = var12;
                     break label81;
                  }

                  if (var9 >= var10) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var13 = var4;
                  if (var4 == null) {
                     break;
                  }

                  int var15;
                  int var10000 = var15 = var13.length;
                  int var14 = var8;
                  if (var10000 <= var8 || var14 < 0) {
                     break;
                  }

                  if ((var12 = tabAt(var13, var14)) != null && var12.hash < 0) {
                     if (var12 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var4 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var12).nextTable;
                        var12 = null;
                        Long2ObjectConcurrentHashMap.TableStack var21 = var7;
                        if (var21 != null) {
                           var7 = var21.next;
                        } else {
                           var21 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var13;
                        var21.length = var15;
                        var21.index = var14;
                        var21.next = var6;
                        var6 = var21;
                        class="kw">continue;
                     }

                     if (var12 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var12 = ((Long2ObjectConcurrentHashMap.TreeBin)var12).first;
                     } else {
                        var12 = null;
                     }
                  }

                  if (var6 == null) {
                     if ((var8 = var14 + var11) >= var15) {
                        var8 = ++var9;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var16 = var6;
                        if (var6 != null) {
                           int var17 = var16.length;
                           if ((var8 += var16.length) >= var15) {
                              var15 = var17;
                              var8 = var16.index;
                              var4 = var16.tab;
                              var16.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var18 = var16.next;
                              var16.next = var7;
                              var6 = var18;
                              var7 = var16;
                              class="kw">continue;
                           }
                        }

                        if (var16 == null && (var8 += var11) >= var15) {
                           var8 = ++var9;
                        }
                        break;
                     }
                  }
               }

               var5 = null;
            }

            if (var12 == null) {
               break;
            }

            Object var20 = (U)var1.apply(var12.key, var12.val, var2);
            if (var20 != null) {
               class="kw">return var20;
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public <U> U searchWithByte(Long2ObjectConcurrentHashMap.LongObjByteFunction<? super V, ? class="kw">extends U> var1, byte var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Long2ObjectConcurrentHashMap.Node[] var3 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var4 = var3;
         Long2ObjectConcurrentHashMap.Node var5 = null;
         Long2ObjectConcurrentHashMap.TableStack var6 = null;
         Long2ObjectConcurrentHashMap.TableStack var7 = null;
         int var8 = 0;
         int var9 = 0;
         int var10 = var3.length;
         int var11 = var3.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var12 = null;
            var12 = var5;
            if (var5 != null) {
               var12 = var12.next;
            }

            label81: {
               while (true) {
                  if (var12 != null) {
                     var5 = var12;
                     break label81;
                  }

                  if (var9 >= var10) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var13 = var4;
                  if (var4 == null) {
                     break;
                  }

                  int var15;
                  int var10000 = var15 = var13.length;
                  int var14 = var8;
                  if (var10000 <= var8 || var14 < 0) {
                     break;
                  }

                  if ((var12 = tabAt(var13, var14)) != null && var12.hash < 0) {
                     if (var12 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var4 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var12).nextTable;
                        var12 = null;
                        Long2ObjectConcurrentHashMap.TableStack var21 = var7;
                        if (var21 != null) {
                           var7 = var21.next;
                        } else {
                           var21 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var13;
                        var21.length = var15;
                        var21.index = var14;
                        var21.next = var6;
                        var6 = var21;
                        class="kw">continue;
                     }

                     if (var12 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var12 = ((Long2ObjectConcurrentHashMap.TreeBin)var12).first;
                     } else {
                        var12 = null;
                     }
                  }

                  if (var6 == null) {
                     if ((var8 = var14 + var11) >= var15) {
                        var8 = ++var9;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var16 = var6;
                        if (var6 != null) {
                           int var17 = var16.length;
                           if ((var8 += var16.length) >= var15) {
                              var15 = var17;
                              var8 = var16.index;
                              var4 = var16.tab;
                              var16.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var18 = var16.next;
                              var16.next = var7;
                              var6 = var18;
                              var7 = var16;
                              class="kw">continue;
                           }
                        }

                        if (var16 == null && (var8 += var11) >= var15) {
                           var8 = ++var9;
                        }
                        break;
                     }
                  }
               }

               var5 = null;
            }

            if (var12 == null) {
               break;
            }

            Object var20 = (U)var1.apply(var12.key, var12.val, var2);
            if (var20 != null) {
               class="kw">return var20;
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public <U> U searchWithShort(Long2ObjectConcurrentHashMap.LongObjShortFunction<? super V, ? class="kw">extends U> var1, short var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Long2ObjectConcurrentHashMap.Node[] var3 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var4 = var3;
         Long2ObjectConcurrentHashMap.Node var5 = null;
         Long2ObjectConcurrentHashMap.TableStack var6 = null;
         Long2ObjectConcurrentHashMap.TableStack var7 = null;
         int var8 = 0;
         int var9 = 0;
         int var10 = var3.length;
         int var11 = var3.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var12 = null;
            var12 = var5;
            if (var5 != null) {
               var12 = var12.next;
            }

            label81: {
               while (true) {
                  if (var12 != null) {
                     var5 = var12;
                     break label81;
                  }

                  if (var9 >= var10) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var13 = var4;
                  if (var4 == null) {
                     break;
                  }

                  int var15;
                  int var10000 = var15 = var13.length;
                  int var14 = var8;
                  if (var10000 <= var8 || var14 < 0) {
                     break;
                  }

                  if ((var12 = tabAt(var13, var14)) != null && var12.hash < 0) {
                     if (var12 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var4 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var12).nextTable;
                        var12 = null;
                        Long2ObjectConcurrentHashMap.TableStack var21 = var7;
                        if (var21 != null) {
                           var7 = var21.next;
                        } else {
                           var21 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var13;
                        var21.length = var15;
                        var21.index = var14;
                        var21.next = var6;
                        var6 = var21;
                        class="kw">continue;
                     }

                     if (var12 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var12 = ((Long2ObjectConcurrentHashMap.TreeBin)var12).first;
                     } else {
                        var12 = null;
                     }
                  }

                  if (var6 == null) {
                     if ((var8 = var14 + var11) >= var15) {
                        var8 = ++var9;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var16 = var6;
                        if (var6 != null) {
                           int var17 = var16.length;
                           if ((var8 += var16.length) >= var15) {
                              var15 = var17;
                              var8 = var16.index;
                              var4 = var16.tab;
                              var16.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var18 = var16.next;
                              var16.next = var7;
                              var6 = var18;
                              var7 = var16;
                              class="kw">continue;
                           }
                        }

                        if (var16 == null && (var8 += var11) >= var15) {
                           var8 = ++var9;
                        }
                        break;
                     }
                  }
               }

               var5 = null;
            }

            if (var12 == null) {
               break;
            }

            Object var20 = (U)var1.apply(var12.key, var12.val, var2);
            if (var20 != null) {
               class="kw">return var20;
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public <U> U searchWithInt(Long2ObjectConcurrentHashMap.LongObjIntFunction<? super V, ? class="kw">extends U> var1, int var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Long2ObjectConcurrentHashMap.Node[] var3 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var4 = var3;
         Long2ObjectConcurrentHashMap.Node var5 = null;
         Long2ObjectConcurrentHashMap.TableStack var6 = null;
         Long2ObjectConcurrentHashMap.TableStack var7 = null;
         int var8 = 0;
         int var9 = 0;
         int var10 = var3.length;
         int var11 = var3.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var12 = null;
            var12 = var5;
            if (var5 != null) {
               var12 = var12.next;
            }

            label81: {
               while (true) {
                  if (var12 != null) {
                     var5 = var12;
                     break label81;
                  }

                  if (var9 >= var10) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var13 = var4;
                  if (var4 == null) {
                     break;
                  }

                  int var15;
                  int var10000 = var15 = var13.length;
                  int var14 = var8;
                  if (var10000 <= var8 || var14 < 0) {
                     break;
                  }

                  if ((var12 = tabAt(var13, var14)) != null && var12.hash < 0) {
                     if (var12 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var4 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var12).nextTable;
                        var12 = null;
                        Long2ObjectConcurrentHashMap.TableStack var21 = var7;
                        if (var21 != null) {
                           var7 = var21.next;
                        } else {
                           var21 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var13;
                        var21.length = var15;
                        var21.index = var14;
                        var21.next = var6;
                        var6 = var21;
                        class="kw">continue;
                     }

                     if (var12 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var12 = ((Long2ObjectConcurrentHashMap.TreeBin)var12).first;
                     } else {
                        var12 = null;
                     }
                  }

                  if (var6 == null) {
                     if ((var8 = var14 + var11) >= var15) {
                        var8 = ++var9;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var16 = var6;
                        if (var6 != null) {
                           int var17 = var16.length;
                           if ((var8 += var16.length) >= var15) {
                              var15 = var17;
                              var8 = var16.index;
                              var4 = var16.tab;
                              var16.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var18 = var16.next;
                              var16.next = var7;
                              var6 = var18;
                              var7 = var16;
                              class="kw">continue;
                           }
                        }

                        if (var16 == null && (var8 += var11) >= var15) {
                           var8 = ++var9;
                        }
                        break;
                     }
                  }
               }

               var5 = null;
            }

            if (var12 == null) {
               break;
            }

            Object var20 = (U)var1.apply(var12.key, var12.val, var2);
            if (var20 != null) {
               class="kw">return var20;
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public <U> U searchWithLong(Long2ObjectConcurrentHashMap.LongObjLongFunction<? super V, ? class="kw">extends U> var1, long var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Long2ObjectConcurrentHashMap.Node[] var4 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var5 = var4;
         Long2ObjectConcurrentHashMap.Node var6 = null;
         Long2ObjectConcurrentHashMap.TableStack var7 = null;
         Long2ObjectConcurrentHashMap.TableStack var8 = null;
         int var9 = 0;
         int var10 = 0;
         int var11 = var4.length;
         int var12 = var4.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var13 = null;
            var13 = var6;
            if (var6 != null) {
               var13 = var13.next;
            }

            label81: {
               while (true) {
                  if (var13 != null) {
                     var6 = var13;
                     break label81;
                  }

                  if (var10 >= var11) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var14 = var5;
                  if (var5 == null) {
                     break;
                  }

                  int var16;
                  int var10000 = var16 = var14.length;
                  int var15 = var9;
                  if (var10000 <= var9 || var15 < 0) {
                     break;
                  }

                  if ((var13 = tabAt(var14, var15)) != null && var13.hash < 0) {
                     if (var13 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var5 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var13).nextTable;
                        var13 = null;
                        Long2ObjectConcurrentHashMap.TableStack var22 = var8;
                        if (var22 != null) {
                           var8 = var22.next;
                        } else {
                           var22 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var14;
                        var22.length = var16;
                        var22.index = var15;
                        var22.next = var7;
                        var7 = var22;
                        class="kw">continue;
                     }

                     if (var13 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var13 = ((Long2ObjectConcurrentHashMap.TreeBin)var13).first;
                     } else {
                        var13 = null;
                     }
                  }

                  if (var7 == null) {
                     if ((var9 = var15 + var12) >= var16) {
                        var9 = ++var10;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var17 = var7;
                        if (var7 != null) {
                           int var18 = var17.length;
                           if ((var9 += var17.length) >= var16) {
                              var16 = var18;
                              var9 = var17.index;
                              var5 = var17.tab;
                              var17.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var19 = var17.next;
                              var17.next = var8;
                              var7 = var19;
                              var8 = var17;
                              class="kw">continue;
                           }
                        }

                        if (var17 == null && (var9 += var12) >= var16) {
                           var9 = ++var10;
                        }
                        break;
                     }
                  }
               }

               var6 = null;
            }

            if (var13 == null) {
               break;
            }

            Object var21 = (U)var1.apply(var13.key, var13.val, var2);
            if (var21 != null) {
               class="kw">return var21;
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public <U> U searchWithFloat(Long2ObjectConcurrentHashMap.LongObjFloatFunction<? super V, ? class="kw">extends U> var1, float var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Long2ObjectConcurrentHashMap.Node[] var3 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var4 = var3;
         Long2ObjectConcurrentHashMap.Node var5 = null;
         Long2ObjectConcurrentHashMap.TableStack var6 = null;
         Long2ObjectConcurrentHashMap.TableStack var7 = null;
         int var8 = 0;
         int var9 = 0;
         int var10 = var3.length;
         int var11 = var3.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var12 = null;
            var12 = var5;
            if (var5 != null) {
               var12 = var12.next;
            }

            label81: {
               while (true) {
                  if (var12 != null) {
                     var5 = var12;
                     break label81;
                  }

                  if (var9 >= var10) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var13 = var4;
                  if (var4 == null) {
                     break;
                  }

                  int var15;
                  int var10000 = var15 = var13.length;
                  int var14 = var8;
                  if (var10000 <= var8 || var14 < 0) {
                     break;
                  }

                  if ((var12 = tabAt(var13, var14)) != null && var12.hash < 0) {
                     if (var12 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var4 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var12).nextTable;
                        var12 = null;
                        Long2ObjectConcurrentHashMap.TableStack var21 = var7;
                        if (var21 != null) {
                           var7 = var21.next;
                        } else {
                           var21 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var13;
                        var21.length = var15;
                        var21.index = var14;
                        var21.next = var6;
                        var6 = var21;
                        class="kw">continue;
                     }

                     if (var12 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var12 = ((Long2ObjectConcurrentHashMap.TreeBin)var12).first;
                     } else {
                        var12 = null;
                     }
                  }

                  if (var6 == null) {
                     if ((var8 = var14 + var11) >= var15) {
                        var8 = ++var9;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var16 = var6;
                        if (var6 != null) {
                           int var17 = var16.length;
                           if ((var8 += var16.length) >= var15) {
                              var15 = var17;
                              var8 = var16.index;
                              var4 = var16.tab;
                              var16.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var18 = var16.next;
                              var16.next = var7;
                              var6 = var18;
                              var7 = var16;
                              class="kw">continue;
                           }
                        }

                        if (var16 == null && (var8 += var11) >= var15) {
                           var8 = ++var9;
                        }
                        break;
                     }
                  }
               }

               var5 = null;
            }

            if (var12 == null) {
               break;
            }

            Object var20 = (U)var1.apply(var12.key, var12.val, var2);
            if (var20 != null) {
               class="kw">return var20;
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public <U> U searchWithDouble(Long2ObjectConcurrentHashMap.LongObjDoubleFunction<? super V, ? class="kw">extends U> var1, double var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Long2ObjectConcurrentHashMap.Node[] var4 = this.table;
      if (this.table != null) {
         Long2ObjectConcurrentHashMap.Node[] var5 = var4;
         Long2ObjectConcurrentHashMap.Node var6 = null;
         Long2ObjectConcurrentHashMap.TableStack var7 = null;
         Long2ObjectConcurrentHashMap.TableStack var8 = null;
         int var9 = 0;
         int var10 = 0;
         int var11 = var4.length;
         int var12 = var4.length;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var13 = null;
            var13 = var6;
            if (var6 != null) {
               var13 = var13.next;
            }

            label81: {
               while (true) {
                  if (var13 != null) {
                     var6 = var13;
                     break label81;
                  }

                  if (var10 >= var11) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var14 = var5;
                  if (var5 == null) {
                     break;
                  }

                  int var16;
                  int var10000 = var16 = var14.length;
                  int var15 = var9;
                  if (var10000 <= var9 || var15 < 0) {
                     break;
                  }

                  if ((var13 = tabAt(var14, var15)) != null && var13.hash < 0) {
                     if (var13 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var5 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var13).nextTable;
                        var13 = null;
                        Long2ObjectConcurrentHashMap.TableStack var22 = var8;
                        if (var22 != null) {
                           var8 = var22.next;
                        } else {
                           var22 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var14;
                        var22.length = var16;
                        var22.index = var15;
                        var22.next = var7;
                        var7 = var22;
                        class="kw">continue;
                     }

                     if (var13 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var13 = ((Long2ObjectConcurrentHashMap.TreeBin)var13).first;
                     } else {
                        var13 = null;
                     }
                  }

                  if (var7 == null) {
                     if ((var9 = var15 + var12) >= var16) {
                        var9 = ++var10;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var17 = var7;
                        if (var7 != null) {
                           int var18 = var17.length;
                           if ((var9 += var17.length) >= var16) {
                              var16 = var18;
                              var9 = var17.index;
                              var5 = var17.tab;
                              var17.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var19 = var17.next;
                              var17.next = var8;
                              var7 = var19;
                              var8 = var17;
                              class="kw">continue;
                           }
                        }

                        if (var17 == null && (var9 += var12) >= var16) {
                           var9 = ++var10;
                        }
                        break;
                     }
                  }
               }

               var6 = null;
            }

            if (var13 == null) {
               break;
            }

            Object var21 = (U)var1.apply(var13.key, var13.val, var2);
            if (var21 != null) {
               class="kw">return var21;
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public <U> U reduce(long var1, Long2ObjectConcurrentHashMap.LongObjFunction<? super V, ? class="kw">extends U> var3, BiFunction<? super U, ? super U, ? class="kw">extends U> var4) {
      if (var3 != null && var4 != null) {
         class="kw">return new Long2ObjectConcurrentHashMap.MapReduceMappingsTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4).invoke();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public <U> U reduce(Long2ObjectConcurrentHashMap.LongObjFunction<? super V, ? class="kw">extends U> var1, BiFunction<? super U, ? super U, ? class="kw">extends U> var2) {
      if (var1 != null && var2 != null) {
         Long2ObjectConcurrentHashMap.Node[] var3 = this.table;
         if (this.table == null) {
            class="kw">return null;
         }

         Long2ObjectConcurrentHashMap.Node[] var4 = var3;
         Long2ObjectConcurrentHashMap.Node var5 = null;
         Long2ObjectConcurrentHashMap.TableStack var6 = null;
         Long2ObjectConcurrentHashMap.TableStack var7 = null;
         int var8 = 0;
         int var9 = 0;
         int var10 = var3.length;
         int var11 = var3.length;
         Object var12 = null;

         while (true) {
            Long2ObjectConcurrentHashMap.Node var13 = null;
            var13 = var5;
            if (var5 != null) {
               var13 = var13.next;
            }

            label88: {
               while (true) {
                  if (var13 != null) {
                     var5 = var13;
                     break label88;
                  }

                  if (var9 >= var10) {
                     break;
                  }

                  Long2ObjectConcurrentHashMap.Node[] var14 = var4;
                  if (var4 == null) {
                     break;
                  }

                  int var16;
                  int var10000 = var16 = var14.length;
                  int var15 = var8;
                  if (var10000 <= var8 || var15 < 0) {
                     break;
                  }

                  if ((var13 = tabAt(var14, var15)) != null && var13.hash < 0) {
                     if (var13 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                        var4 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var13).nextTable;
                        var13 = null;
                        Long2ObjectConcurrentHashMap.TableStack var22 = var7;
                        if (var22 != null) {
                           var7 = var22.next;
                        } else {
                           var22 = new Long2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var14;
                        var22.length = var16;
                        var22.index = var15;
                        var22.next = var6;
                        var6 = var22;
                        class="kw">continue;
                     }

                     if (var13 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                        var13 = ((Long2ObjectConcurrentHashMap.TreeBin)var13).first;
                     } else {
                        var13 = null;
                     }
                  }

                  if (var6 == null) {
                     if ((var8 = var15 + var11) >= var16) {
                        var8 = ++var9;
                     }
                  } else {
                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var17 = var6;
                        if (var6 != null) {
                           int var18 = var17.length;
                           if ((var8 += var17.length) >= var16) {
                              var16 = var18;
                              var8 = var17.index;
                              var4 = var17.tab;
                              var17.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var19 = var17.next;
                              var17.next = var7;
                              var6 = var19;
                              var7 = var17;
                              class="kw">continue;
                           }
                        }

                        if (var17 == null && (var8 += var11) >= var16) {
                           var8 = ++var9;
                        }
                        break;
                     }
                  }
               }

               var5 = null;
            }

            if (var13 == null) {
               class="kw">return var12;
            }

            Object var21;
            if ((var21 = (U)var1.apply(var13.key, var13.val)) != null) {
               var12 = var12 == null ? var21 : var2.apply(var12, var21);
            }
         }
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public double reduceToDouble(long var1, Long2ObjectConcurrentHashMap.ToDoubleLongObjFunction<? super V> var3, double var4, DoubleBinaryOperator var6) {
      if (var3 != null && var6 != null) {
         class="kw">return new Long2ObjectConcurrentHashMap.MapReduceMappingsToDoubleTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var6).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public long reduceToLong(long var1, Long2ObjectConcurrentHashMap.ToLongLongObjFunction<? super V> var3, long var4, LongBinaryOperator var6) {
      if (var3 != null && var6 != null) {
         class="kw">return new Long2ObjectConcurrentHashMap.MapReduceMappingsToLongTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var6).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public int reduceToInt(long var1, Long2ObjectConcurrentHashMap.ToIntLongObjFunction<? super V> var3, int var4, IntBinaryOperator var5) {
      if (var3 != null && var5 != null) {
         class="kw">return new Long2ObjectConcurrentHashMap.MapReduceMappingsToIntTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var5).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public void forEachKey(long var1, LongConsumer var3) {
      if (var3 == null) {
         throw new NullPointerException();
      }

      new Long2ObjectConcurrentHashMap.ForEachKeyTask<>(null, this.batchFor(var1), 0, 0, this.table, var3).invoke();
   }

   class="kw">public <U> void forEachKey(long var1, Long2ObjectConcurrentHashMap.LongFunction<? class="kw">extends U> var3, Consumer<? super U> var4) {
      if (var3 != null && var4 != null) {
         new Long2ObjectConcurrentHashMap.ForEachTransformedKeyTask<>(null, this.batchFor(var1), 0, 0, this.table, var3, var4).invoke();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public <U> U searchKeys(long var1, Long2ObjectConcurrentHashMap.LongFunction<? class="kw">extends U> var3) {
      if (var3 == null) {
         throw new NullPointerException();
      } else {
         class="kw">return new Long2ObjectConcurrentHashMap.SearchKeysTask<>(null, this.batchFor(var1), 0, 0, this.table, var3, new AtomicReference()).invoke();
      }
   }

   class="kw">public long reduceKeys(long var1, Long2ObjectConcurrentHashMap.LongReduceTaskOperator var3) {
      if (var3 == null) {
         throw new NullPointerException();
      } else {
         class="kw">return new Long2ObjectConcurrentHashMap.ReduceKeysTask<>(this.EMPTY, null, this.batchFor(var1), 0, 0, this.table, null, var3).invoke0();
      }
   }

   class="kw">public <U> U reduceKeys(long var1, Long2ObjectConcurrentHashMap.LongFunction<? class="kw">extends U> var3, BiFunction<? super U, ? super U, ? class="kw">extends U> var4) {
      if (var3 != null && var4 != null) {
         class="kw">return new Long2ObjectConcurrentHashMap.MapReduceKeysTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4).invoke();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public double reduceKeysToDouble(long var1, Long2ObjectConcurrentHashMap.LongToDoubleFunction var3, double var4, DoubleBinaryOperator var6) {
      if (var3 != null && var6 != null) {
         class="kw">return new Long2ObjectConcurrentHashMap.MapReduceKeysToDoubleTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var6).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public long reduceKeysToLong(long var1, Long2ObjectConcurrentHashMap.LongToLongFunction var3, long var4, LongBinaryOperator var6) {
      if (var3 != null && var6 != null) {
         class="kw">return new Long2ObjectConcurrentHashMap.MapReduceKeysToLongTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var6).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public int reduceKeysToInt(long var1, Long2ObjectConcurrentHashMap.LongToIntFunction var3, int var4, IntBinaryOperator var5) {
      if (var3 != null && var5 != null) {
         class="kw">return new Long2ObjectConcurrentHashMap.MapReduceKeysToIntTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var5).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public void forEachValue(long var1, Consumer<? super V> var3) {
      if (var3 == null) {
         throw new NullPointerException();
      }

      new Long2ObjectConcurrentHashMap.ForEachValueTask<>(null, this.batchFor(var1), 0, 0, this.table, var3).invoke();
   }

   class="kw">public <U> void forEachValue(long var1, Function<? super V, ? class="kw">extends U> var3, Consumer<? super U> var4) {
      if (var3 != null && var4 != null) {
         new Long2ObjectConcurrentHashMap.ForEachTransformedValueTask<>(null, this.batchFor(var1), 0, 0, this.table, var3, var4).invoke();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public <U> U searchValues(long var1, Function<? super V, ? class="kw">extends U> var3) {
      if (var3 == null) {
         throw new NullPointerException();
      } else {
         class="kw">return new Long2ObjectConcurrentHashMap.SearchValuesTask<>(null, this.batchFor(var1), 0, 0, this.table, var3, new AtomicReference()).invoke();
      }
   }

   class="kw">public V reduceValues(long var1, BiFunction<? super V, ? super V, ? class="kw">extends V> var3) {
      if (var3 == null) {
         throw new NullPointerException();
      } else {
         class="kw">return new Long2ObjectConcurrentHashMap.ReduceValuesTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3).invoke();
      }
   }

   class="kw">public <U> U reduceValues(long var1, Function<? super V, ? class="kw">extends U> var3, BiFunction<? super U, ? super U, ? class="kw">extends U> var4) {
      if (var3 != null && var4 != null) {
         class="kw">return new Long2ObjectConcurrentHashMap.MapReduceValuesTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4).invoke();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public double reduceValuesToDouble(long var1, ToDoubleFunction<? super V> var3, double var4, DoubleBinaryOperator var6) {
      if (var3 != null && var6 != null) {
         class="kw">return new Long2ObjectConcurrentHashMap.MapReduceValuesToDoubleTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var6).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public long reduceValuesToLong(long var1, Long2ObjectConcurrentHashMap.ToLongFunction<? super V> var3, long var4, LongBinaryOperator var6) {
      if (var3 != null && var6 != null) {
         class="kw">return new Long2ObjectConcurrentHashMap.MapReduceValuesToLongTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var6).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public int reduceValuesToInt(long var1, ToIntFunction<? super V> var3, int var4, IntBinaryOperator var5) {
      if (var3 != null && var5 != null) {
         class="kw">return new Long2ObjectConcurrentHashMap.MapReduceValuesToIntTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var5).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public void forEachEntry(long var1, Consumer<? super Long2ObjectConcurrentHashMap.Entry<V>> var3) {
      if (var3 == null) {
         throw new NullPointerException();
      }

      new Long2ObjectConcurrentHashMap.ForEachEntryTask<>(null, this.batchFor(var1), 0, 0, this.table, var3).invoke();
   }

   class="kw">public <U> void forEachEntry(long var1, Function<Long2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends U> var3, Consumer<? super U> var4) {
      if (var3 != null && var4 != null) {
         new Long2ObjectConcurrentHashMap.ForEachTransformedEntryTask<>(null, this.batchFor(var1), 0, 0, this.table, var3, var4).invoke();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public <U> U searchEntries(long var1, Function<Long2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends U> var3) {
      if (var3 == null) {
         throw new NullPointerException();
      } else {
         class="kw">return new Long2ObjectConcurrentHashMap.SearchEntriesTask<>(null, this.batchFor(var1), 0, 0, this.table, var3, new AtomicReference()).invoke();
      }
   }

   class="kw">public Long2ObjectConcurrentHashMap.Entry<V> reduceEntries(
      long var1, BiFunction<Long2ObjectConcurrentHashMap.Entry<V>, Long2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends Long2ObjectConcurrentHashMap.Entry<V>> var3
   ) {
      if (var3 == null) {
         throw new NullPointerException();
      } else {
         class="kw">return new Long2ObjectConcurrentHashMap.ReduceEntriesTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3).invoke();
      }
   }

   class="kw">public <U> U reduceEntries(long var1, Function<Long2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends U> var3, BiFunction<? super U, ? super U, ? class="kw">extends U> var4) {
      if (var3 != null && var4 != null) {
         class="kw">return new Long2ObjectConcurrentHashMap.MapReduceEntriesTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4).invoke();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public double reduceEntriesToDouble(long var1, ToDoubleFunction<Long2ObjectConcurrentHashMap.Entry<V>> var3, double var4, DoubleBinaryOperator var6) {
      if (var3 != null && var6 != null) {
         class="kw">return new Long2ObjectConcurrentHashMap.MapReduceEntriesToDoubleTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var6).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public long reduceEntriesToLong(
      long var1, Long2ObjectConcurrentHashMap.ToLongFunction<Long2ObjectConcurrentHashMap.Entry<V>> var3, long var4, LongBinaryOperator var6
   ) {
      if (var3 != null && var6 != null) {
         class="kw">return new Long2ObjectConcurrentHashMap.MapReduceEntriesToLongTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var6).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public int reduceEntriesToInt(long var1, ToIntFunction<Long2ObjectConcurrentHashMap.Entry<V>> var3, int var4, IntBinaryOperator var5) {
      if (var3 != null && var5 != null) {
         class="kw">return new Long2ObjectConcurrentHashMap.MapReduceEntriesToIntTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var5).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public V valueMatching(Predicate<V> var1) {
      Long2ObjectConcurrentHashMap.Node var3 = null;
      Long2ObjectConcurrentHashMap.TableStack var4 = null;
      Long2ObjectConcurrentHashMap.TableStack var5 = null;
      int var6 = 0;
      int var7 = 0;
      Long2ObjectConcurrentHashMap.Node[] var2 = this.table;
      int var8 = this.table == null ? 0 : var2.length;
      int var9 = var8;
      int var10 = var8;
      boolean var11 = false;

      label80:
      while (var3 != null || !var11) {
         var11 |= true;
         Long2ObjectConcurrentHashMap.Node var12 = var3;
         if (var3 != null) {
            var12 = var12.next;
         }

         label76:
         while (var12 == null) {
            if (var7 < var9) {
               Long2ObjectConcurrentHashMap.Node[] var13 = var2;
               if (var2 != null) {
                  int var15;
                  int var10000 = var15 = var13.length;
                  int var14 = var6;
                  if (var10000 > var6 && var14 >= 0) {
                     if ((var12 = tabAt(var13, var14)) != null && var12.hash < 0) {
                        if (var12 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                           var2 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var12).nextTable;
                           var12 = null;
                           Long2ObjectConcurrentHashMap.TableStack var19 = var5;
                           if (var19 != null) {
                              var5 = var19.next;
                           } else {
                              var19 = new Long2ObjectConcurrentHashMap.TableStack<>();
                           }

                           var19.tab = var13;
                           var19.length = var15;
                           var19.index = var14;
                           var19.next = var4;
                           var4 = var19;
                           class="kw">continue;
                        }

                        if (var12 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                           var12 = ((Long2ObjectConcurrentHashMap.TreeBin)var12).first;
                        } else {
                           var12 = null;
                        }
                     }

                     if (var4 == null) {
                        if ((var6 = var14 + var10) >= var15) {
                           var6 = ++var7;
                        }
                        class="kw">continue;
                     }

                     while (true) {
                        Long2ObjectConcurrentHashMap.TableStack var16 = var4;
                        if (var4 != null) {
                           int var17 = var16.length;
                           if ((var6 += var16.length) >= var15) {
                              var15 = var17;
                              var6 = var16.index;
                              var2 = var16.tab;
                              var16.tab = null;
                              Long2ObjectConcurrentHashMap.TableStack var18 = var16.next;
                              var16.next = var5;
                              var4 = var18;
                              var5 = var16;
                              class="kw">continue;
                           }
                        }

                        if (var16 == null && (var6 += var10) >= var15) {
                           var6 = ++var7;
                        }
                        class="kw">continue label76;
                     }
                  }
               }
            }

            var3 = null;
            class="kw">continue label80;
         }

         var3 = var12;
         Long2ObjectConcurrentHashMap.Node var20 = var12;
         if (var1.test(var20.val)) {
            class="kw">return var12.val;
         }
      }

      class="kw">return null;
   }

   class="kw">static {
      try {
         Field var0 = Unsafe.class.getDeclaredField("theUnsafe");
         var0.setAccessible(true);
         U = (Unsafe)var0.get(null);
         Class var1 = Long2ObjectConcurrentHashMap.class;
         SIZECTL = U.objectFieldOffset(var1.getDeclaredField("sizeCtl"));
         TRANSFERINDEX = U.objectFieldOffset(var1.getDeclaredField("transferIndex"));
         BASECOUNT = U.objectFieldOffset(var1.getDeclaredField("baseCount"));
         CELLSBUSY = U.objectFieldOffset(var1.getDeclaredField("cellsBusy"));
         Class var2 = Long2ObjectConcurrentHashMap.CounterCell.class;
         CELLVALUE = U.objectFieldOffset(var2.getDeclaredField("value"));
         Class var3 = Long2ObjectConcurrentHashMap.Node[].class;
         ABASE = U.arrayBaseOffset(var3);
         int var4 = U.arrayIndexScale(var3);
         if ((var4 & var4 - 1) != 0) {
            throw new Error("data type scale not a power of two");
         }

         ASHIFT = 31 - Integer.numberOfLeadingZeros(var4);
      } catch (Exception var5) {
         throw new Error(var5);
      }
   }

   class="kw">protected class="kw">static class BaseIterator<V> class="kw">extends Long2ObjectConcurrentHashMap.Traverser<V> {
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap<V> map;
      class="kw">public Long2ObjectConcurrentHashMap.Node<V> lastReturned;

      class="kw">public BaseIterator(Long2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3, int var4, Long2ObjectConcurrentHashMap<V> var5) {
         super(var1, var2, var3, var4);
         this.map = var5;
         this.advance();
      }

      class="kw">public class="kw">final boolean hasNext() {
         class="kw">return this.next != null;
      }

      class="kw">public class="kw">final boolean hasMoreElements() {
         class="kw">return this.next != null;
      }

      class="kw">public class="kw">final void remove() {
         Long2ObjectConcurrentHashMap.Node var1 = this.lastReturned;
         if (this.lastReturned == null) {
            throw new IllegalStateException();
         }

         this.lastReturned = null;
         this.map.replaceNode(var1.key, null, null);
      }
   }

   class="kw">protected class="kw">abstract class="kw">static class BulkTask<V, R> class="kw">extends CountedCompleter<R> {
      class="kw">public Long2ObjectConcurrentHashMap.Node<V>[] tab;
      class="kw">public Long2ObjectConcurrentHashMap.Node<V> next;
      class="kw">public Long2ObjectConcurrentHashMap.TableStack<V> stack;
      class="kw">public Long2ObjectConcurrentHashMap.TableStack<V> spare;
      class="kw">public int index;
      class="kw">public int baseIndex;
      class="kw">public int baseLimit;
      class="kw">public class="kw">final int baseSize;
      class="kw">public int batch;

      class="kw">protected BulkTask(Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1, int var2, int var3, int var4, Long2ObjectConcurrentHashMap.Node<V>[] var5) {
         super(var1);
         this.batch = var2;
         this.index = this.baseIndex = var3;
         if ((this.tab = var5) == null) {
            this.baseSize = this.baseLimit = 0;
         } else if (var1 == null) {
            this.baseSize = this.baseLimit = var5.length;
         } else {
            this.baseLimit = var4;
            this.baseSize = var1.baseSize;
         }
      }

      class="kw">protected class="kw">final Long2ObjectConcurrentHashMap.Node<V> advance() {
         Long2ObjectConcurrentHashMap.Node var1 = this.next;
         if (this.next != null) {
            var1 = var1.next;
         }

         while (true) {
            if (var1 != null) {
               class="kw">return this.next = var1;
            }

            if (this.baseIndex >= this.baseLimit) {
               break;
            }

            Long2ObjectConcurrentHashMap.Node[] var2 = this.tab;
            if (this.tab == null) {
               break;
            }

            int var4;
            int var10000 = var4 = var2.length;
            int var3 = this.index;
            if (var10000 <= this.index || var3 < 0) {
               break;
            }

            if ((var1 = Long2ObjectConcurrentHashMap.tabAt(var2, var3)) != null && var1.hash < 0) {
               if (var1 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                  this.tab = ((Long2ObjectConcurrentHashMap.ForwardingNode)var1).nextTable;
                  var1 = null;
                  this.pushState(var2, var3, var4);
                  class="kw">continue;
               }

               if (var1 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                  var1 = ((Long2ObjectConcurrentHashMap.TreeBin)var1).first;
               } else {
                  var1 = null;
               }
            }

            if (this.stack != null) {
               this.recoverState(var4);
            } else if ((this.index = var3 + this.baseSize) >= var4) {
               this.index = ++this.baseIndex;
            }
         }

         class="kw">return this.next = null;
      }

      class="kw">protected void pushState(Long2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3) {
         Long2ObjectConcurrentHashMap.TableStack var4 = this.spare;
         if (var4 != null) {
            this.spare = var4.next;
         } else {
            var4 = new Long2ObjectConcurrentHashMap.TableStack<>();
         }

         var4.tab = var1;
         var4.length = var3;
         var4.index = var2;
         var4.next = this.stack;
         this.stack = var4;
      }

      class="kw">protected void recoverState(int var1) {
         while (true) {
            Long2ObjectConcurrentHashMap.TableStack var2 = this.stack;
            if (this.stack != null) {
               int var3 = var2.length;
               if ((this.index = this.index + var2.length) >= var1) {
                  var1 = var3;
                  this.index = var2.index;
                  this.tab = var2.tab;
                  var2.tab = null;
                  Long2ObjectConcurrentHashMap.TableStack var4 = var2.next;
                  var2.next = this.spare;
                  this.stack = var4;
                  this.spare = var2;
                  class="kw">continue;
               }
            }

            if (var2 == null && (this.index = this.index + this.baseSize) >= var1) {
               this.index = ++this.baseIndex;
            }

            class="kw">return;
         }
      }
   }

   class="kw">protected class="kw">abstract class="kw">static class CollectionView<K, E> class="kw">implements ObjectCollection<E>, Serializable {
      class="kw">public class="kw">static class="kw">final long serialVersionUID = 7249069246763182397L;
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap<K> map;
      class="kw">protected class="kw">static class="kw">final String oomeMsg = "Required array size too large";

      class="kw">public CollectionView(Long2ObjectConcurrentHashMap<K> var1) {
         this.map = var1;
      }

      class="kw">public Long2ObjectConcurrentHashMap<K> getMap() {
         class="kw">return this.map;
      }

      class="kw">public class="kw">final void clear() {
         this.map.clear();
      }

      class="kw">public class="kw">final int size() {
         class="kw">return this.map.size();
      }

      class="kw">public class="kw">final boolean isEmpty() {
         class="kw">return this.map.isEmpty();
      }

      class="kw">public class="kw">abstract ObjectIterator<E> iterator();

      class="kw">public class="kw">abstract boolean contains(Object var1);

      class="kw">public class="kw">abstract boolean remove(Object var1);

      class="kw">public class="kw">final Object[] toArray() {
         long var1 = this.map.mappingCount();
         if (var1 > 2147483639L) {
            throw new OutOfMemoryError("Required array size too large");
         }

         int var3 = (int)var1;
         Object[] var4 = new Object[var3];
         int var5 = 0;
         ObjectIterator var6 = this.iterator();

         while (var6.hasNext()) {
            Object var7 = (E)var6.next();
            if (var5 == var3) {
               if (var3 >= 2147483639) {
                  throw new OutOfMemoryError("Required array size too large");
               }

               if (var3 >= 1073741819) {
                  var3 = 2147483639;
               } else {
                  var3 += (var3 >>> 1) + 1;
               }

               var4 = Arrays.copyOf(var4, var3);
            }

            var4[var5++] = var7;
         }

         class="kw">return var5 == var3 ? var4 : Arrays.copyOf(var4, var5);
      }

      class="kw">public class="kw">final <T> T[] toArray(T[] var1) {
         long var2 = this.map.mappingCount();
         if (var2 > 2147483639L) {
            throw new OutOfMemoryError("Required array size too large");
         }

         int var4 = (int)var2;
         Object[] var5 = (T[])(var1.length >= var4 ? var1 : (Object[])Array.newInstance(var1.getClass().getComponentType(), var4));
         int var6 = var5.length;
         int var7 = 0;
         ObjectIterator var8 = this.iterator();

         while (var8.hasNext()) {
            Object var9 = (E)var8.next();
            if (var7 == var6) {
               if (var6 >= 2147483639) {
                  throw new OutOfMemoryError("Required array size too large");
               }

               if (var6 >= 1073741819) {
                  var6 = 2147483639;
               } else {
                  var6 += (var6 >>> 1) + 1;
               }

               var5 = (T[])Arrays.copyOf(var5, var6);
            }

            var5[var7++] = (T)var9;
         }

         if (var1 == var5 && var7 < var6) {
            var5[var7] = null;
            class="kw">return var5;
         } else {
            class="kw">return (T[])(var7 == var6 ? var5 : Arrays.copyOf(var5, var7));
         }
      }

      @Override
      class="kw">public class="kw">final String toString() {
         StringBuilder var1 = new StringBuilder();
         var1.append('[');
         Iterator var2 = this.iterator();
         if (var2.hasNext()) {
            while (true) {
               Object var3 = var2.next();
               var1.append(var3 == this ? "(this Collection)" : var3);
               if (!var2.hasNext()) {
                  break;
               }

               var1.append(',').append(' ');
            }
         }

         class="kw">return var1.append(']').toString();
      }

      class="kw">public class="kw">final boolean containsAll(Collection<?> var1) {
         if (var1 != this) {
            for (Object var3 : var1) {
               if (var3 == null || !this.contains(var3)) {
                  class="kw">return false;
               }
            }
         }

         class="kw">return true;
      }

      class="kw">public class="kw">final boolean removeAll(Collection<?> var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         boolean var2 = false;
         Iterator var3 = this.iterator();

         while (var3.hasNext()) {
            if (var1.contains(var3.next())) {
               var3.remove();
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      class="kw">public class="kw">final boolean retainAll(Collection<?> var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         boolean var2 = false;
         Iterator var3 = this.iterator();

         while (var3.hasNext()) {
            if (!var1.contains(var3.next())) {
               var3.remove();
               var2 = true;
            }
         }

         class="kw">return var2;
      }
   }

   class="kw">protected class="kw">static class="kw">final class CounterCell {
      class="kw">public class="kw">volatile long value;

      class="kw">public CounterCell(long var1) {
         this.value = var1;
      }
   }

   class="kw">protected class="kw">abstract class="kw">static class DoubleReturningBulkTask<V> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, Double> {
      class="kw">public double result;

      class="kw">public DoubleReturningBulkTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1, int var2, int var3, int var4, Long2ObjectConcurrentHashMap.Node<V>[] var5
      ) {
         super(var1, var2, var3, var4, var5);
      }

      class="kw">protected double invoke0() {
         this.quietlyInvoke();
         Throwable var2 = this.getException();
         if (var2 != null) {
            throw SneakyThrow.sneakyThrow(var2);
         } else {
            class="kw">return this.result;
         }
      }
   }

   class="kw">public class="kw">interface Entry<V> class="kw">extends it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<V> {
      boolean isEmpty();

      @Deprecated
      Long getKey();

      long getLongKey();

      V getValue();

      @Override
      int hashCode();

      @Override
      String toString();

      @Override
      boolean equals(Object var1);

      V setValue(V var1);
   }

   class="kw">protected class="kw">static class="kw">final class EntryIterator<V>
      class="kw">extends Long2ObjectConcurrentHashMap.BaseIterator<V>
      class="kw">implements ObjectIterator<it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<V>> {
      class="kw">public EntryIterator(Long2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3, int var4, Long2ObjectConcurrentHashMap<V> var5) {
         super(var1, var2, var3, var4, var5);
      }

      class="kw">public class="kw">final Long2ObjectConcurrentHashMap.Entry<V> next() {
         Long2ObjectConcurrentHashMap.Node var1 = this.next;
         if (this.next == null) {
            throw new NoSuchElementException();
         }

         long var2 = var1.key;
         Object var4 = var1.val;
         this.lastReturned = var1;
         this.advance();
         class="kw">return new Long2ObjectConcurrentHashMap.MapEntry<>(var1.isEmpty(), var2, var4, this.map);
      }
   }

   class="kw">protected class="kw">static class="kw">final class EntrySetView<V>
      class="kw">extends Long2ObjectConcurrentHashMap.CollectionView<V, it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<V>>
      class="kw">implements ObjectSet<it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<V>>,
      Serializable {
      class="kw">public class="kw">static class="kw">final long serialVersionUID = 2249069246763182397L;

      class="kw">public EntrySetView(Long2ObjectConcurrentHashMap<V> var1) {
         super(var1);
      }

      @Override
      class="kw">public boolean contains(Object var1) {
         if (var1 class="kw">instanceof it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry) {
            it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry var6;
            long var2 = (var6 = (it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<?>)var1).getLongKey();
            if (!((Long2ObjectConcurrentHashMap.Entry)var1).isEmpty()) {
               Object var4;
               Object var5;
               class="kw">return (var5 = this.map.get(var2)) != null && (var4 = var6.getValue()) != null && (var4 == var5 || var4.equals(var5));
            }
         }

         class="kw">return false;
      }

      @Override
      class="kw">public boolean remove(Object var1) {
         if (var1 class="kw">instanceof it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry) {
            it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry var5;
            long var2 = (var5 = (it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<?>)var1).getLongKey();
            if (!((Long2ObjectConcurrentHashMap.Entry)var1).isEmpty()) {
               Object var4;
               class="kw">return (var4 = var5.getValue()) != null && this.map.remove(var2, var4);
            }
         }

         class="kw">return false;
      }

      @Override
      class="kw">public ObjectIterator<it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<V>> iterator() {
         Long2ObjectConcurrentHashMap var1 = this.map;
         Long2ObjectConcurrentHashMap.Node[] var2 = var1.table;
         int var3 = var1.table == null ? 0 : var2.length;
         class="kw">return new Long2ObjectConcurrentHashMap.EntryIterator<>(var2, var3, 0, var3, var1);
      }

      class="kw">public boolean add(it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<V> var1) {
         class="kw">return this.map.putVal(var1.getLongKey(), (V)var1.getValue(), false) == null;
      }

      class="kw">public boolean addAll(Collection<? class="kw">extends it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<V>> var1) {
         boolean var2 = false;

         for (it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry var4 : var1) {
            if (this.add(var4)) {
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      @Override
      class="kw">public class="kw">final int hashCode() {
         int var1 = 0;
         Long2ObjectConcurrentHashMap.Node[] var2 = this.map.table;
         if (this.map.table != null) {
            Long2ObjectConcurrentHashMap.Traverser var3 = new Long2ObjectConcurrentHashMap.Traverser<>(var2, var2.length, 0, var2.length);

            Long2ObjectConcurrentHashMap.Node var4;
            while ((var4 = var3.advance()) != null) {
               var1 += var4.hashCode();
            }
         }

         class="kw">return var1;
      }

      @Override
      class="kw">public class="kw">final boolean equals(Object var1) {
         Set var2;
         class="kw">return var1 class="kw">instanceof Set && ((var2 = (Set<?>)var1) == this || this.containsAll(var2) && var2.containsAll(this));
      }

      class="kw">public ObjectSpliterator<it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<V>> spliterator() {
         Long2ObjectConcurrentHashMap var2 = this.map;
         long var3 = var2.sumCount();
         Long2ObjectConcurrentHashMap.Node[] var1 = var2.table;
         int var5 = var2.table == null ? 0 : var1.length;
         class="kw">return new Long2ObjectConcurrentHashMap.EntrySpliterator<>(var1, var5, 0, var5, var3 < 0L ? 0L : var3, var2);
      }

      class="kw">public void forEach(Consumer<? super it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<V>> var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Long2ObjectConcurrentHashMap.Node[] var2 = this.map.table;
         if (this.map.table != null) {
            Long2ObjectConcurrentHashMap.Traverser var3 = new Long2ObjectConcurrentHashMap.Traverser<>(var2, var2.length, 0, var2.length);

            Long2ObjectConcurrentHashMap.Node var4;
            while ((var4 = var3.advance()) != null) {
               var1.accept(new Long2ObjectConcurrentHashMap.MapEntry<>(var4.isEmpty(), var4.key, var4.val, this.map));
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class EntrySpliterator<V>
      class="kw">extends Long2ObjectConcurrentHashMap.Traverser<V>
      class="kw">implements ObjectSpliterator<it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<V>> {
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap<V> map;
      class="kw">public long est;

      class="kw">public EntrySpliterator(Long2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3, int var4, long var5, Long2ObjectConcurrentHashMap<V> var7) {
         super(var1, var2, var3, var4);
         this.map = var7;
         this.est = var5;
      }

      class="kw">public ObjectSpliterator<it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<V>> trySplit() {
         int var1 = this.baseIndex;
         int var2 = this.baseLimit;
         int var3;
         class="kw">return (var3 = this.baseIndex + this.baseLimit >>> 1) <= var1
            ? null
            : new Long2ObjectConcurrentHashMap.EntrySpliterator<>(this.tab, this.baseSize, this.baseLimit = var3, var2, this.est >>>= 1, this.map);
      }

      class="kw">public void forEachRemaining(Consumer<? super it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<V>> var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Long2ObjectConcurrentHashMap.Node var2;
         while ((var2 = this.advance()) != null) {
            var1.accept(new Long2ObjectConcurrentHashMap.MapEntry<>(var2.isEmpty(), var2.key, var2.val, this.map));
         }
      }

      class="kw">public boolean tryAdvance(Consumer<? super it.unimi.dsi.fastutil.longs.Long2ObjectMap.Entry<V>> var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Long2ObjectConcurrentHashMap.Node var2;
         if ((var2 = this.advance()) == null) {
            class="kw">return false;
         }

         var1.accept(new Long2ObjectConcurrentHashMap.MapEntry<>(var2.isEmpty(), var2.key, var2.val, this.map));
         class="kw">return true;
      }

      class="kw">public long estimateSize() {
         class="kw">return this.est;
      }

      class="kw">public int characteristics() {
         class="kw">return 4353;
      }
   }

   class="kw">protected class="kw">static class="kw">final class ForEachEntryTask<V> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, Void> {
      class="kw">public class="kw">final Consumer<? super Long2ObjectConcurrentHashMap.Entry<V>> action;

      class="kw">public ForEachEntryTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Consumer<? super Long2ObjectConcurrentHashMap.Entry<V>> var6
      ) {
         super(var1, var2, var3, var4, var5);
         this.action = var6;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Consumer var1 = this.action;
         if (this.action != null) {
            int var2 = this.baseIndex;

            while (this.batch > 0) {
               int var3 = this.baseLimit;
               int var4;
               if ((var4 = this.baseLimit + var2 >>> 1) <= var2) {
                  break;
               }

               this.addToPendingCount(1);
               new Long2ObjectConcurrentHashMap.ForEachEntryTask<>(this, this.batch >>>= 1, this.baseLimit = var4, var3, this.tab, var1).fork();
            }

            while ((var5 = this.advance()) != null) {
               var1.accept(var5);
            }

            this.propagateCompletion();
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ForEachKeyTask<V> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, Void> {
      class="kw">public class="kw">final LongConsumer action;

      class="kw">public ForEachKeyTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1, int var2, int var3, int var4, Long2ObjectConcurrentHashMap.Node<V>[] var5, LongConsumer var6
      ) {
         super(var1, var2, var3, var4, var5);
         this.action = var6;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         LongConsumer var1 = this.action;
         if (this.action != null) {
            int var2 = this.baseIndex;

            while (this.batch > 0) {
               int var3 = this.baseLimit;
               int var4;
               if ((var4 = this.baseLimit + var2 >>> 1) <= var2) {
                  break;
               }

               this.addToPendingCount(1);
               new Long2ObjectConcurrentHashMap.ForEachKeyTask<>(this, this.batch >>>= 1, this.baseLimit = var4, var3, this.tab, var1).fork();
            }

            while ((var5 = this.advance()) != null) {
               var1.accept(var5.key);
            }

            this.propagateCompletion();
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ForEachMappingTask<V> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, Void> {
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap.LongObjConsumer<? super V> action;

      class="kw">public ForEachMappingTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.LongObjConsumer<? super V> var6
      ) {
         super(var1, var2, var3, var4, var5);
         this.action = var6;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Long2ObjectConcurrentHashMap.LongObjConsumer var1 = this.action;
         if (this.action != null) {
            int var2 = this.baseIndex;

            while (this.batch > 0) {
               int var3 = this.baseLimit;
               int var4;
               if ((var4 = this.baseLimit + var2 >>> 1) <= var2) {
                  break;
               }

               this.addToPendingCount(1);
               new Long2ObjectConcurrentHashMap.ForEachMappingTask<>(this, this.batch >>>= 1, this.baseLimit = var4, var3, this.tab, var1).fork();
            }

            while ((var5 = this.advance()) != null) {
               var1.accept(var5.key, var5.val);
            }

            this.propagateCompletion();
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ForEachTransformedEntryTask<V, U> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, Void> {
      class="kw">public class="kw">final Function<Long2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends U> transformer;
      class="kw">public class="kw">final Consumer<? super U> action;

      class="kw">public ForEachTransformedEntryTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Function<Long2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends U> var6,
         Consumer<? super U> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.transformer = var6;
         this.action = var7;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Function var1 = this.transformer;
         if (this.transformer != null) {
            Consumer var2 = this.action;
            if (this.action != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  this.addToPendingCount(1);
                  new Long2ObjectConcurrentHashMap.ForEachTransformedEntryTask<>(this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, var1, var2)
                     .fork();
               }

               while ((var6 = this.advance()) != null) {
                  Object var7;
                  if ((var7 = (U)var1.apply(var6)) != null) {
                     var2.accept(var7);
                  }
               }

               this.propagateCompletion();
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ForEachTransformedKeyTask<V, U> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, Void> {
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap.LongFunction<? class="kw">extends U> transformer;
      class="kw">public class="kw">final Consumer<? super U> action;

      class="kw">public ForEachTransformedKeyTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.LongFunction<? class="kw">extends U> var6,
         Consumer<? super U> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.transformer = var6;
         this.action = var7;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Long2ObjectConcurrentHashMap.LongFunction var1 = this.transformer;
         if (this.transformer != null) {
            Consumer var2 = this.action;
            if (this.action != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  this.addToPendingCount(1);
                  new Long2ObjectConcurrentHashMap.ForEachTransformedKeyTask<>(this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, var1, var2)
                     .fork();
               }

               while ((var6 = this.advance()) != null) {
                  Object var7;
                  if ((var7 = (U)var1.apply(var6.key)) != null) {
                     var2.accept(var7);
                  }
               }

               this.propagateCompletion();
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ForEachTransformedMappingTask<V, U> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, Void> {
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap.LongObjFunction<? super V, ? class="kw">extends U> transformer;
      class="kw">public class="kw">final Consumer<? super U> action;

      class="kw">public ForEachTransformedMappingTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.LongObjFunction<? super V, ? class="kw">extends U> var6,
         Consumer<? super U> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.transformer = var6;
         this.action = var7;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Long2ObjectConcurrentHashMap.LongObjFunction var1 = this.transformer;
         if (this.transformer != null) {
            Consumer var2 = this.action;
            if (this.action != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  this.addToPendingCount(1);
                  new Long2ObjectConcurrentHashMap.ForEachTransformedMappingTask<>(this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, var1, var2)
                     .fork();
               }

               while ((var6 = this.advance()) != null) {
                  Object var7;
                  if ((var7 = (U)var1.apply(var6.key, var6.val)) != null) {
                     var2.accept(var7);
                  }
               }

               this.propagateCompletion();
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ForEachTransformedValueTask<V, U> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, Void> {
      class="kw">public class="kw">final Function<? super V, ? class="kw">extends U> transformer;
      class="kw">public class="kw">final Consumer<? super U> action;

      class="kw">public ForEachTransformedValueTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Function<? super V, ? class="kw">extends U> var6,
         Consumer<? super U> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.transformer = var6;
         this.action = var7;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Function var1 = this.transformer;
         if (this.transformer != null) {
            Consumer var2 = this.action;
            if (this.action != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  this.addToPendingCount(1);
                  new Long2ObjectConcurrentHashMap.ForEachTransformedValueTask<>(this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, var1, var2)
                     .fork();
               }

               while ((var6 = this.advance()) != null) {
                  Object var7;
                  if ((var7 = (U)var1.apply(var6.val)) != null) {
                     var2.accept(var7);
                  }
               }

               this.propagateCompletion();
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ForEachValueTask<V> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, Void> {
      class="kw">public class="kw">final Consumer<? super V> action;

      class="kw">public ForEachValueTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1, int var2, int var3, int var4, Long2ObjectConcurrentHashMap.Node<V>[] var5, Consumer<? super V> var6
      ) {
         super(var1, var2, var3, var4, var5);
         this.action = var6;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Consumer var1 = this.action;
         if (this.action != null) {
            int var2 = this.baseIndex;

            while (this.batch > 0) {
               int var3 = this.baseLimit;
               int var4;
               if ((var4 = this.baseLimit + var2 >>> 1) <= var2) {
                  break;
               }

               this.addToPendingCount(1);
               new Long2ObjectConcurrentHashMap.ForEachValueTask<>(this, this.batch >>>= 1, this.baseLimit = var4, var3, this.tab, var1).fork();
            }

            while ((var5 = this.advance()) != null) {
               var1.accept(var5.val);
            }

            this.propagateCompletion();
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ForwardingNode<V> class="kw">extends Long2ObjectConcurrentHashMap.Node<V> {
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap.Node<V>[] nextTable;

      class="kw">public ForwardingNode(long var1, Long2ObjectConcurrentHashMap.Node<V>[] var3) {
         super(var1, -1, var1, null, null);
         this.nextTable = var3;
      }

      @Override
      class="kw">protected Long2ObjectConcurrentHashMap.Node<V> find(int var1, long var2) {
         Long2ObjectConcurrentHashMap.Node[] var4 = this.nextTable;

         Long2ObjectConcurrentHashMap.Node var5;
         int var6;
         label41:
         while (var2 != this.EMPTY && var4 != null && (var6 = var4.length) != 0 && (var5 = Long2ObjectConcurrentHashMap.tabAt(var4, var6 - 1 & var1)) != null) {
            do {
               int var7 = var5.hash;
               if (var5.hash == var1) {
                  long var8 = var5.key;
                  if (var5.key == var2 || var8 != this.EMPTY && var2 == var8) {
                     class="kw">return var5;
                  }
               }

               if (var7 < 0) {
                  if (!(var5 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode)) {
                     class="kw">return var5.find(var1, var2);
                  }

                  var4 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var5).nextTable;
                  class="kw">continue label41;
               }
            } while ((var5 = var5.next) != null);

            class="kw">return null;
         }

         class="kw">return null;
      }
   }

   class="kw">protected class="kw">abstract class="kw">static class IntReturningBulkTask<V> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, Integer> {
      class="kw">public int result;

      class="kw">public IntReturningBulkTask(Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1, int var2, int var3, int var4, Long2ObjectConcurrentHashMap.Node<V>[] var5) {
         super(var1, var2, var3, var4, var5);
      }

      class="kw">protected int invoke0() {
         this.quietlyInvoke();
         Throwable var2 = this.getException();
         if (var2 != null) {
            throw SneakyThrow.sneakyThrow(var2);
         } else {
            class="kw">return this.result;
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class KeyIterator<V> class="kw">implements LongIterator {
      class="kw">public Long2ObjectConcurrentHashMap.Node<V>[] tab;
      class="kw">public Long2ObjectConcurrentHashMap.Node<V> next;
      class="kw">public Long2ObjectConcurrentHashMap.TableStack<V> stack;
      class="kw">public Long2ObjectConcurrentHashMap.TableStack<V> spare;
      class="kw">public int index;
      class="kw">public int baseIndex;
      class="kw">public int baseLimit;
      class="kw">public class="kw">final int baseSize;
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap<V> map;
      class="kw">public Long2ObjectConcurrentHashMap.Node<V> lastReturned;

      class="kw">public KeyIterator(Long2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3, int var4, Long2ObjectConcurrentHashMap<V> var5) {
         this.tab = var1;
         this.baseSize = var2;
         this.baseIndex = this.index = var3;
         this.baseLimit = var4;
         this.next = null;
         this.map = var5;
         this.advance();
      }

      class="kw">protected class="kw">final Long2ObjectConcurrentHashMap.Node<V> advance() {
         Long2ObjectConcurrentHashMap.Node var1 = this.next;
         if (this.next != null) {
            var1 = var1.next;
         }

         while (true) {
            if (var1 != null) {
               class="kw">return this.next = var1;
            }

            if (this.baseIndex >= this.baseLimit) {
               break;
            }

            Long2ObjectConcurrentHashMap.Node[] var2 = this.tab;
            if (this.tab == null) {
               break;
            }

            int var4;
            int var10000 = var4 = var2.length;
            int var3 = this.index;
            if (var10000 <= this.index || var3 < 0) {
               break;
            }

            if ((var1 = Long2ObjectConcurrentHashMap.tabAt(var2, var3)) != null && var1.hash < 0) {
               if (var1 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                  this.tab = ((Long2ObjectConcurrentHashMap.ForwardingNode)var1).nextTable;
                  var1 = null;
                  this.pushState(var2, var3, var4);
                  class="kw">continue;
               }

               if (var1 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                  var1 = ((Long2ObjectConcurrentHashMap.TreeBin)var1).first;
               } else {
                  var1 = null;
               }
            }

            if (this.stack != null) {
               this.recoverState(var4);
            } else if ((this.index = var3 + this.baseSize) >= var4) {
               this.index = ++this.baseIndex;
            }
         }

         class="kw">return this.next = null;
      }

      class="kw">protected void pushState(Long2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3) {
         Long2ObjectConcurrentHashMap.TableStack var4 = this.spare;
         if (var4 != null) {
            this.spare = var4.next;
         } else {
            var4 = new Long2ObjectConcurrentHashMap.TableStack<>();
         }

         var4.tab = var1;
         var4.length = var3;
         var4.index = var2;
         var4.next = this.stack;
         this.stack = var4;
      }

      class="kw">protected void recoverState(int var1) {
         while (true) {
            Long2ObjectConcurrentHashMap.TableStack var2 = this.stack;
            if (this.stack != null) {
               int var3 = var2.length;
               if ((this.index = this.index + var2.length) >= var1) {
                  var1 = var3;
                  this.index = var2.index;
                  this.tab = var2.tab;
                  var2.tab = null;
                  Long2ObjectConcurrentHashMap.TableStack var4 = var2.next;
                  var2.next = this.spare;
                  this.stack = var4;
                  this.spare = var2;
                  class="kw">continue;
               }
            }

            if (var2 == null && (this.index = this.index + this.baseSize) >= var1) {
               this.index = ++this.baseIndex;
            }

            class="kw">return;
         }
      }

      class="kw">public class="kw">final boolean hasNext() {
         class="kw">return this.next != null;
      }

      class="kw">public class="kw">final boolean hasMoreElements() {
         class="kw">return this.next != null;
      }

      class="kw">public class="kw">final void remove() {
         Long2ObjectConcurrentHashMap.Node var1 = this.lastReturned;
         if (this.lastReturned == null) {
            throw new IllegalStateException();
         }

         this.lastReturned = null;
         this.map.replaceNode(var1.key, null, null);
      }

      class="kw">public class="kw">final long nextLong() {
         Long2ObjectConcurrentHashMap.Node var1 = this.next;
         if (this.next == null) {
            throw new NoSuchElementException();
         }

         long var2 = var1.key;
         this.lastReturned = var1;
         this.advance();
         class="kw">return var2;
      }
   }

   class="kw">public class="kw">static class KeySetView<V> class="kw">implements LongSet {
      class="kw">public class="kw">static class="kw">final long serialVersionUID = 7249069246763182397L;
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap<V> map;
      class="kw">public class="kw">final V value;

      class="kw">public KeySetView(Long2ObjectConcurrentHashMap<V> var1, V var2) {
         this.map = var1;
         this.value = var2;
      }

      class="kw">public V getMappedValue() {
         class="kw">return this.value;
      }

      class="kw">public boolean contains(long var1) {
         class="kw">return this.map.containsKey(var1);
      }

      class="kw">public boolean remove(long var1) {
         class="kw">return this.map.remove(var1) != null;
      }

      class="kw">public LongIterator iterator() {
         Long2ObjectConcurrentHashMap var2 = this.map;
         Long2ObjectConcurrentHashMap.Node[] var1 = var2.table;
         int var3 = var2.table == null ? 0 : var1.length;
         class="kw">return new Long2ObjectConcurrentHashMap.KeyIterator<>(var1, var3, 0, var3, var2);
      }

      class="kw">public boolean add(long var1) {
         Object var3 = this.value;
         if (this.value == null) {
            throw new UnsupportedOperationException();
         } else {
            class="kw">return this.map.putVal(var1, var3, true) == null;
         }
      }

      class="kw">public boolean addAll(LongCollection var1) {
         boolean var2 = false;
         Object var3 = this.value;
         if (this.value == null) {
            throw new UnsupportedOperationException();
         }

         LongIterator var4 = var1.iterator();

         while (var4.hasNext()) {
            long var5 = var4.nextLong();
            if (this.map.putVal(var5, var3, true) == null) {
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      @Override
      class="kw">public int hashCode() {
         int var1 = 0;
         LongIterator var2 = this.iterator();

         while (var2.hasNext()) {
            var1 += Long.hashCode(var2.nextLong());
         }

         class="kw">return var1;
      }

      @Override
      class="kw">public boolean equals(Object var1) {
         LongSet var2;
         class="kw">return var1 class="kw">instanceof LongSet && ((var2 = (LongSet)var1) == this || this.containsAll(var2) && var2.containsAll(this));
      }

      class="kw">public long getNoEntryValue() {
         class="kw">return this.map.EMPTY;
      }

      class="kw">public int size() {
         class="kw">return this.map.size();
      }

      class="kw">public boolean isEmpty() {
         class="kw">return this.map.isEmpty();
      }

      class="kw">public Object[] toArray() {
         Object[] var1 = new Long[this.size()];
         LongIterator var2 = this.iterator();

         int var3;
         for (var3 = 0; var3 < var1.length && var2.hasNext(); var3++) {
            var1[var3] = var2.nextLong();
         }

         if (var1.length > var3 + 1) {
            var1[var3] = this.map.EMPTY;
         }

         class="kw">return var1;
      }

      class="kw">public Object[] toArray(Object[] var1) {
         LongIterator var2 = this.iterator();

         int var3;
         for (var3 = 0; var3 < var1.length && var2.hasNext() && var3 <= var1.length; var3++) {
            var1[var3] = var2.next();
         }

         if (var1.length > var3 + 1) {
            var1[var3] = this.map.EMPTY;
         }

         class="kw">return var1;
      }

      class="kw">public long[] toLongArray() {
         long[] var1 = new long[this.size()];
         LongIterator var2 = this.iterator();

         int var3;
         for (var3 = 0; var3 < var1.length && var2.hasNext(); var3++) {
            var1[var3] = var2.next();
         }

         if (var1.length > var3 + 1) {
            var1[var3] = this.map.EMPTY;
         }

         class="kw">return var1;
      }

      class="kw">public long[] toArray(long[] var1) {
         LongIterator var2 = this.iterator();

         int var3;
         for (var3 = 0; var3 < var1.length && var2.hasNext() && var3 <= var1.length; var3++) {
            var1[var3] = var2.next();
         }

         if (var1.length > var3 + 1) {
            var1[var3] = this.map.EMPTY;
         }

         class="kw">return var1;
      }

      class="kw">public long[] toLongArray(long[] var1) {
         class="kw">return this.toArray(var1);
      }

      class="kw">public boolean containsAll(Collection<?> var1) {
         for (Object var3 : var1) {
            if (!(var3 class="kw">instanceof Long)) {
               class="kw">return false;
            }

            long var4 = (Long)var3;
            if (!this.contains(var4)) {
               class="kw">return false;
            }
         }

         class="kw">return true;
      }

      class="kw">public boolean containsAll(LongCollection var1) {
         LongIterator var2 = var1.iterator();

         while (var2.hasNext()) {
            long var3 = var2.next();
            if (!this.contains(var3)) {
               class="kw">return false;
            }
         }

         class="kw">return true;
      }

      class="kw">public boolean containsAll(long[] var1) {
         int var2 = var1.length;

         while (var2-- > 0) {
            if (!this.contains(var1[var2])) {
               class="kw">return false;
            }
         }

         class="kw">return true;
      }

      class="kw">public boolean addAll(Collection<? class="kw">extends Long> var1) {
         boolean var2 = false;

         for (Long var4 : var1) {
            long var5 = var4;
            if (this.add(var5)) {
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      class="kw">public boolean addAll(long[] var1) {
         boolean var2 = false;
         int var3 = var1.length;

         while (var3-- > 0) {
            if (this.add(var1[var3])) {
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      class="kw">public boolean retainAll(Collection<?> var1) {
         boolean var2 = false;
         LongIterator var3 = this.iterator();

         while (var3.hasNext()) {
            if (!var1.contains(var3.next())) {
               var3.remove();
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      class="kw">public boolean retainAll(LongCollection var1) {
         if (this == var1) {
            class="kw">return false;
         }

         boolean var2 = false;
         LongIterator var3 = this.iterator();

         while (var3.hasNext()) {
            if (!var1.contains(var3.next())) {
               var3.remove();
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      class="kw">public boolean retainAll(long[] var1) {
         boolean var2 = false;
         LongIterator var3 = this.iterator();

         while (var3.hasNext()) {
            if (Arrays.binarySearch(var1, var3.next().longValue()) < 0) {
               var3.remove();
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      class="kw">public boolean removeAll(Collection<?> var1) {
         boolean var2 = false;

         for (Object var4 : var1) {
            if (var4 class="kw">instanceof Long) {
               long var5 = (Long)var4;
               if (this.remove(var5)) {
                  var2 = true;
               }
            }
         }

         class="kw">return var2;
      }

      class="kw">public boolean removeAll(LongCollection var1) {
         boolean var2 = false;
         LongIterator var3 = var1.iterator();

         while (var3.hasNext()) {
            long var4 = var3.next();
            if (this.remove(var4)) {
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      class="kw">public boolean removeAll(long[] var1) {
         boolean var2 = false;
         int var3 = var1.length;

         while (var3-- > 0) {
            if (this.remove(var1[var3])) {
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      class="kw">public void clear() {
         this.map.clear();
      }

      class="kw">public LongSpliterator spliterator() {
         Long2ObjectConcurrentHashMap var2 = this.map;
         long var3 = var2.sumCount();
         Long2ObjectConcurrentHashMap.Node[] var1 = var2.table;
         int var5 = var2.table == null ? 0 : var1.length;
         class="kw">return new Long2ObjectConcurrentHashMap.KeySpliterator<>(var1, var5, 0, var5, var3 < 0L ? 0L : var3);
      }
   }

   class="kw">protected class="kw">static class="kw">final class KeySpliterator<V> class="kw">extends Long2ObjectConcurrentHashMap.Traverser<V> class="kw">implements LongSpliterator {
      class="kw">public long est;

      class="kw">public KeySpliterator(Long2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3, int var4, long var5) {
         super(var1, var2, var3, var4);
         this.est = var5;
      }

      class="kw">public LongSpliterator trySplit() {
         int var1 = this.baseIndex;
         int var2 = this.baseLimit;
         int var3;
         class="kw">return (var3 = this.baseIndex + this.baseLimit >>> 1) <= var1
            ? null
            : new Long2ObjectConcurrentHashMap.KeySpliterator<>(this.tab, this.baseSize, this.baseLimit = var3, var2, this.est >>>= 1);
      }

      class="kw">public boolean tryAdvance(Consumer<? super Long> var1) {
         class="kw">return var1 class="kw">instanceof LongConsumer ? this.tryAdvance((LongConsumer)var1) : this.tryAdvance(var1x -> var1.accept(var1x));
      }

      class="kw">public void forEachRemaining(LongConsumer var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Long2ObjectConcurrentHashMap.Node var2;
         while ((var2 = this.advance()) != null) {
            var1.accept(var2.key);
         }
      }

      class="kw">public boolean tryAdvance(LongConsumer var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Long2ObjectConcurrentHashMap.Node var2;
         if ((var2 = this.advance()) == null) {
            class="kw">return false;
         }

         var1.accept(var2.key);
         class="kw">return true;
      }

      class="kw">public long estimateSize() {
         class="kw">return this.est;
      }

      class="kw">public int characteristics() {
         class="kw">return 4353;
      }
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongBiObjByteConsumer<V, X> {
      void accept(long var1, V var3, byte var4, X var5);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongBiObjConsumer<V, X> {
      void accept(long var1, V var3, X var4);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongBiObjDoubleConsumer<V, X> {
      void accept(long var1, V var3, double var4, X var6);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongBiObjFloatConsumer<V, X> {
      void accept(long var1, V var3, float var4, X var5);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongBiObjFunction<V, X, J> {
      J apply(long var1, V var3, X var4);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongBiObjIntConsumer<V, X> {
      void accept(long var1, V var3, int var4, X var5);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongBiObjLongConsumer<V, X> {
      void accept(long var1, V var3, long var4, X var6);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongBiObjShortConsumer<V, X> {
      void accept(long var1, V var3, short var4, X var5);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongFunction<R> {
      R apply(long var1);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongObjByteConsumer<V> {
      void accept(long var1, V var3, byte var4);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongObjByteFunction<V, J> {
      J apply(long var1, V var3, byte var4);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongObjConsumer<V> {
      void accept(long var1, V var3);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongObjDoubleConsumer<V> {
      void accept(long var1, V var3, double var4);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongObjDoubleFunction<V, J> {
      J apply(long var1, V var3, double var4);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongObjFloatConsumer<V> {
      void accept(long var1, V var3, float var4);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongObjFloatFunction<V, J> {
      J apply(long var1, V var3, float var4);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongObjFunction<V, J> {
      J apply(long var1, V var3);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongObjIntConsumer<V> {
      void accept(long var1, V var3, int var4);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongObjIntFunction<V, J> {
      J apply(long var1, V var3, int var4);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongObjLongConsumer<V> {
      void accept(long var1, V var3, long var4);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongObjLongFunction<V, J> {
      J apply(long var1, V var3, long var4);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongObjShortConsumer<V> {
      void accept(long var1, V var3, short var4);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongObjShortFunction<V, J> {
      J apply(long var1, V var3, short var4);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongReduceTaskOperator {
      long reduce(long var1, long var3, long var5);
   }

   class="kw">protected class="kw">abstract class="kw">static class LongReturningBulkTask<V> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, Long> {
      class="kw">public long result;

      class="kw">public LongReturningBulkTask(Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1, int var2, int var3, int var4, Long2ObjectConcurrentHashMap.Node<V>[] var5) {
         super(var1, var2, var3, var4, var5);
      }

      class="kw">protected long invoke0() {
         this.quietlyInvoke();
         Throwable var2 = this.getException();
         if (var2 != null) {
            throw SneakyThrow.sneakyThrow(var2);
         } else {
            class="kw">return this.result;
         }
      }
   }

   class="kw">protected class="kw">abstract class="kw">static class LongReturningBulkTask2<V> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, Long> {
      class="kw">public long result;

      class="kw">public LongReturningBulkTask2(Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1, int var2, int var3, int var4, Long2ObjectConcurrentHashMap.Node<V>[] var5) {
         super(var1, var2, var3, var4, var5);
      }

      class="kw">protected long invoke0() {
         this.quietlyInvoke();
         Throwable var2 = this.getException();
         if (var2 != null) {
            throw SneakyThrow.sneakyThrow(var2);
         } else {
            class="kw">return this.result;
         }
      }
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongToDoubleFunction {
      double applyAsDouble(long var1);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongToIntFunction {
      int applyAsInt(long var1);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongToLongFunction {
      long applyAsLong(long var1);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface LongTriObjConsumer<V, X, Y> {
      void accept(long var1, V var3, X var4, Y var5);
   }

   class="kw">protected class="kw">static class="kw">final class MapEntry<V> class="kw">implements Long2ObjectConcurrentHashMap.Entry<V> {
      class="kw">public class="kw">final boolean empty;
      class="kw">public class="kw">final long key;
      class="kw">public V val;
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap<V> map;

      class="kw">public MapEntry(boolean var1, long var2, V var4, Long2ObjectConcurrentHashMap<V> var5) {
         this.empty = var1;
         this.key = var2;
         this.val = var4;
         this.map = var5;
      }

      @Override
      class="kw">public boolean isEmpty() {
         class="kw">return this.empty;
      }

      @Override
      class="kw">public Long getKey() {
         class="kw">return this.key;
      }

      @Override
      class="kw">public long getLongKey() {
         class="kw">return this.key;
      }

      @Override
      class="kw">public V getValue() {
         class="kw">return this.val;
      }

      @Override
      class="kw">public String toString() {
         class="kw">return this.empty ? "EMPTY=" + this.val : this.key + "=" + this.val;
      }

      @Override
      class="kw">public boolean equals(Object var1) {
         if (this == var1) {
            class="kw">return true;
         }

         if (var1 class="kw">instanceof Long2ObjectConcurrentHashMap.Entry) {
            if (this.empty != ((Long2ObjectConcurrentHashMap.Entry)var1).isEmpty()) {
               class="kw">return false;
            } else {
               class="kw">return !this.empty && this.key != ((Long2ObjectConcurrentHashMap.Entry)var1).getLongKey()
                  ? false
                  : this.val.equals(((Long2ObjectConcurrentHashMap.Entry)var1).getValue());
            }
         } else {
            class="kw">return false;
         }
      }

      @Override
      class="kw">public int hashCode() {
         int var1 = this.empty ? 1 : 0;
         var1 = 31 * var1 + Long.hashCode(this.key);
         class="kw">return 31 * var1 + this.val.hashCode();
      }

      @Override
      class="kw">public V setValue(V var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Object var2 = this.val;
         this.val = var1;
         this.map.put(this.key, var1);
         class="kw">return var2;
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceEntriesTask<V, U> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, U> {
      class="kw">public class="kw">final Function<Long2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends U> transformer;
      class="kw">public class="kw">final BiFunction<? super U, ? super U, ? class="kw">extends U> reducer;
      class="kw">public U result;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceEntriesTask<V, U> rights;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceEntriesTask<V, U> nextRight;

      class="kw">public MapReduceEntriesTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.MapReduceEntriesTask<V, U> var6,
         Function<Long2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends U> var7,
         BiFunction<? super U, ? super U, ? class="kw">extends U> var8
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.reducer = var8;
      }

      @Override
      class="kw">public class="kw">final U getRawResult() {
         class="kw">return this.result;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Function var1 = this.transformer;
         if (this.transformer != null) {
            BiFunction var2 = this.reducer;
            if (this.reducer != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Long2ObjectConcurrentHashMap.MapReduceEntriesTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, this.rights, var1, var2
                     ))
                     .fork();
               }

               Object var9 = null;

               Long2ObjectConcurrentHashMap.Node var10;
               while ((var10 = this.advance()) != null) {
                  Object var12;
                  if ((var12 = (U)var1.apply(var10)) != null) {
                     var9 = var9 == null ? var12 : var2.apply(var9, var12);
                  }
               }

               this.result = var9;

               for (CountedCompleter var11 = this.firstComplete(); var11 != null; var11 = var11.nextComplete()) {
                  Long2ObjectConcurrentHashMap.MapReduceEntriesTask var13 = (Long2ObjectConcurrentHashMap.MapReduceEntriesTask<V, U>)var11;

                  for (Long2ObjectConcurrentHashMap.MapReduceEntriesTask var6 = var13.rights; var6 != null; var6 = var13.rights = var6.nextRight) {
                     Object var8 = var6.result;
                     if (var6.result != null) {
                        Object var7 = var13.result;
                        var13.result = var13.result == null ? var8 : var2.apply(var7, var8);
                     }
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceEntriesToDoubleTask<V> class="kw">extends Long2ObjectConcurrentHashMap.DoubleReturningBulkTask<V> {
      class="kw">public class="kw">final ToDoubleFunction<Long2ObjectConcurrentHashMap.Entry<V>> transformer;
      class="kw">public class="kw">final DoubleBinaryOperator reducer;
      class="kw">public class="kw">final double basis;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceEntriesToDoubleTask<V> rights;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceEntriesToDoubleTask<V> nextRight;

      class="kw">public MapReduceEntriesToDoubleTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.MapReduceEntriesToDoubleTask<V> var6,
         ToDoubleFunction<Long2ObjectConcurrentHashMap.Entry<V>> var7,
         double var8,
         DoubleBinaryOperator var10
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var10;
      }

      class="kw">public class="kw">final Double getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         ToDoubleFunction var1 = this.transformer;
         if (this.transformer != null) {
            DoubleBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               double var3 = this.basis;
               int var5 = this.baseIndex;

               while (this.batch > 0) {
                  int var6 = this.baseLimit;
                  int var7;
                  if ((var7 = this.baseLimit + var5 >>> 1) <= var5) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Long2ObjectConcurrentHashMap.MapReduceEntriesToDoubleTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var7, var6, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var8 = this.advance()) != null) {
                  var3 = var2.applyAsDouble(var3, var1.applyAsDouble(var8));
               }

               this.result = var3;

               for (CountedCompleter var9 = this.firstComplete(); var9 != null; var9 = var9.nextComplete()) {
                  Long2ObjectConcurrentHashMap.MapReduceEntriesToDoubleTask var10 = (Long2ObjectConcurrentHashMap.MapReduceEntriesToDoubleTask<V>)var9;

                  for (Long2ObjectConcurrentHashMap.MapReduceEntriesToDoubleTask var11 = var10.rights; var11 != null; var11 = var10.rights = var11.nextRight) {
                     var10.result = var2.applyAsDouble(var10.result, var11.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceEntriesToIntTask<V> class="kw">extends Long2ObjectConcurrentHashMap.IntReturningBulkTask<V> {
      class="kw">public class="kw">final ToIntFunction<Long2ObjectConcurrentHashMap.Entry<V>> transformer;
      class="kw">public class="kw">final IntBinaryOperator reducer;
      class="kw">public class="kw">final int basis;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceEntriesToIntTask<V> rights;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceEntriesToIntTask<V> nextRight;

      class="kw">public MapReduceEntriesToIntTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.MapReduceEntriesToIntTask<V> var6,
         ToIntFunction<Long2ObjectConcurrentHashMap.Entry<V>> var7,
         int var8,
         IntBinaryOperator var9
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var9;
      }

      class="kw">public class="kw">final Integer getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         ToIntFunction var1 = this.transformer;
         if (this.transformer != null) {
            IntBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               int var3 = this.basis;
               int var4 = this.baseIndex;

               while (this.batch > 0) {
                  int var5 = this.baseLimit;
                  int var6;
                  if ((var6 = this.baseLimit + var4 >>> 1) <= var4) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Long2ObjectConcurrentHashMap.MapReduceEntriesToIntTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var6, var5, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var7 = this.advance()) != null) {
                  var3 = var2.applyAsInt(var3, var1.applyAsInt(var7));
               }

               this.result = var3;

               for (CountedCompleter var8 = this.firstComplete(); var8 != null; var8 = var8.nextComplete()) {
                  Long2ObjectConcurrentHashMap.MapReduceEntriesToIntTask var9 = (Long2ObjectConcurrentHashMap.MapReduceEntriesToIntTask<V>)var8;

                  for (Long2ObjectConcurrentHashMap.MapReduceEntriesToIntTask var10 = var9.rights; var10 != null; var10 = var9.rights = var10.nextRight) {
                     var9.result = var2.applyAsInt(var9.result, var10.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceEntriesToLongTask<V> class="kw">extends Long2ObjectConcurrentHashMap.LongReturningBulkTask<V> {
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap.ToLongFunction<Long2ObjectConcurrentHashMap.Entry<V>> transformer;
      class="kw">public class="kw">final LongBinaryOperator reducer;
      class="kw">public class="kw">final long basis;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceEntriesToLongTask<V> rights;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceEntriesToLongTask<V> nextRight;

      class="kw">public MapReduceEntriesToLongTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.MapReduceEntriesToLongTask<V> var6,
         Long2ObjectConcurrentHashMap.ToLongFunction<Long2ObjectConcurrentHashMap.Entry<V>> var7,
         long var8,
         LongBinaryOperator var10
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var10;
      }

      class="kw">public class="kw">final Long getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Long2ObjectConcurrentHashMap.ToLongFunction var1 = this.transformer;
         if (this.transformer != null) {
            LongBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               long var3 = this.basis;
               int var5 = this.baseIndex;

               while (this.batch > 0) {
                  int var6 = this.baseLimit;
                  int var7;
                  if ((var7 = this.baseLimit + var5 >>> 1) <= var5) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Long2ObjectConcurrentHashMap.MapReduceEntriesToLongTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var7, var6, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var8 = this.advance()) != null) {
                  var3 = var2.applyAsLong(var3, var1.applyAsLong(var8));
               }

               this.result = var3;

               for (CountedCompleter var9 = this.firstComplete(); var9 != null; var9 = var9.nextComplete()) {
                  Long2ObjectConcurrentHashMap.MapReduceEntriesToLongTask var10 = (Long2ObjectConcurrentHashMap.MapReduceEntriesToLongTask<V>)var9;

                  for (Long2ObjectConcurrentHashMap.MapReduceEntriesToLongTask var11 = var10.rights; var11 != null; var11 = var10.rights = var11.nextRight) {
                     var10.result = var2.applyAsLong(var10.result, var11.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceKeysTask<V, U> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, U> {
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap.LongFunction<? class="kw">extends U> transformer;
      class="kw">public class="kw">final BiFunction<? super U, ? super U, ? class="kw">extends U> reducer;
      class="kw">public U result;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceKeysTask<V, U> rights;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceKeysTask<V, U> nextRight;

      class="kw">public MapReduceKeysTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.MapReduceKeysTask<V, U> var6,
         Long2ObjectConcurrentHashMap.LongFunction<? class="kw">extends U> var7,
         BiFunction<? super U, ? super U, ? class="kw">extends U> var8
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.reducer = var8;
      }

      @Override
      class="kw">public class="kw">final U getRawResult() {
         class="kw">return this.result;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Long2ObjectConcurrentHashMap.LongFunction var1 = this.transformer;
         if (this.transformer != null) {
            BiFunction var2 = this.reducer;
            if (this.reducer != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Long2ObjectConcurrentHashMap.MapReduceKeysTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, this.rights, var1, var2
                     ))
                     .fork();
               }

               Object var9 = null;

               Long2ObjectConcurrentHashMap.Node var10;
               while ((var10 = this.advance()) != null) {
                  Object var12;
                  if ((var12 = (U)var1.apply(var10.key)) != null) {
                     var9 = var9 == null ? var12 : var2.apply(var9, var12);
                  }
               }

               this.result = var9;

               for (CountedCompleter var11 = this.firstComplete(); var11 != null; var11 = var11.nextComplete()) {
                  Long2ObjectConcurrentHashMap.MapReduceKeysTask var13 = (Long2ObjectConcurrentHashMap.MapReduceKeysTask<V, U>)var11;

                  for (Long2ObjectConcurrentHashMap.MapReduceKeysTask var6 = var13.rights; var6 != null; var6 = var13.rights = var6.nextRight) {
                     Object var8 = var6.result;
                     if (var6.result != null) {
                        Object var7 = var13.result;
                        var13.result = var13.result == null ? var8 : var2.apply(var7, var8);
                     }
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceKeysToDoubleTask<V> class="kw">extends Long2ObjectConcurrentHashMap.DoubleReturningBulkTask<V> {
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap.LongToDoubleFunction transformer;
      class="kw">public class="kw">final DoubleBinaryOperator reducer;
      class="kw">public class="kw">final double basis;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceKeysToDoubleTask<V> rights;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceKeysToDoubleTask<V> nextRight;

      class="kw">public MapReduceKeysToDoubleTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.MapReduceKeysToDoubleTask<V> var6,
         Long2ObjectConcurrentHashMap.LongToDoubleFunction var7,
         double var8,
         DoubleBinaryOperator var10
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var10;
      }

      class="kw">public class="kw">final Double getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Long2ObjectConcurrentHashMap.LongToDoubleFunction var1 = this.transformer;
         if (this.transformer != null) {
            DoubleBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               double var3 = this.basis;
               int var5 = this.baseIndex;

               while (this.batch > 0) {
                  int var6 = this.baseLimit;
                  int var7;
                  if ((var7 = this.baseLimit + var5 >>> 1) <= var5) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Long2ObjectConcurrentHashMap.MapReduceKeysToDoubleTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var7, var6, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var8 = this.advance()) != null) {
                  var3 = var2.applyAsDouble(var3, var1.applyAsDouble(var8.key));
               }

               this.result = var3;

               for (CountedCompleter var9 = this.firstComplete(); var9 != null; var9 = var9.nextComplete()) {
                  Long2ObjectConcurrentHashMap.MapReduceKeysToDoubleTask var10 = (Long2ObjectConcurrentHashMap.MapReduceKeysToDoubleTask<V>)var9;

                  for (Long2ObjectConcurrentHashMap.MapReduceKeysToDoubleTask var11 = var10.rights; var11 != null; var11 = var10.rights = var11.nextRight) {
                     var10.result = var2.applyAsDouble(var10.result, var11.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceKeysToIntTask<V> class="kw">extends Long2ObjectConcurrentHashMap.IntReturningBulkTask<V> {
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap.LongToIntFunction transformer;
      class="kw">public class="kw">final IntBinaryOperator reducer;
      class="kw">public class="kw">final int basis;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceKeysToIntTask<V> rights;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceKeysToIntTask<V> nextRight;

      class="kw">public MapReduceKeysToIntTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.MapReduceKeysToIntTask<V> var6,
         Long2ObjectConcurrentHashMap.LongToIntFunction var7,
         int var8,
         IntBinaryOperator var9
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var9;
      }

      class="kw">public class="kw">final Integer getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Long2ObjectConcurrentHashMap.LongToIntFunction var1 = this.transformer;
         if (this.transformer != null) {
            IntBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               int var3 = this.basis;
               int var4 = this.baseIndex;

               while (this.batch > 0) {
                  int var5 = this.baseLimit;
                  int var6;
                  if ((var6 = this.baseLimit + var4 >>> 1) <= var4) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Long2ObjectConcurrentHashMap.MapReduceKeysToIntTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var6, var5, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var7 = this.advance()) != null) {
                  var3 = var2.applyAsInt(var3, var1.applyAsInt(var7.key));
               }

               this.result = var3;

               for (CountedCompleter var8 = this.firstComplete(); var8 != null; var8 = var8.nextComplete()) {
                  Long2ObjectConcurrentHashMap.MapReduceKeysToIntTask var9 = (Long2ObjectConcurrentHashMap.MapReduceKeysToIntTask<V>)var8;

                  for (Long2ObjectConcurrentHashMap.MapReduceKeysToIntTask var10 = var9.rights; var10 != null; var10 = var9.rights = var10.nextRight) {
                     var9.result = var2.applyAsInt(var9.result, var10.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceKeysToLongTask<V> class="kw">extends Long2ObjectConcurrentHashMap.LongReturningBulkTask<V> {
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap.LongToLongFunction transformer;
      class="kw">public class="kw">final LongBinaryOperator reducer;
      class="kw">public class="kw">final long basis;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceKeysToLongTask<V> rights;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceKeysToLongTask<V> nextRight;

      class="kw">public MapReduceKeysToLongTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.MapReduceKeysToLongTask<V> var6,
         Long2ObjectConcurrentHashMap.LongToLongFunction var7,
         long var8,
         LongBinaryOperator var10
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var10;
      }

      class="kw">public class="kw">final Long getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Long2ObjectConcurrentHashMap.LongToLongFunction var1 = this.transformer;
         if (this.transformer != null) {
            LongBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               long var3 = this.basis;
               int var5 = this.baseIndex;

               while (this.batch > 0) {
                  int var6 = this.baseLimit;
                  int var7;
                  if ((var7 = this.baseLimit + var5 >>> 1) <= var5) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Long2ObjectConcurrentHashMap.MapReduceKeysToLongTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var7, var6, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var8 = this.advance()) != null) {
                  var3 = var2.applyAsLong(var3, var1.applyAsLong(var8.key));
               }

               this.result = var3;

               for (CountedCompleter var9 = this.firstComplete(); var9 != null; var9 = var9.nextComplete()) {
                  Long2ObjectConcurrentHashMap.MapReduceKeysToLongTask var10 = (Long2ObjectConcurrentHashMap.MapReduceKeysToLongTask<V>)var9;

                  for (Long2ObjectConcurrentHashMap.MapReduceKeysToLongTask var11 = var10.rights; var11 != null; var11 = var10.rights = var11.nextRight) {
                     var10.result = var2.applyAsLong(var10.result, var11.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceMappingsTask<V, U> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, U> {
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap.LongObjFunction<? super V, ? class="kw">extends U> transformer;
      class="kw">public class="kw">final BiFunction<? super U, ? super U, ? class="kw">extends U> reducer;
      class="kw">public U result;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceMappingsTask<V, U> rights;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceMappingsTask<V, U> nextRight;

      class="kw">public MapReduceMappingsTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.MapReduceMappingsTask<V, U> var6,
         Long2ObjectConcurrentHashMap.LongObjFunction<? super V, ? class="kw">extends U> var7,
         BiFunction<? super U, ? super U, ? class="kw">extends U> var8
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.reducer = var8;
      }

      @Override
      class="kw">public class="kw">final U getRawResult() {
         class="kw">return this.result;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Long2ObjectConcurrentHashMap.LongObjFunction var1 = this.transformer;
         if (this.transformer != null) {
            BiFunction var2 = this.reducer;
            if (this.reducer != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Long2ObjectConcurrentHashMap.MapReduceMappingsTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, this.rights, var1, var2
                     ))
                     .fork();
               }

               Object var9 = null;

               Long2ObjectConcurrentHashMap.Node var10;
               while ((var10 = this.advance()) != null) {
                  Object var12;
                  if ((var12 = (U)var1.apply(var10.key, var10.val)) != null) {
                     var9 = var9 == null ? var12 : var2.apply(var9, var12);
                  }
               }

               this.result = var9;

               for (CountedCompleter var11 = this.firstComplete(); var11 != null; var11 = var11.nextComplete()) {
                  Long2ObjectConcurrentHashMap.MapReduceMappingsTask var13 = (Long2ObjectConcurrentHashMap.MapReduceMappingsTask<V, U>)var11;

                  for (Long2ObjectConcurrentHashMap.MapReduceMappingsTask var6 = var13.rights; var6 != null; var6 = var13.rights = var6.nextRight) {
                     Object var8 = var6.result;
                     if (var6.result != null) {
                        Object var7 = var13.result;
                        var13.result = var13.result == null ? var8 : var2.apply(var7, var8);
                     }
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceMappingsToDoubleTask<V> class="kw">extends Long2ObjectConcurrentHashMap.DoubleReturningBulkTask<V> {
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap.ToDoubleLongObjFunction<? super V> transformer;
      class="kw">public class="kw">final DoubleBinaryOperator reducer;
      class="kw">public class="kw">final double basis;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceMappingsToDoubleTask<V> rights;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceMappingsToDoubleTask<V> nextRight;

      class="kw">public MapReduceMappingsToDoubleTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.MapReduceMappingsToDoubleTask<V> var6,
         Long2ObjectConcurrentHashMap.ToDoubleLongObjFunction<? super V> var7,
         double var8,
         DoubleBinaryOperator var10
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var10;
      }

      class="kw">public class="kw">final Double getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Long2ObjectConcurrentHashMap.ToDoubleLongObjFunction var1 = this.transformer;
         if (this.transformer != null) {
            DoubleBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               double var3 = this.basis;
               int var5 = this.baseIndex;

               while (this.batch > 0) {
                  int var6 = this.baseLimit;
                  int var7;
                  if ((var7 = this.baseLimit + var5 >>> 1) <= var5) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Long2ObjectConcurrentHashMap.MapReduceMappingsToDoubleTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var7, var6, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var8 = this.advance()) != null) {
                  var3 = var2.applyAsDouble(var3, var1.applyAsDouble(var8.key, var8.val));
               }

               this.result = var3;

               for (CountedCompleter var9 = this.firstComplete(); var9 != null; var9 = var9.nextComplete()) {
                  Long2ObjectConcurrentHashMap.MapReduceMappingsToDoubleTask var10 = (Long2ObjectConcurrentHashMap.MapReduceMappingsToDoubleTask<V>)var9;

                  for (Long2ObjectConcurrentHashMap.MapReduceMappingsToDoubleTask var11 = var10.rights; var11 != null; var11 = var10.rights = var11.nextRight) {
                     var10.result = var2.applyAsDouble(var10.result, var11.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceMappingsToIntTask<V> class="kw">extends Long2ObjectConcurrentHashMap.IntReturningBulkTask<V> {
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap.ToIntLongObjFunction<? super V> transformer;
      class="kw">public class="kw">final IntBinaryOperator reducer;
      class="kw">public class="kw">final int basis;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceMappingsToIntTask<V> rights;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceMappingsToIntTask<V> nextRight;

      class="kw">public MapReduceMappingsToIntTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.MapReduceMappingsToIntTask<V> var6,
         Long2ObjectConcurrentHashMap.ToIntLongObjFunction<? super V> var7,
         int var8,
         IntBinaryOperator var9
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var9;
      }

      class="kw">public class="kw">final Integer getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Long2ObjectConcurrentHashMap.ToIntLongObjFunction var1 = this.transformer;
         if (this.transformer != null) {
            IntBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               int var3 = this.basis;
               int var4 = this.baseIndex;

               while (this.batch > 0) {
                  int var5 = this.baseLimit;
                  int var6;
                  if ((var6 = this.baseLimit + var4 >>> 1) <= var4) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Long2ObjectConcurrentHashMap.MapReduceMappingsToIntTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var6, var5, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var7 = this.advance()) != null) {
                  var3 = var2.applyAsInt(var3, var1.applyAsInt(var7.key, var7.val));
               }

               this.result = var3;

               for (CountedCompleter var8 = this.firstComplete(); var8 != null; var8 = var8.nextComplete()) {
                  Long2ObjectConcurrentHashMap.MapReduceMappingsToIntTask var9 = (Long2ObjectConcurrentHashMap.MapReduceMappingsToIntTask<V>)var8;

                  for (Long2ObjectConcurrentHashMap.MapReduceMappingsToIntTask var10 = var9.rights; var10 != null; var10 = var9.rights = var10.nextRight) {
                     var9.result = var2.applyAsInt(var9.result, var10.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceMappingsToLongTask<V> class="kw">extends Long2ObjectConcurrentHashMap.LongReturningBulkTask<V> {
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap.ToLongLongObjFunction<? super V> transformer;
      class="kw">public class="kw">final LongBinaryOperator reducer;
      class="kw">public class="kw">final long basis;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceMappingsToLongTask<V> rights;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceMappingsToLongTask<V> nextRight;

      class="kw">public MapReduceMappingsToLongTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.MapReduceMappingsToLongTask<V> var6,
         Long2ObjectConcurrentHashMap.ToLongLongObjFunction<? super V> var7,
         long var8,
         LongBinaryOperator var10
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var10;
      }

      class="kw">public class="kw">final Long getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Long2ObjectConcurrentHashMap.ToLongLongObjFunction var1 = this.transformer;
         if (this.transformer != null) {
            LongBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               long var3 = this.basis;
               int var5 = this.baseIndex;

               while (this.batch > 0) {
                  int var6 = this.baseLimit;
                  int var7;
                  if ((var7 = this.baseLimit + var5 >>> 1) <= var5) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Long2ObjectConcurrentHashMap.MapReduceMappingsToLongTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var7, var6, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var8 = this.advance()) != null) {
                  var3 = var2.applyAsLong(var3, var1.applyAsLong(var8.key, var8.val));
               }

               this.result = var3;

               for (CountedCompleter var9 = this.firstComplete(); var9 != null; var9 = var9.nextComplete()) {
                  Long2ObjectConcurrentHashMap.MapReduceMappingsToLongTask var10 = (Long2ObjectConcurrentHashMap.MapReduceMappingsToLongTask<V>)var9;

                  for (Long2ObjectConcurrentHashMap.MapReduceMappingsToLongTask var11 = var10.rights; var11 != null; var11 = var10.rights = var11.nextRight) {
                     var10.result = var2.applyAsLong(var10.result, var11.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceValuesTask<V, U> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, U> {
      class="kw">public class="kw">final Function<? super V, ? class="kw">extends U> transformer;
      class="kw">public class="kw">final BiFunction<? super U, ? super U, ? class="kw">extends U> reducer;
      class="kw">public U result;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceValuesTask<V, U> rights;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceValuesTask<V, U> nextRight;

      class="kw">public MapReduceValuesTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.MapReduceValuesTask<V, U> var6,
         Function<? super V, ? class="kw">extends U> var7,
         BiFunction<? super U, ? super U, ? class="kw">extends U> var8
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.reducer = var8;
      }

      @Override
      class="kw">public class="kw">final U getRawResult() {
         class="kw">return this.result;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Function var1 = this.transformer;
         if (this.transformer != null) {
            BiFunction var2 = this.reducer;
            if (this.reducer != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Long2ObjectConcurrentHashMap.MapReduceValuesTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, this.rights, var1, var2
                     ))
                     .fork();
               }

               Object var9 = null;

               Long2ObjectConcurrentHashMap.Node var10;
               while ((var10 = this.advance()) != null) {
                  Object var12;
                  if ((var12 = (U)var1.apply(var10.val)) != null) {
                     var9 = var9 == null ? var12 : var2.apply(var9, var12);
                  }
               }

               this.result = var9;

               for (CountedCompleter var11 = this.firstComplete(); var11 != null; var11 = var11.nextComplete()) {
                  Long2ObjectConcurrentHashMap.MapReduceValuesTask var13 = (Long2ObjectConcurrentHashMap.MapReduceValuesTask<V, U>)var11;

                  for (Long2ObjectConcurrentHashMap.MapReduceValuesTask var6 = var13.rights; var6 != null; var6 = var13.rights = var6.nextRight) {
                     Object var8 = var6.result;
                     if (var6.result != null) {
                        Object var7 = var13.result;
                        var13.result = var13.result == null ? var8 : var2.apply(var7, var8);
                     }
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceValuesToDoubleTask<V> class="kw">extends Long2ObjectConcurrentHashMap.DoubleReturningBulkTask<V> {
      class="kw">public class="kw">final ToDoubleFunction<? super V> transformer;
      class="kw">public class="kw">final DoubleBinaryOperator reducer;
      class="kw">public class="kw">final double basis;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceValuesToDoubleTask<V> rights;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceValuesToDoubleTask<V> nextRight;

      class="kw">public MapReduceValuesToDoubleTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.MapReduceValuesToDoubleTask<V> var6,
         ToDoubleFunction<? super V> var7,
         double var8,
         DoubleBinaryOperator var10
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var10;
      }

      class="kw">public class="kw">final Double getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         ToDoubleFunction var1 = this.transformer;
         if (this.transformer != null) {
            DoubleBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               double var3 = this.basis;
               int var5 = this.baseIndex;

               while (this.batch > 0) {
                  int var6 = this.baseLimit;
                  int var7;
                  if ((var7 = this.baseLimit + var5 >>> 1) <= var5) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Long2ObjectConcurrentHashMap.MapReduceValuesToDoubleTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var7, var6, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var8 = this.advance()) != null) {
                  var3 = var2.applyAsDouble(var3, var1.applyAsDouble(var8.val));
               }

               this.result = var3;

               for (CountedCompleter var9 = this.firstComplete(); var9 != null; var9 = var9.nextComplete()) {
                  Long2ObjectConcurrentHashMap.MapReduceValuesToDoubleTask var10 = (Long2ObjectConcurrentHashMap.MapReduceValuesToDoubleTask<V>)var9;

                  for (Long2ObjectConcurrentHashMap.MapReduceValuesToDoubleTask var11 = var10.rights; var11 != null; var11 = var10.rights = var11.nextRight) {
                     var10.result = var2.applyAsDouble(var10.result, var11.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceValuesToIntTask<V> class="kw">extends Long2ObjectConcurrentHashMap.IntReturningBulkTask<V> {
      class="kw">public class="kw">final ToIntFunction<? super V> transformer;
      class="kw">public class="kw">final IntBinaryOperator reducer;
      class="kw">public class="kw">final int basis;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceValuesToIntTask<V> rights;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceValuesToIntTask<V> nextRight;

      class="kw">public MapReduceValuesToIntTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.MapReduceValuesToIntTask<V> var6,
         ToIntFunction<? super V> var7,
         int var8,
         IntBinaryOperator var9
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var9;
      }

      class="kw">public class="kw">final Integer getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         ToIntFunction var1 = this.transformer;
         if (this.transformer != null) {
            IntBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               int var3 = this.basis;
               int var4 = this.baseIndex;

               while (this.batch > 0) {
                  int var5 = this.baseLimit;
                  int var6;
                  if ((var6 = this.baseLimit + var4 >>> 1) <= var4) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Long2ObjectConcurrentHashMap.MapReduceValuesToIntTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var6, var5, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var7 = this.advance()) != null) {
                  var3 = var2.applyAsInt(var3, var1.applyAsInt(var7.val));
               }

               this.result = var3;

               for (CountedCompleter var8 = this.firstComplete(); var8 != null; var8 = var8.nextComplete()) {
                  Long2ObjectConcurrentHashMap.MapReduceValuesToIntTask var9 = (Long2ObjectConcurrentHashMap.MapReduceValuesToIntTask<V>)var8;

                  for (Long2ObjectConcurrentHashMap.MapReduceValuesToIntTask var10 = var9.rights; var10 != null; var10 = var9.rights = var10.nextRight) {
                     var9.result = var2.applyAsInt(var9.result, var10.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceValuesToLongTask<V> class="kw">extends Long2ObjectConcurrentHashMap.LongReturningBulkTask<V> {
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap.ToLongFunction<? super V> transformer;
      class="kw">public class="kw">final LongBinaryOperator reducer;
      class="kw">public class="kw">final long basis;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceValuesToLongTask<V> rights;
      class="kw">public Long2ObjectConcurrentHashMap.MapReduceValuesToLongTask<V> nextRight;

      class="kw">public MapReduceValuesToLongTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.MapReduceValuesToLongTask<V> var6,
         Long2ObjectConcurrentHashMap.ToLongFunction<? super V> var7,
         long var8,
         LongBinaryOperator var10
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var10;
      }

      class="kw">public class="kw">final Long getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Long2ObjectConcurrentHashMap.ToLongFunction var1 = this.transformer;
         if (this.transformer != null) {
            LongBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               long var3 = this.basis;
               int var5 = this.baseIndex;

               while (this.batch > 0) {
                  int var6 = this.baseLimit;
                  int var7;
                  if ((var7 = this.baseLimit + var5 >>> 1) <= var5) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Long2ObjectConcurrentHashMap.MapReduceValuesToLongTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var7, var6, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var8 = this.advance()) != null) {
                  var3 = var2.applyAsLong(var3, var1.applyAsLong(var8.val));
               }

               this.result = var3;

               for (CountedCompleter var9 = this.firstComplete(); var9 != null; var9 = var9.nextComplete()) {
                  Long2ObjectConcurrentHashMap.MapReduceValuesToLongTask var10 = (Long2ObjectConcurrentHashMap.MapReduceValuesToLongTask<V>)var9;

                  for (Long2ObjectConcurrentHashMap.MapReduceValuesToLongTask var11 = var10.rights; var11 != null; var11 = var10.rights = var11.nextRight) {
                     var10.result = var2.applyAsLong(var10.result, var11.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class Node<V> class="kw">implements Long2ObjectConcurrentHashMap.Entry<V> {
      class="kw">public class="kw">final long EMPTY;
      class="kw">public class="kw">final int hash;
      class="kw">public class="kw">final long key;
      class="kw">public class="kw">volatile V val;
      class="kw">public class="kw">volatile Long2ObjectConcurrentHashMap.Node<V> next;

      class="kw">public Node(long var1, int var3, long var4, V var6, Long2ObjectConcurrentHashMap.Node<V> var7) {
         this.EMPTY = var1;
         this.hash = var3;
         this.key = var4;
         this.val = var6;
         this.next = var7;
      }

      @Override
      class="kw">public class="kw">final boolean isEmpty() {
         class="kw">return this.key == this.EMPTY;
      }

      @Override
      class="kw">public class="kw">final Long getKey() {
         class="kw">return this.key;
      }

      @Override
      class="kw">public class="kw">final long getLongKey() {
         class="kw">return this.key;
      }

      @Override
      class="kw">public class="kw">final V getValue() {
         class="kw">return this.val;
      }

      @Override
      class="kw">public class="kw">final int hashCode() {
         class="kw">return Long.hashCode(this.key) ^ this.val.hashCode();
      }

      @Override
      class="kw">public class="kw">final String toString() {
         class="kw">return this.isEmpty() ? "EMPTY=" + this.val : this.key + "=" + this.val;
      }

      @Override
      class="kw">public class="kw">final V setValue(V var1) {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final boolean equals(Object var1) {
         boolean var2 = this.isEmpty();
         if (var1 class="kw">instanceof Long2ObjectConcurrentHashMap.Entry) {
            if (var2 != ((Long2ObjectConcurrentHashMap.Entry)var1).isEmpty()) {
               class="kw">return false;
            } else {
               class="kw">return !var2 && this.key != ((Long2ObjectConcurrentHashMap.Entry)var1).getLongKey()
                  ? false
                  : this.val.equals(((Long2ObjectConcurrentHashMap.Entry)var1).getValue());
            }
         } else {
            class="kw">return false;
         }
      }

      class="kw">protected Long2ObjectConcurrentHashMap.Node<V> find(int var1, long var2) {
         Long2ObjectConcurrentHashMap.Node var4 = this;
         if (var2 != this.EMPTY) {
            do {
               if (var4.hash == var1) {
                  long var5 = var4.key;
                  if (var4.key == var2 || var5 != this.EMPTY && var2 == var5) {
                     class="kw">return var4;
                  }
               }
            } while ((var4 = var4.next) != null);
         }

         class="kw">return null;
      }
   }

   class="kw">protected class="kw">static class="kw">final class ReduceEntriesTask<V> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, Long2ObjectConcurrentHashMap.Entry<V>> {
      class="kw">public class="kw">final BiFunction<Long2ObjectConcurrentHashMap.Entry<V>, Long2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends Long2ObjectConcurrentHashMap.Entry<V>> reducer;
      class="kw">public Long2ObjectConcurrentHashMap.Entry<V> result;
      class="kw">public Long2ObjectConcurrentHashMap.ReduceEntriesTask<V> rights;
      class="kw">public Long2ObjectConcurrentHashMap.ReduceEntriesTask<V> nextRight;

      class="kw">public ReduceEntriesTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.ReduceEntriesTask<V> var6,
         BiFunction<Long2ObjectConcurrentHashMap.Entry<V>, Long2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends Long2ObjectConcurrentHashMap.Entry<V>> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.reducer = var7;
      }

      class="kw">public class="kw">final Long2ObjectConcurrentHashMap.Entry<V> getRawResult() {
         class="kw">return this.result;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         BiFunction var1 = this.reducer;
         if (this.reducer != null) {
            int var2 = this.baseIndex;

            while (this.batch > 0) {
               int var3 = this.baseLimit;
               int var4;
               if ((var4 = this.baseLimit + var2 >>> 1) <= var2) {
                  break;
               }

               this.addToPendingCount(1);
               (this.rights = new Long2ObjectConcurrentHashMap.ReduceEntriesTask<>(
                     this, this.batch >>>= 1, this.baseLimit = var4, var3, this.tab, this.rights, var1
                  ))
                  .fork();
            }

            Long2ObjectConcurrentHashMap.Entry var8 = null;

            Long2ObjectConcurrentHashMap.Node var9;
            while ((var9 = this.advance()) != null) {
               var8 = var8 == null ? var9 : var1.apply(var8, var9);
            }

            this.result = var8;

            for (CountedCompleter var10 = this.firstComplete(); var10 != null; var10 = var10.nextComplete()) {
               Long2ObjectConcurrentHashMap.ReduceEntriesTask var11 = (Long2ObjectConcurrentHashMap.ReduceEntriesTask<V>)var10;

               for (Long2ObjectConcurrentHashMap.ReduceEntriesTask var5 = var11.rights; var5 != null; var5 = var11.rights = var5.nextRight) {
                  Long2ObjectConcurrentHashMap.Entry var7 = var5.result;
                  if (var5.result != null) {
                     Long2ObjectConcurrentHashMap.Entry var6 = var11.result;
                     var11.result = var11.result == null ? var7 : var1.apply(var6, var7);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ReduceKeysTask<V> class="kw">extends Long2ObjectConcurrentHashMap.LongReturningBulkTask2<V> {
      class="kw">public class="kw">final long EMPTY;
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap.LongReduceTaskOperator reducer;
      class="kw">public Long2ObjectConcurrentHashMap.ReduceKeysTask<V> rights;
      class="kw">public Long2ObjectConcurrentHashMap.ReduceKeysTask<V> nextRight;

      class="kw">public ReduceKeysTask(
         long var1,
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var3,
         int var4,
         int var5,
         int var6,
         Long2ObjectConcurrentHashMap.Node<V>[] var7,
         Long2ObjectConcurrentHashMap.ReduceKeysTask<V> var8,
         Long2ObjectConcurrentHashMap.LongReduceTaskOperator var9
      ) {
         super(var3, var4, var5, var6, var7);
         this.nextRight = var8;
         this.EMPTY = var1;
         this.reducer = var9;
      }

      class="kw">public class="kw">final Long getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Long2ObjectConcurrentHashMap.LongReduceTaskOperator var1 = this.reducer;
         if (this.reducer != null) {
            int var2 = this.baseIndex;

            while (this.batch > 0) {
               int var3 = this.baseLimit;
               int var4;
               if ((var4 = this.baseLimit + var2 >>> 1) <= var2) {
                  break;
               }

               this.addToPendingCount(1);
               (this.rights = new Long2ObjectConcurrentHashMap.ReduceKeysTask<>(
                     this.EMPTY, this, this.batch >>>= 1, this.baseLimit = var4, var3, this.tab, this.rights, var1
                  ))
                  .fork();
            }

            boolean var12 = false;
            long var13 = this.EMPTY;

            Long2ObjectConcurrentHashMap.Node var5;
            while ((var5 = this.advance()) != null) {
               long var6 = var5.key;
               if (!var12) {
                  var12 = true;
                  var13 = var6;
               } else if (!var5.isEmpty()) {
                  var12 = true;
                  var13 = var1.reduce(this.EMPTY, var13, var6);
               }
            }

            this.result = var13;

            for (CountedCompleter var14 = this.firstComplete(); var14 != null; var14 = var14.nextComplete()) {
               Long2ObjectConcurrentHashMap.ReduceKeysTask var15 = (Long2ObjectConcurrentHashMap.ReduceKeysTask<V>)var14;

               for (Long2ObjectConcurrentHashMap.ReduceKeysTask var7 = var15.rights; var7 != null; var7 = var15.rights = var7.nextRight) {
                  long var10 = var7.result;
                  if (var7.result != this.EMPTY) {
                     long var8 = var15.result;
                     var15.result = var15.result == this.EMPTY ? var10 : var1.reduce(this.EMPTY, var8, var10);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ReduceValuesTask<V> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, V> {
      class="kw">public class="kw">final BiFunction<? super V, ? super V, ? class="kw">extends V> reducer;
      class="kw">public V result;
      class="kw">public Long2ObjectConcurrentHashMap.ReduceValuesTask<V> rights;
      class="kw">public Long2ObjectConcurrentHashMap.ReduceValuesTask<V> nextRight;

      class="kw">public ReduceValuesTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.ReduceValuesTask<V> var6,
         BiFunction<? super V, ? super V, ? class="kw">extends V> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.reducer = var7;
      }

      @Override
      class="kw">public class="kw">final V getRawResult() {
         class="kw">return this.result;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         BiFunction var1 = this.reducer;
         if (this.reducer != null) {
            int var2 = this.baseIndex;

            while (this.batch > 0) {
               int var3 = this.baseLimit;
               int var4;
               if ((var4 = this.baseLimit + var2 >>> 1) <= var2) {
                  break;
               }

               this.addToPendingCount(1);
               (this.rights = new Long2ObjectConcurrentHashMap.ReduceValuesTask<>(
                     this, this.batch >>>= 1, this.baseLimit = var4, var3, this.tab, this.rights, var1
                  ))
                  .fork();
            }

            Object var8 = null;

            Long2ObjectConcurrentHashMap.Node var9;
            while ((var9 = this.advance()) != null) {
               Object var11 = var9.val;
               var8 = var8 == null ? var11 : var1.apply(var8, var11);
            }

            this.result = var8;

            for (CountedCompleter var10 = this.firstComplete(); var10 != null; var10 = var10.nextComplete()) {
               Long2ObjectConcurrentHashMap.ReduceValuesTask var12 = (Long2ObjectConcurrentHashMap.ReduceValuesTask<V>)var10;

               for (Long2ObjectConcurrentHashMap.ReduceValuesTask var5 = var12.rights; var5 != null; var5 = var12.rights = var5.nextRight) {
                  Object var7 = var5.result;
                  if (var5.result != null) {
                     Object var6 = var12.result;
                     var12.result = var12.result == null ? var7 : var1.apply(var6, var7);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ReservationNode<V> class="kw">extends Long2ObjectConcurrentHashMap.Node<V> {
      class="kw">public ReservationNode(long var1) {
         super(var1, -3, var1, null, null);
      }

      @Override
      class="kw">protected Long2ObjectConcurrentHashMap.Node<V> find(int var1, long var2) {
         class="kw">return null;
      }
   }

   class="kw">protected class="kw">static class="kw">final class SearchEntriesTask<V, U> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, U> {
      class="kw">public class="kw">final Function<Long2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends U> searchFunction;
      class="kw">public class="kw">final AtomicReference<U> result;

      class="kw">public SearchEntriesTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Function<Long2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends U> var6,
         AtomicReference<U> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.searchFunction = var6;
         this.result = var7;
      }

      @Override
      class="kw">public class="kw">final U getRawResult() {
         class="kw">return this.result.get();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Function var1 = this.searchFunction;
         if (this.searchFunction != null) {
            AtomicReference var2 = this.result;
            if (this.result != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  if (var2.get() != null) {
                     class="kw">return;
                  }

                  this.addToPendingCount(1);
                  new Long2ObjectConcurrentHashMap.SearchEntriesTask<>(this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, var1, var2).fork();
               }

               while (var2.get() == null) {
                  Long2ObjectConcurrentHashMap.Node var7;
                  if ((var7 = this.advance()) == null) {
                     this.propagateCompletion();
                     break;
                  }

                  Object var6;
                  if ((var6 = (U)var1.apply(var7)) != null) {
                     if (var2.compareAndSet(null, var6)) {
                        this.quietlyCompleteRoot();
                     }

                     class="kw">return;
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class SearchKeysTask<V, U> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, U> {
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap.LongFunction<? class="kw">extends U> searchFunction;
      class="kw">public class="kw">final AtomicReference<U> result;

      class="kw">public SearchKeysTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.LongFunction<? class="kw">extends U> var6,
         AtomicReference<U> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.searchFunction = var6;
         this.result = var7;
      }

      @Override
      class="kw">public class="kw">final U getRawResult() {
         class="kw">return this.result.get();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Long2ObjectConcurrentHashMap.LongFunction var1 = this.searchFunction;
         if (this.searchFunction != null) {
            AtomicReference var2 = this.result;
            if (this.result != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  if (var2.get() != null) {
                     class="kw">return;
                  }

                  this.addToPendingCount(1);
                  new Long2ObjectConcurrentHashMap.SearchKeysTask<>(this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, var1, var2).fork();
               }

               while (var2.get() == null) {
                  Long2ObjectConcurrentHashMap.Node var7;
                  if ((var7 = this.advance()) == null) {
                     this.propagateCompletion();
                     break;
                  }

                  Object var6;
                  if ((var6 = (U)var1.apply(var7.key)) != null) {
                     if (var2.compareAndSet(null, var6)) {
                        this.quietlyCompleteRoot();
                     }
                     break;
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class SearchMappingsTask<V, U> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, U> {
      class="kw">public class="kw">final Long2ObjectConcurrentHashMap.LongObjFunction<? super V, ? class="kw">extends U> searchFunction;
      class="kw">public class="kw">final AtomicReference<U> result;

      class="kw">public SearchMappingsTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Long2ObjectConcurrentHashMap.LongObjFunction<? super V, ? class="kw">extends U> var6,
         AtomicReference<U> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.searchFunction = var6;
         this.result = var7;
      }

      @Override
      class="kw">public class="kw">final U getRawResult() {
         class="kw">return this.result.get();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Long2ObjectConcurrentHashMap.LongObjFunction var1 = this.searchFunction;
         if (this.searchFunction != null) {
            AtomicReference var2 = this.result;
            if (this.result != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  if (var2.get() != null) {
                     class="kw">return;
                  }

                  this.addToPendingCount(1);
                  new Long2ObjectConcurrentHashMap.SearchMappingsTask<>(this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, var1, var2).fork();
               }

               while (var2.get() == null) {
                  Long2ObjectConcurrentHashMap.Node var7;
                  if ((var7 = this.advance()) == null) {
                     this.propagateCompletion();
                     break;
                  }

                  Object var6;
                  if ((var6 = (U)var1.apply(var7.key, var7.val)) != null) {
                     if (var2.compareAndSet(null, var6)) {
                        this.quietlyCompleteRoot();
                     }
                     break;
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class SearchValuesTask<V, U> class="kw">extends Long2ObjectConcurrentHashMap.BulkTask<V, U> {
      class="kw">public class="kw">final Function<? super V, ? class="kw">extends U> searchFunction;
      class="kw">public class="kw">final AtomicReference<U> result;

      class="kw">public SearchValuesTask(
         Long2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Long2ObjectConcurrentHashMap.Node<V>[] var5,
         Function<? super V, ? class="kw">extends U> var6,
         AtomicReference<U> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.searchFunction = var6;
         this.result = var7;
      }

      @Override
      class="kw">public class="kw">final U getRawResult() {
         class="kw">return this.result.get();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Function var1 = this.searchFunction;
         if (this.searchFunction != null) {
            AtomicReference var2 = this.result;
            if (this.result != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  if (var2.get() != null) {
                     class="kw">return;
                  }

                  this.addToPendingCount(1);
                  new Long2ObjectConcurrentHashMap.SearchValuesTask<>(this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, var1, var2).fork();
               }

               while (var2.get() == null) {
                  Long2ObjectConcurrentHashMap.Node var7;
                  if ((var7 = this.advance()) == null) {
                     this.propagateCompletion();
                     break;
                  }

                  Object var6;
                  if ((var6 = (U)var1.apply(var7.val)) != null) {
                     if (var2.compareAndSet(null, var6)) {
                        this.quietlyCompleteRoot();
                     }
                     break;
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class Segment<V> class="kw">extends ReentrantLock class="kw">implements Serializable {
      class="kw">public class="kw">static class="kw">final long serialVersionUID = 2249069246763182397L;
      class="kw">public class="kw">final float loadFactor;

      class="kw">public Segment(float var1) {
         this.loadFactor = var1;
      }
   }

   class="kw">protected class="kw">static class="kw">final class TableStack<V> {
      class="kw">public int length;
      class="kw">public int index;
      class="kw">public Long2ObjectConcurrentHashMap.Node<V>[] tab;
      class="kw">public Long2ObjectConcurrentHashMap.TableStack<V> next;

      class="kw">public TableStack() {
      }
   }

   @FunctionalInterface
   class="kw">public class="kw">interface ToDoubleLongObjFunction<V> {
      double applyAsDouble(long var1, V var3);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface ToIntLongObjFunction<V> {
      int applyAsInt(long var1, V var3);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface ToLongFunction<T> {
      long applyAsLong(T var1);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface ToLongLongObjFunction<V> {
      long applyAsLong(long var1, V var3);
   }

   class="kw">protected class="kw">static class Traverser<V> {
      class="kw">public Long2ObjectConcurrentHashMap.Node<V>[] tab;
      class="kw">public Long2ObjectConcurrentHashMap.Node<V> next;
      class="kw">public Long2ObjectConcurrentHashMap.TableStack<V> stack;
      class="kw">public Long2ObjectConcurrentHashMap.TableStack<V> spare;
      class="kw">public int index;
      class="kw">public int baseIndex;
      class="kw">public int baseLimit;
      class="kw">public class="kw">final int baseSize;

      class="kw">public Traverser(Long2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3, int var4) {
         this.tab = var1;
         this.baseSize = var2;
         this.baseIndex = this.index = var3;
         this.baseLimit = var4;
         this.next = null;
      }

      class="kw">protected class="kw">final Long2ObjectConcurrentHashMap.Node<V> advance() {
         Long2ObjectConcurrentHashMap.Node var1 = this.next;
         if (this.next != null) {
            var1 = var1.next;
         }

         while (true) {
            if (var1 != null) {
               class="kw">return this.next = var1;
            }

            if (this.baseIndex >= this.baseLimit) {
               break;
            }

            Long2ObjectConcurrentHashMap.Node[] var2 = this.tab;
            if (this.tab == null) {
               break;
            }

            int var4;
            int var10000 = var4 = var2.length;
            int var3 = this.index;
            if (var10000 <= this.index || var3 < 0) {
               break;
            }

            if ((var1 = Long2ObjectConcurrentHashMap.tabAt(var2, var3)) != null && var1.hash < 0) {
               if (var1 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                  this.tab = ((Long2ObjectConcurrentHashMap.ForwardingNode)var1).nextTable;
                  var1 = null;
                  this.pushState(var2, var3, var4);
                  class="kw">continue;
               }

               if (var1 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                  var1 = ((Long2ObjectConcurrentHashMap.TreeBin)var1).first;
               } else {
                  var1 = null;
               }
            }

            if (this.stack != null) {
               this.recoverState(var4);
            } else if ((this.index = var3 + this.baseSize) >= var4) {
               this.index = ++this.baseIndex;
            }
         }

         class="kw">return this.next = null;
      }

      class="kw">protected void pushState(Long2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3) {
         Long2ObjectConcurrentHashMap.TableStack var4 = this.spare;
         if (var4 != null) {
            this.spare = var4.next;
         } else {
            var4 = new Long2ObjectConcurrentHashMap.TableStack<>();
         }

         var4.tab = var1;
         var4.length = var3;
         var4.index = var2;
         var4.next = this.stack;
         this.stack = var4;
      }

      class="kw">protected void recoverState(int var1) {
         while (true) {
            Long2ObjectConcurrentHashMap.TableStack var2 = this.stack;
            if (this.stack != null) {
               int var3 = var2.length;
               if ((this.index = this.index + var2.length) >= var1) {
                  var1 = var3;
                  this.index = var2.index;
                  this.tab = var2.tab;
                  var2.tab = null;
                  Long2ObjectConcurrentHashMap.TableStack var4 = var2.next;
                  var2.next = this.spare;
                  this.stack = var4;
                  this.spare = var2;
                  class="kw">continue;
               }
            }

            if (var2 == null && (this.index = this.index + this.baseSize) >= var1) {
               this.index = ++this.baseIndex;
            }

            class="kw">return;
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class TreeBin<V> class="kw">extends Long2ObjectConcurrentHashMap.Node<V> {
      class="kw">public Long2ObjectConcurrentHashMap.TreeNode<V> root;
      class="kw">public class="kw">volatile Long2ObjectConcurrentHashMap.TreeNode<V> first;
      class="kw">public class="kw">volatile Thread waiter;
      class="kw">public class="kw">volatile int lockState;
      class="kw">public class="kw">static class="kw">final int WRITER = 1;
      class="kw">public class="kw">static class="kw">final int WAITER = 2;
      class="kw">public class="kw">static class="kw">final int READER = 4;
      class="kw">protected class="kw">static class="kw">final Unsafe U;
      class="kw">protected class="kw">static class="kw">final long LOCKSTATE;

      class="kw">protected int tieBreakOrder(long var1, long var3) {
         int var5 = Long.compare(var1, var3);
         class="kw">return var5 > 0 ? 1 : -1;
      }

      class="kw">public TreeBin(long var1, Long2ObjectConcurrentHashMap.TreeNode<V> var3) {
         super(var1, -2, var1, null, null);
         this.first = var3;
         Long2ObjectConcurrentHashMap.TreeNode var4 = null;
         Long2ObjectConcurrentHashMap.TreeNode var5 = var3;

         while (var5 != null) {
            Long2ObjectConcurrentHashMap.TreeNode var6 = (Long2ObjectConcurrentHashMap.TreeNode<V>)var5.next;
            var5.left = var5.right = null;
            if (var4 == null) {
               var5.parent = null;
               var5.red = false;
               var4 = var5;
            } else {
               long var7 = var5.key;
               int var9 = var5.hash;
               Class var10 = null;
               Long2ObjectConcurrentHashMap.TreeNode var11 = var4;

               int var12;
               Long2ObjectConcurrentHashMap.TreeNode var16;
               do {
                  long var14 = var11.key;
                  int var13 = var11.hash;
                  if (var11.hash > var9) {
                     var12 = -1;
                  } else if (var13 < var9) {
                     var12 = 1;
                  } else if ((var12 = Long.compare(var7, var14)) == 0) {
                     var12 = this.tieBreakOrder(var7, var14);
                  }

                  var16 = var11;
               } while ((var11 = var12 <= 0 ? var11.left : var11.right) != null);

               var5.parent = var16;
               if (var12 <= 0) {
                  var16.left = var5;
               } else {
                  var16.right = var5;
               }

               var4 = this.balanceInsertion(var4, var5);
            }

            var5 = var6;
         }

         this.root = var4;
         assert this.checkInvariants(this.root);
      }

      class="kw">protected class="kw">final void lockRoot() {
         if (!U.compareAndSwapInt(this, LOCKSTATE, 0, 1)) {
            this.contendedLock();
         }
      }

      class="kw">protected class="kw">final void unlockRoot() {
         this.lockState = 0;
      }

      class="kw">protected class="kw">final void contendedLock() {
         boolean var1 = false;

         while (true) {
            int var2 = this.lockState;
            if ((this.lockState & -3) == 0) {
               if (U.compareAndSwapInt(this, LOCKSTATE, var2, 1)) {
                  if (var1) {
                     this.waiter = null;
                  }

                  class="kw">return;
               }
            } else if ((var2 & 2) == 0) {
               if (U.compareAndSwapInt(this, LOCKSTATE, var2, var2 | 2)) {
                  var1 = true;
                  this.waiter = Thread.currentThread();
               }
            } else if (var1) {
               LockSupport.park(this);
            }
         }
      }

      @Override
      class="kw">protected class="kw">final Long2ObjectConcurrentHashMap.Node<V> find(int var1, long var2) {
         if (var2 != this.EMPTY) {
            Long2ObjectConcurrentHashMap.Node var4 = this.first;

            while (var4 != null) {
               int var5 = this.lockState;
               if ((this.lockState & 3) != 0) {
                  if (var4.hash == var1) {
                     long var6 = var4.key;
                     if (var4.key == var2 || var6 != this.EMPTY && var2 == var6) {
                        class="kw">return var4;
                     }
                  }

                  var4 = var4.next;
               } else if (U.compareAndSwapInt(this, LOCKSTATE, var5, var5 + 4)) {
                  Long2ObjectConcurrentHashMap.TreeNode var9;
                  try {
                     Long2ObjectConcurrentHashMap.TreeNode var8 = this.root;
                     var9 = this.root == null ? null : var8.findTreeNode(var1, var2, null);
                  } class="kw">finally {
                     if (U.getAndAddInt(this, LOCKSTATE, -4) == 6) {
                        Thread var12 = this.waiter;
                        if (this.waiter != null) {
                           LockSupport.unpark(var12);
                        }
                     }
                  }

                  class="kw">return var9;
               }
            }
         }

         class="kw">return null;
      }

      class="kw">protected class="kw">final Long2ObjectConcurrentHashMap.TreeNode<V> putTreeVal(int var1, long var2, V var4) {
         Class var5 = null;
         boolean var6 = false;
         Long2ObjectConcurrentHashMap.TreeNode var7 = this.root;

         while (true) {
            if (var7 == null) {
               this.first = this.root = new Long2ObjectConcurrentHashMap.TreeNode<>(this.EMPTY, var1, var2, var4, null, null);
            } else {
               int var9 = var7.hash;
               int var8;
               if (var7.hash > var1) {
                  var8 = -1;
               } else if (var9 < var1) {
                  var8 = 1;
               } else {
                  long var10 = var7.key;
                  if (var7.key == var2 || var10 != this.EMPTY && var2 == var10) {
                     class="kw">return var7;
                  }

                  if ((var8 = Long.compare(var2, var10)) == 0) {
                     if (!var6) {
                        var6 = true;
                        Long2ObjectConcurrentHashMap.TreeNode var13 = var7.left;
                        Long2ObjectConcurrentHashMap.TreeNode var12;
                        if (var7.left != null && (var12 = var13.findTreeNode(var1, var2, var5)) != null) {
                           class="kw">return var12;
                        }

                        var13 = var7.right;
                        if (var7.right != null && (var12 = var13.findTreeNode(var1, var2, var5)) != null) {
                           class="kw">return var12;
                        }
                     }

                     var8 = this.tieBreakOrder(var2, var10);
                  }
               }

               Long2ObjectConcurrentHashMap.TreeNode var18 = var7;
               if ((var7 = var8 <= 0 ? var7.left : var7.right) != null) {
                  class="kw">continue;
               }

               Long2ObjectConcurrentHashMap.TreeNode var14 = this.first;
               Long2ObjectConcurrentHashMap.TreeNode var20;
               this.first = var20 = new Long2ObjectConcurrentHashMap.TreeNode<>(this.EMPTY, var1, var2, var4, var14, var18);
               if (var14 != null) {
                  var14.prev = var20;
               }

               if (var8 <= 0) {
                  var18.left = var20;
               } else {
                  var18.right = var20;
               }

               if (!var18.red) {
                  var20.red = true;
               } else {
                  this.lockRoot();

                  try {
                     this.root = this.balanceInsertion(this.root, var20);
                  } class="kw">finally {
                     this.unlockRoot();
                  }
               }
            }

            assert this.checkInvariants(this.root);
            class="kw">return null;
         }
      }

      class="kw">protected class="kw">final boolean removeTreeNode(Long2ObjectConcurrentHashMap.TreeNode<V> var1) {
         Long2ObjectConcurrentHashMap.TreeNode var2 = (Long2ObjectConcurrentHashMap.TreeNode<V>)var1.next;
         Long2ObjectConcurrentHashMap.TreeNode var3 = var1.prev;
         if (var3 == null) {
            this.first = var2;
         } else {
            var3.next = var2;
         }

         if (var2 != null) {
            var2.prev = var3;
         }

         if (this.first == null) {
            this.root = null;
            class="kw">return true;
         }

         Long2ObjectConcurrentHashMap.TreeNode var4 = this.root;
         if (this.root != null && var4.right != null) {
            Long2ObjectConcurrentHashMap.TreeNode var5 = var4.left;
            if (var4.left != null && var5.left != null) {
               this.lockRoot();

               try {
                  Long2ObjectConcurrentHashMap.TreeNode var7 = var1.left;
                  Long2ObjectConcurrentHashMap.TreeNode var8 = var1.right;
                  Long2ObjectConcurrentHashMap.TreeNode var6;
                  if (var7 != null && var8 != null) {
                     Long2ObjectConcurrentHashMap.TreeNode var9 = var8;

                     while (true) {
                        Long2ObjectConcurrentHashMap.TreeNode var10 = var9.left;
                        if (var9.left == null) {
                           boolean var11 = var9.red;
                           var9.red = var1.red;
                           var1.red = var11;
                           Long2ObjectConcurrentHashMap.TreeNode var12 = var9.right;
                           Long2ObjectConcurrentHashMap.TreeNode var13 = var1.parent;
                           if (var9 == var8) {
                              var1.parent = var9;
                              var9.right = var1;
                           } else {
                              Long2ObjectConcurrentHashMap.TreeNode var14 = var9.parent;
                              if ((var1.parent = var14) != null) {
                                 if (var9 == var14.left) {
                                    var14.left = var1;
                                 } else {
                                    var14.right = var1;
                                 }
                              }

                              if ((var9.right = var8) != null) {
                                 var8.parent = var9;
                              }
                           }

                           var1.left = null;
                           if ((var1.right = var12) != null) {
                              var12.parent = var1;
                           }

                           if ((var9.left = var7) != null) {
                              var7.parent = var9;
                           }

                           if ((var9.parent = var13) == null) {
                              var4 = var9;
                           } else if (var1 == var13.left) {
                              var13.left = var9;
                           } else {
                              var13.right = var9;
                           }

                           if (var12 != null) {
                              var6 = var12;
                           } else {
                              var6 = var1;
                           }
                           break;
                        }

                        var9 = var10;
                     }
                  } else if (var7 != null) {
                     var6 = var7;
                  } else if (var8 != null) {
                     var6 = var8;
                  } else {
                     var6 = var1;
                  }

                  if (var6 != var1) {
                     Long2ObjectConcurrentHashMap.TreeNode var18 = var6.parent = var1.parent;
                     if (var18 == null) {
                        var4 = var6;
                     } else if (var1 == var18.left) {
                        var18.left = var6;
                     } else {
                        var18.right = var6;
                     }

                     var1.left = var1.right = var1.parent = null;
                  }

                  this.root = var1.red ? var4 : this.balanceDeletion(var4, var6);
                  if (var1 == var6) {
                     Long2ObjectConcurrentHashMap.TreeNode var19 = var1.parent;
                     if (var1.parent != null) {
                        if (var1 == var19.left) {
                           var19.left = null;
                        } else if (var1 == var19.right) {
                           var19.right = null;
                        }

                        var1.parent = null;
                     }
                  }
               } class="kw">finally {
                  this.unlockRoot();
               }

               assert this.checkInvariants(this.root);
               class="kw">return false;
            }
         }

         class="kw">return true;
      }

      class="kw">protected <V> Long2ObjectConcurrentHashMap.TreeNode<V> rotateLeft(
         Long2ObjectConcurrentHashMap.TreeNode<V> var1, Long2ObjectConcurrentHashMap.TreeNode<V> var2
      ) {
         if (var2 != null) {
            Long2ObjectConcurrentHashMap.TreeNode var3 = var2.right;
            if (var2.right != null) {
               Long2ObjectConcurrentHashMap.TreeNode var5;
               if ((var5 = var2.right = var3.left) != null) {
                  var5.parent = var2;
               }

               Long2ObjectConcurrentHashMap.TreeNode var4;
               if ((var4 = var3.parent = var2.parent) == null) {
                  var1 = var3;
                  var3.red = false;
               } else if (var4.left == var2) {
                  var4.left = var3;
               } else {
                  var4.right = var3;
               }

               var3.left = var2;
               var2.parent = var3;
            }
         }

         class="kw">return var1;
      }

      class="kw">protected <V> Long2ObjectConcurrentHashMap.TreeNode<V> rotateRight(
         Long2ObjectConcurrentHashMap.TreeNode<V> var1, Long2ObjectConcurrentHashMap.TreeNode<V> var2
      ) {
         if (var2 != null) {
            Long2ObjectConcurrentHashMap.TreeNode var3 = var2.left;
            if (var2.left != null) {
               Long2ObjectConcurrentHashMap.TreeNode var5;
               if ((var5 = var2.left = var3.right) != null) {
                  var5.parent = var2;
               }

               Long2ObjectConcurrentHashMap.TreeNode var4;
               if ((var4 = var3.parent = var2.parent) == null) {
                  var1 = var3;
                  var3.red = false;
               } else if (var4.right == var2) {
                  var4.right = var3;
               } else {
                  var4.left = var3;
               }

               var3.right = var2;
               var2.parent = var3;
            }
         }

         class="kw">return var1;
      }

      class="kw">protected <V> Long2ObjectConcurrentHashMap.TreeNode<V> balanceInsertion(
         Long2ObjectConcurrentHashMap.TreeNode<V> var1, Long2ObjectConcurrentHashMap.TreeNode<V> var2
      ) {
         var2.red = true;

         while (true) {
            Long2ObjectConcurrentHashMap.TreeNode var3 = var2.parent;
            if (var2.parent == null) {
               var2.red = false;
               class="kw">return var2;
            }

            if (!var3.red) {
               break;
            }

            Long2ObjectConcurrentHashMap.TreeNode var4 = var3.parent;
            if (var3.parent == null) {
               break;
            }

            Long2ObjectConcurrentHashMap.TreeNode var5 = var4.left;
            if (var3 == var4.left) {
               Long2ObjectConcurrentHashMap.TreeNode var6 = var4.right;
               if (var4.right != null && var6.red) {
                  var6.red = false;
                  var3.red = false;
                  var4.red = true;
                  var2 = var4;
               } else {
                  if (var2 == var3.right) {
                     var2 = var3;
                     var1 = this.rotateLeft(var1, var3);
                     var3 = var2.parent;
                     var4 = var2.parent == null ? null : var3.parent;
                  }

                  if (var3 != null) {
                     var3.red = false;
                     if (var4 != null) {
                        var4.red = true;
                        var1 = this.rotateRight(var1, var4);
                     }
                  }
               }
            } else if (var5 != null && var5.red) {
               var5.red = false;
               var3.red = false;
               var4.red = true;
               var2 = var4;
            } else {
               if (var2 == var3.left) {
                  var2 = var3;
                  var1 = this.rotateRight(var1, var3);
                  var3 = var2.parent;
                  var4 = var2.parent == null ? null : var3.parent;
               }

               if (var3 != null) {
                  var3.red = false;
                  if (var4 != null) {
                     var4.red = true;
                     var1 = this.rotateLeft(var1, var4);
                  }
               }
            }
         }

         class="kw">return var1;
      }

      class="kw">protected <V> Long2ObjectConcurrentHashMap.TreeNode<V> balanceDeletion(
         Long2ObjectConcurrentHashMap.TreeNode<V> var1, Long2ObjectConcurrentHashMap.TreeNode<V> var2
      ) {
         while (var2 != null && var2 != var1) {
            Long2ObjectConcurrentHashMap.TreeNode var3 = var2.parent;
            if (var2.parent == null) {
               var2.red = false;
               class="kw">return var2;
            }

            if (var2.red) {
               var2.red = false;
               class="kw">return var1;
            }

            Long2ObjectConcurrentHashMap.TreeNode var4 = var3.left;
            if (var3.left == var2) {
               Long2ObjectConcurrentHashMap.TreeNode var5 = var3.right;
               if (var3.right != null && var5.red) {
                  var5.red = false;
                  var3.red = true;
                  var1 = this.rotateLeft(var1, var3);
                  var3 = var2.parent;
                  var5 = var2.parent == null ? null : var3.right;
               }

               if (var5 == null) {
                  var2 = var3;
               } else {
                  Long2ObjectConcurrentHashMap.TreeNode var9 = var5.left;
                  Long2ObjectConcurrentHashMap.TreeNode var10 = var5.right;
                  if (var10 != null && var10.red || var9 != null && var9.red) {
                     if (var10 == null || !var10.red) {
                        if (var9 != null) {
                           var9.red = false;
                        }

                        var5.red = true;
                        var1 = this.rotateRight(var1, var5);
                        var3 = var2.parent;
                        var5 = var2.parent == null ? null : var3.right;
                     }

                     if (var5 != null) {
                        var5.red = var3 == null ? false : var3.red;
                        var10 = var5.right;
                        if (var5.right != null) {
                           var10.red = false;
                        }
                     }

                     if (var3 != null) {
                        var3.red = false;
                        var1 = this.rotateLeft(var1, var3);
                     }

                     var2 = var1;
                  } else {
                     var5.red = true;
                     var2 = var3;
                  }
               }
            } else {
               if (var4 != null && var4.red) {
                  var4.red = false;
                  var3.red = true;
                  var1 = this.rotateRight(var1, var3);
                  var3 = var2.parent;
                  var4 = var2.parent == null ? null : var3.left;
               }

               if (var4 == null) {
                  var2 = var3;
               } else {
                  Long2ObjectConcurrentHashMap.TreeNode var6 = var4.left;
                  Long2ObjectConcurrentHashMap.TreeNode var7 = var4.right;
                  if (var6 != null && var6.red || var7 != null && var7.red) {
                     if (var6 == null || !var6.red) {
                        if (var7 != null) {
                           var7.red = false;
                        }

                        var4.red = true;
                        var1 = this.rotateLeft(var1, var4);
                        var3 = var2.parent;
                        var4 = var2.parent == null ? null : var3.left;
                     }

                     if (var4 != null) {
                        var4.red = var3 == null ? false : var3.red;
                        var6 = var4.left;
                        if (var4.left != null) {
                           var6.red = false;
                        }
                     }

                     if (var3 != null) {
                        var3.red = false;
                        var1 = this.rotateRight(var1, var3);
                     }

                     var2 = var1;
                  } else {
                     var4.red = true;
                     var2 = var3;
                  }
               }
            }
         }

         class="kw">return var1;
      }

      class="kw">protected <V> boolean checkInvariants(Long2ObjectConcurrentHashMap.TreeNode<V> var1) {
         Long2ObjectConcurrentHashMap.TreeNode var2 = var1.parent;
         Long2ObjectConcurrentHashMap.TreeNode var3 = var1.left;
         Long2ObjectConcurrentHashMap.TreeNode var4 = var1.right;
         Long2ObjectConcurrentHashMap.TreeNode var5 = var1.prev;
         Long2ObjectConcurrentHashMap.TreeNode var6 = (Long2ObjectConcurrentHashMap.TreeNode<V>)var1.next;
         if (var5 != null && var5.next != var1) {
            class="kw">return false;
         }

         if (var6 != null && var6.prev != var1) {
            class="kw">return false;
         }

         if (var2 != null && var1 != var2.left && var1 != var2.right) {
            class="kw">return false;
         }

         if (var3 == null || var3.parent == var1 && var3.hash <= var1.hash) {
            if (var4 == null || var4.parent == var1 && var4.hash >= var1.hash) {
               if (var1.red && var3 != null && var3.red && var4 != null && var4.red) {
                  class="kw">return false;
               } else {
                  class="kw">return var3 != null && !this.checkInvariants(var3) ? false : var4 == null || this.checkInvariants(var4);
               }
            } else {
               class="kw">return false;
            }
         } else {
            class="kw">return false;
         }
      }

      class="kw">static {
         try {
            Field var0 = Unsafe.class.getDeclaredField("theUnsafe");
            var0.setAccessible(true);
            U = (Unsafe)var0.get(null);
            Class var1 = Long2ObjectConcurrentHashMap.TreeBin.class;
            LOCKSTATE = U.objectFieldOffset(var1.getDeclaredField("lockState"));
         } catch (Exception var2) {
            throw new Error(var2);
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class TreeNode<V> class="kw">extends Long2ObjectConcurrentHashMap.Node<V> {
      class="kw">public Long2ObjectConcurrentHashMap.TreeNode<V> parent;
      class="kw">public Long2ObjectConcurrentHashMap.TreeNode<V> left;
      class="kw">public Long2ObjectConcurrentHashMap.TreeNode<V> right;
      class="kw">public Long2ObjectConcurrentHashMap.TreeNode<V> prev;
      class="kw">public boolean red;

      class="kw">public TreeNode(long var1, int var3, long var4, V var6, Long2ObjectConcurrentHashMap.Node<V> var7, Long2ObjectConcurrentHashMap.TreeNode<V> var8) {
         super(var1, var3, var4, var6, var7);
         this.parent = var8;
      }

      @Override
      class="kw">protected Long2ObjectConcurrentHashMap.Node<V> find(int var1, long var2) {
         class="kw">return this.findTreeNode(var1, var2, null);
      }

      class="kw">protected class="kw">final Long2ObjectConcurrentHashMap.TreeNode<V> findTreeNode(int var1, long var2, Class<?> var4) {
         if (var2 != this.EMPTY) {
            Long2ObjectConcurrentHashMap.TreeNode var5 = this;

            do {
               Long2ObjectConcurrentHashMap.TreeNode var11 = var5.left;
               Long2ObjectConcurrentHashMap.TreeNode var12 = var5.right;
               int var6 = var5.hash;
               if (var5.hash > var1) {
                  var5 = var11;
               } else if (var6 < var1) {
                  var5 = var12;
               } else {
                  long var8 = var5.key;
                  if (var5.key == var2 || var8 != this.EMPTY && var2 == var8) {
                     class="kw">return var5;
                  }

                  if (var11 == null) {
                     var5 = var12;
                  } else if (var12 == null) {
                     var5 = var11;
                  } else {
                     int var7;
                     if ((var7 = Long.compare(var2, var8)) != 0) {
                        var5 = var7 < 0 ? var11 : var12;
                     } else {
                        Long2ObjectConcurrentHashMap.TreeNode var10;
                        if ((var10 = var12.findTreeNode(var1, var2, var4)) != null) {
                           class="kw">return var10;
                        }

                        var5 = var11;
                     }
                  }
               }
            } while (var5 != null);
         }

         class="kw">return null;
      }
   }

   class="kw">protected class="kw">static class="kw">final class ValueIterator<V> class="kw">extends Long2ObjectConcurrentHashMap.BaseIterator<V> class="kw">implements ObjectIterator<V>, Enumeration<V> {
      class="kw">public ValueIterator(Long2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3, int var4, Long2ObjectConcurrentHashMap<V> var5) {
         super(var1, var2, var3, var4, var5);
      }

      class="kw">public class="kw">final V next() {
         Long2ObjectConcurrentHashMap.Node var1 = this.next;
         if (this.next == null) {
            throw new NoSuchElementException();
         }

         Object var2 = var1.val;
         this.lastReturned = var1;
         this.advance();
         class="kw">return var2;
      }

      @Override
      class="kw">public class="kw">final V nextElement() {
         class="kw">return this.next();
      }
   }

   class="kw">protected class="kw">static class="kw">final class ValueSpliterator<V> class="kw">extends Long2ObjectConcurrentHashMap.Traverser<V> class="kw">implements ObjectSpliterator<V> {
      class="kw">public long est;

      class="kw">public ValueSpliterator(Long2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3, int var4, long var5) {
         super(var1, var2, var3, var4);
         this.est = var5;
      }

      class="kw">public ObjectSpliterator<V> trySplit() {
         int var1 = this.baseIndex;
         int var2 = this.baseLimit;
         int var3;
         class="kw">return (var3 = this.baseIndex + this.baseLimit >>> 1) <= var1
            ? null
            : new Long2ObjectConcurrentHashMap.ValueSpliterator<>(this.tab, this.baseSize, this.baseLimit = var3, var2, this.est >>>= 1);
      }

      class="kw">public void forEachRemaining(Consumer<? super V> var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Long2ObjectConcurrentHashMap.Node var2;
         while ((var2 = this.advance()) != null) {
            var1.accept(var2.val);
         }
      }

      class="kw">public boolean tryAdvance(Consumer<? super V> var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Long2ObjectConcurrentHashMap.Node var2;
         if ((var2 = this.advance()) == null) {
            class="kw">return false;
         }

         var1.accept(var2.val);
         class="kw">return true;
      }

      class="kw">public long estimateSize() {
         class="kw">return this.est;
      }

      class="kw">public int characteristics() {
         class="kw">return 4352;
      }
   }

   class="kw">protected class="kw">static class="kw">final class ValuesView<V> class="kw">extends Long2ObjectConcurrentHashMap.CollectionView<V, V> class="kw">implements FastCollection<V>, Serializable {
      class="kw">public class="kw">static class="kw">final long serialVersionUID = 2249069246763182397L;

      class="kw">public ValuesView(Long2ObjectConcurrentHashMap<V> var1) {
         super(var1);
      }

      @Override
      class="kw">public class="kw">final boolean contains(Object var1) {
         class="kw">return this.map.containsValue(var1);
      }

      @Override
      class="kw">public class="kw">final boolean remove(Object var1) {
         if (var1 != null) {
            Iterator var2 = this.iterator();

            while (var2.hasNext()) {
               if (var1.equals(var2.next())) {
                  var2.remove();
                  class="kw">return true;
               }
            }
         }

         class="kw">return false;
      }

      @Override
      class="kw">public class="kw">final ObjectIterator<V> iterator() {
         Long2ObjectConcurrentHashMap var1 = this.map;
         Long2ObjectConcurrentHashMap.Node[] var2 = var1.table;
         int var3 = var1.table == null ? 0 : var2.length;
         class="kw">return new Long2ObjectConcurrentHashMap.ValueIterator<>(var2, var3, 0, var3, var1);
      }

      @Override
      class="kw">public class="kw">final boolean add(V var1) {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final boolean addAll(Collection<? class="kw">extends V> var1) {
         throw new UnsupportedOperationException();
      }

      class="kw">public ObjectSpliterator<V> spliterator() {
         Long2ObjectConcurrentHashMap var2 = this.map;
         long var3 = var2.sumCount();
         Long2ObjectConcurrentHashMap.Node[] var1 = var2.table;
         int var5 = var2.table == null ? 0 : var1.length;
         class="kw">return new Long2ObjectConcurrentHashMap.ValueSpliterator<>(var1, var5, 0, var5, var3 < 0L ? 0L : var3);
      }

      @Override
      class="kw">public void forEach(Consumer<? super V> var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Long2ObjectConcurrentHashMap.Node[] var2 = this.map.table;
         if (this.map.table != null) {
            Long2ObjectConcurrentHashMap.Node[] var3 = var2;
            Long2ObjectConcurrentHashMap.Node var4 = null;
            Long2ObjectConcurrentHashMap.TableStack var5 = null;
            Long2ObjectConcurrentHashMap.TableStack var6 = null;
            int var7 = 0;
            int var8 = 0;
            int var9 = var2.length;
            int var10 = var2.length;

            while (true) {
               Long2ObjectConcurrentHashMap.Node var11 = null;
               var11 = var4;
               if (var4 != null) {
                  var11 = var11.next;
               }

               label78: {
                  while (true) {
                     if (var11 != null) {
                        var4 = var11;
                        break label78;
                     }

                     if (var8 >= var9) {
                        break;
                     }

                     Long2ObjectConcurrentHashMap.Node[] var12 = var3;
                     if (var3 == null) {
                        break;
                     }

                     int var14;
                     int var10000 = var14 = var12.length;
                     int var13 = var7;
                     if (var10000 <= var7 || var13 < 0) {
                        break;
                     }

                     if ((var11 = Long2ObjectConcurrentHashMap.tabAt(var12, var13)) != null && var11.hash < 0) {
                        if (var11 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                           var3 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var11).nextTable;
                           var11 = null;
                           Long2ObjectConcurrentHashMap.TableStack var19 = var6;
                           if (var19 != null) {
                              var6 = var19.next;
                           } else {
                              var19 = new Long2ObjectConcurrentHashMap.TableStack<>();
                           }

                           var19.tab = var12;
                           var19.length = var14;
                           var19.index = var13;
                           var19.next = var5;
                           var5 = var19;
                           class="kw">continue;
                        }

                        if (var11 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                           var11 = ((Long2ObjectConcurrentHashMap.TreeBin)var11).first;
                        } else {
                           var11 = null;
                        }
                     }

                     if (var5 == null) {
                        if ((var7 = var13 + var10) >= var14) {
                           var7 = ++var8;
                        }
                     } else {
                        while (true) {
                           Long2ObjectConcurrentHashMap.TableStack var15 = var5;
                           if (var5 != null) {
                              int var16 = var15.length;
                              if ((var7 += var15.length) >= var14) {
                                 var14 = var16;
                                 var7 = var15.index;
                                 var3 = var15.tab;
                                 var15.tab = null;
                                 Long2ObjectConcurrentHashMap.TableStack var17 = var15.next;
                                 var15.next = var6;
                                 var5 = var17;
                                 var6 = var15;
                                 class="kw">continue;
                              }
                           }

                           if (var15 == null && (var7 += var10) >= var14) {
                              var7 = ++var8;
                           }
                           break;
                        }
                     }
                  }

                  var4 = null;
               }

               if (var11 == null) {
                  break;
               }

               var1.accept(var11.val);
            }
         }
      }

      @Override
      class="kw">public <A, B, C, D> void forEach(
         FastCollection.FastConsumerD9<? super V, A, B, C, D> var1,
         A var2,
         double var3,
         double var5,
         double var7,
         double var9,
         double var11,
         double var13,
         double var15,
         double var17,
         double var19,
         B var21,
         C var22,
         D var23
      ) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Long2ObjectConcurrentHashMap.Node[] var24 = this.map.table;
         if (this.map.table != null) {
            Long2ObjectConcurrentHashMap.Node[] var25 = var24;
            Long2ObjectConcurrentHashMap.Node var26 = null;
            Long2ObjectConcurrentHashMap.TableStack var27 = null;
            Long2ObjectConcurrentHashMap.TableStack var28 = null;
            int var29 = 0;
            int var30 = 0;
            int var31 = var24.length;
            int var32 = var24.length;

            while (true) {
               Long2ObjectConcurrentHashMap.Node var33 = null;
               var33 = var26;
               if (var26 != null) {
                  var33 = var33.next;
               }

               label78: {
                  while (true) {
                     if (var33 != null) {
                        var26 = var33;
                        break label78;
                     }

                     if (var30 >= var31) {
                        break;
                     }

                     Long2ObjectConcurrentHashMap.Node[] var34 = var25;
                     if (var25 == null) {
                        break;
                     }

                     int var36;
                     int var10000 = var36 = var34.length;
                     int var35 = var29;
                     if (var10000 <= var29 || var35 < 0) {
                        break;
                     }

                     if ((var33 = Long2ObjectConcurrentHashMap.tabAt(var34, var35)) != null && var33.hash < 0) {
                        if (var33 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                           var25 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var33).nextTable;
                           var33 = null;
                           Long2ObjectConcurrentHashMap.TableStack var41 = var28;
                           if (var41 != null) {
                              var28 = var41.next;
                           } else {
                              var41 = new Long2ObjectConcurrentHashMap.TableStack<>();
                           }

                           var41.tab = var34;
                           var41.length = var36;
                           var41.index = var35;
                           var41.next = var27;
                           var27 = var41;
                           class="kw">continue;
                        }

                        if (var33 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                           var33 = ((Long2ObjectConcurrentHashMap.TreeBin)var33).first;
                        } else {
                           var33 = null;
                        }
                     }

                     if (var27 == null) {
                        if ((var29 = var35 + var32) >= var36) {
                           var29 = ++var30;
                        }
                     } else {
                        while (true) {
                           Long2ObjectConcurrentHashMap.TableStack var37 = var27;
                           if (var27 != null) {
                              int var38 = var37.length;
                              if ((var29 += var37.length) >= var36) {
                                 var36 = var38;
                                 var29 = var37.index;
                                 var25 = var37.tab;
                                 var37.tab = null;
                                 Long2ObjectConcurrentHashMap.TableStack var39 = var37.next;
                                 var37.next = var28;
                                 var27 = var39;
                                 var28 = var37;
                                 class="kw">continue;
                              }
                           }

                           if (var37 == null && (var29 += var32) >= var36) {
                              var29 = ++var30;
                           }
                           break;
                        }
                     }
                  }

                  var26 = null;
               }

               if (var33 == null) {
                  break;
               }

               var1.accept(var33.val, var2, var3, var5, var7, var9, var11, var13, var15, var17, var19, var21, var22, var23);
            }
         }
      }

      @Override
      class="kw">public <A, B, C, D> void forEach(
         FastCollection.FastConsumerD6<? super V, A, B, C, D> var1,
         A var2,
         double var3,
         double var5,
         double var7,
         double var9,
         double var11,
         double var13,
         B var15,
         C var16,
         D var17
      ) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Long2ObjectConcurrentHashMap.Node[] var18 = this.map.table;
         if (this.map.table != null) {
            Long2ObjectConcurrentHashMap.Node[] var19 = var18;
            Long2ObjectConcurrentHashMap.Node var20 = null;
            Long2ObjectConcurrentHashMap.TableStack var21 = null;
            Long2ObjectConcurrentHashMap.TableStack var22 = null;
            int var23 = 0;
            int var24 = 0;
            int var25 = var18.length;
            int var26 = var18.length;

            while (true) {
               Long2ObjectConcurrentHashMap.Node var27 = null;
               var27 = var20;
               if (var20 != null) {
                  var27 = var27.next;
               }

               label78: {
                  while (true) {
                     if (var27 != null) {
                        var20 = var27;
                        break label78;
                     }

                     if (var24 >= var25) {
                        break;
                     }

                     Long2ObjectConcurrentHashMap.Node[] var28 = var19;
                     if (var19 == null) {
                        break;
                     }

                     int var30;
                     int var10000 = var30 = var28.length;
                     int var29 = var23;
                     if (var10000 <= var23 || var29 < 0) {
                        break;
                     }

                     if ((var27 = Long2ObjectConcurrentHashMap.tabAt(var28, var29)) != null && var27.hash < 0) {
                        if (var27 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                           var19 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var27).nextTable;
                           var27 = null;
                           Long2ObjectConcurrentHashMap.TableStack var35 = var22;
                           if (var35 != null) {
                              var22 = var35.next;
                           } else {
                              var35 = new Long2ObjectConcurrentHashMap.TableStack<>();
                           }

                           var35.tab = var28;
                           var35.length = var30;
                           var35.index = var29;
                           var35.next = var21;
                           var21 = var35;
                           class="kw">continue;
                        }

                        if (var27 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                           var27 = ((Long2ObjectConcurrentHashMap.TreeBin)var27).first;
                        } else {
                           var27 = null;
                        }
                     }

                     if (var21 == null) {
                        if ((var23 = var29 + var26) >= var30) {
                           var23 = ++var24;
                        }
                     } else {
                        while (true) {
                           Long2ObjectConcurrentHashMap.TableStack var31 = var21;
                           if (var21 != null) {
                              int var32 = var31.length;
                              if ((var23 += var31.length) >= var30) {
                                 var30 = var32;
                                 var23 = var31.index;
                                 var19 = var31.tab;
                                 var31.tab = null;
                                 Long2ObjectConcurrentHashMap.TableStack var33 = var31.next;
                                 var31.next = var22;
                                 var21 = var33;
                                 var22 = var31;
                                 class="kw">continue;
                              }
                           }

                           if (var31 == null && (var23 += var26) >= var30) {
                              var23 = ++var24;
                           }
                           break;
                        }
                     }
                  }

                  var20 = null;
               }

               if (var27 == null) {
                  break;
               }

               var1.accept(var27.val, var2, var3, var5, var7, var9, var11, var13, var15, var16, var17);
            }
         }
      }

      @Override
      class="kw">public void forEachWithFloat(FastCollection.FastConsumerF<? super V> var1, float var2) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Long2ObjectConcurrentHashMap.Node[] var3 = this.map.table;
         if (this.map.table != null) {
            Long2ObjectConcurrentHashMap.Node[] var4 = var3;
            Long2ObjectConcurrentHashMap.Node var5 = null;
            Long2ObjectConcurrentHashMap.TableStack var6 = null;
            Long2ObjectConcurrentHashMap.TableStack var7 = null;
            int var8 = 0;
            int var9 = 0;
            int var10 = var3.length;
            int var11 = var3.length;

            while (true) {
               Long2ObjectConcurrentHashMap.Node var12 = null;
               var12 = var5;
               if (var5 != null) {
                  var12 = var12.next;
               }

               label78: {
                  while (true) {
                     if (var12 != null) {
                        var5 = var12;
                        break label78;
                     }

                     if (var9 >= var10) {
                        break;
                     }

                     Long2ObjectConcurrentHashMap.Node[] var13 = var4;
                     if (var4 == null) {
                        break;
                     }

                     int var15;
                     int var10000 = var15 = var13.length;
                     int var14 = var8;
                     if (var10000 <= var8 || var14 < 0) {
                        break;
                     }

                     if ((var12 = Long2ObjectConcurrentHashMap.tabAt(var13, var14)) != null && var12.hash < 0) {
                        if (var12 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                           var4 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var12).nextTable;
                           var12 = null;
                           Long2ObjectConcurrentHashMap.TableStack var20 = var7;
                           if (var20 != null) {
                              var7 = var20.next;
                           } else {
                              var20 = new Long2ObjectConcurrentHashMap.TableStack<>();
                           }

                           var20.tab = var13;
                           var20.length = var15;
                           var20.index = var14;
                           var20.next = var6;
                           var6 = var20;
                           class="kw">continue;
                        }

                        if (var12 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                           var12 = ((Long2ObjectConcurrentHashMap.TreeBin)var12).first;
                        } else {
                           var12 = null;
                        }
                     }

                     if (var6 == null) {
                        if ((var8 = var14 + var11) >= var15) {
                           var8 = ++var9;
                        }
                     } else {
                        while (true) {
                           Long2ObjectConcurrentHashMap.TableStack var16 = var6;
                           if (var6 != null) {
                              int var17 = var16.length;
                              if ((var8 += var16.length) >= var15) {
                                 var15 = var17;
                                 var8 = var16.index;
                                 var4 = var16.tab;
                                 var16.tab = null;
                                 Long2ObjectConcurrentHashMap.TableStack var18 = var16.next;
                                 var16.next = var7;
                                 var6 = var18;
                                 var7 = var16;
                                 class="kw">continue;
                              }
                           }

                           if (var16 == null && (var8 += var11) >= var15) {
                              var8 = ++var9;
                           }
                           break;
                        }
                     }
                  }

                  var5 = null;
               }

               if (var12 == null) {
                  break;
               }

               var1.accept(var12.val, var2);
            }
         }
      }

      @Override
      class="kw">public void forEachWithInt(FastCollection.FastConsumerI<? super V> var1, int var2) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Long2ObjectConcurrentHashMap.Node[] var3 = this.map.table;
         if (this.map.table != null) {
            Long2ObjectConcurrentHashMap.Node[] var4 = var3;
            Long2ObjectConcurrentHashMap.Node var5 = null;
            Long2ObjectConcurrentHashMap.TableStack var6 = null;
            Long2ObjectConcurrentHashMap.TableStack var7 = null;
            int var8 = 0;
            int var9 = 0;
            int var10 = var3.length;
            int var11 = var3.length;

            while (true) {
               Long2ObjectConcurrentHashMap.Node var12 = null;
               var12 = var5;
               if (var5 != null) {
                  var12 = var12.next;
               }

               label78: {
                  while (true) {
                     if (var12 != null) {
                        var5 = var12;
                        break label78;
                     }

                     if (var9 >= var10) {
                        break;
                     }

                     Long2ObjectConcurrentHashMap.Node[] var13 = var4;
                     if (var4 == null) {
                        break;
                     }

                     int var15;
                     int var10000 = var15 = var13.length;
                     int var14 = var8;
                     if (var10000 <= var8 || var14 < 0) {
                        break;
                     }

                     if ((var12 = Long2ObjectConcurrentHashMap.tabAt(var13, var14)) != null && var12.hash < 0) {
                        if (var12 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                           var4 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var12).nextTable;
                           var12 = null;
                           Long2ObjectConcurrentHashMap.TableStack var20 = var7;
                           if (var20 != null) {
                              var7 = var20.next;
                           } else {
                              var20 = new Long2ObjectConcurrentHashMap.TableStack<>();
                           }

                           var20.tab = var13;
                           var20.length = var15;
                           var20.index = var14;
                           var20.next = var6;
                           var6 = var20;
                           class="kw">continue;
                        }

                        if (var12 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                           var12 = ((Long2ObjectConcurrentHashMap.TreeBin)var12).first;
                        } else {
                           var12 = null;
                        }
                     }

                     if (var6 == null) {
                        if ((var8 = var14 + var11) >= var15) {
                           var8 = ++var9;
                        }
                     } else {
                        while (true) {
                           Long2ObjectConcurrentHashMap.TableStack var16 = var6;
                           if (var6 != null) {
                              int var17 = var16.length;
                              if ((var8 += var16.length) >= var15) {
                                 var15 = var17;
                                 var8 = var16.index;
                                 var4 = var16.tab;
                                 var16.tab = null;
                                 Long2ObjectConcurrentHashMap.TableStack var18 = var16.next;
                                 var16.next = var7;
                                 var6 = var18;
                                 var7 = var16;
                                 class="kw">continue;
                              }
                           }

                           if (var16 == null && (var8 += var11) >= var15) {
                              var8 = ++var9;
                           }
                           break;
                        }
                     }
                  }

                  var5 = null;
               }

               if (var12 == null) {
                  break;
               }

               var1.accept(var12.val, var2);
            }
         }
      }

      @Override
      class="kw">public void forEachWithLong(FastCollection.FastConsumerL<? super V> var1, long var2) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Long2ObjectConcurrentHashMap.Node[] var4 = this.map.table;
         if (this.map.table != null) {
            Long2ObjectConcurrentHashMap.Node[] var5 = var4;
            Long2ObjectConcurrentHashMap.Node var6 = null;
            Long2ObjectConcurrentHashMap.TableStack var7 = null;
            Long2ObjectConcurrentHashMap.TableStack var8 = null;
            int var9 = 0;
            int var10 = 0;
            int var11 = var4.length;
            int var12 = var4.length;

            while (true) {
               Long2ObjectConcurrentHashMap.Node var13 = null;
               var13 = var6;
               if (var6 != null) {
                  var13 = var13.next;
               }

               label78: {
                  while (true) {
                     if (var13 != null) {
                        var6 = var13;
                        break label78;
                     }

                     if (var10 >= var11) {
                        break;
                     }

                     Long2ObjectConcurrentHashMap.Node[] var14 = var5;
                     if (var5 == null) {
                        break;
                     }

                     int var16;
                     int var10000 = var16 = var14.length;
                     int var15 = var9;
                     if (var10000 <= var9 || var15 < 0) {
                        break;
                     }

                     if ((var13 = Long2ObjectConcurrentHashMap.tabAt(var14, var15)) != null && var13.hash < 0) {
                        if (var13 class="kw">instanceof Long2ObjectConcurrentHashMap.ForwardingNode) {
                           var5 = ((Long2ObjectConcurrentHashMap.ForwardingNode)var13).nextTable;
                           var13 = null;
                           Long2ObjectConcurrentHashMap.TableStack var21 = var8;
                           if (var21 != null) {
                              var8 = var21.next;
                           } else {
                              var21 = new Long2ObjectConcurrentHashMap.TableStack<>();
                           }

                           var21.tab = var14;
                           var21.length = var16;
                           var21.index = var15;
                           var21.next = var7;
                           var7 = var21;
                           class="kw">continue;
                        }

                        if (var13 class="kw">instanceof Long2ObjectConcurrentHashMap.TreeBin) {
                           var13 = ((Long2ObjectConcurrentHashMap.TreeBin)var13).first;
                        } else {
                           var13 = null;
                        }
                     }

                     if (var7 == null) {
                        if ((var9 = var15 + var12) >= var16) {
                           var9 = ++var10;
                        }
                     } else {
                        while (true) {
                           Long2ObjectConcurrentHashMap.TableStack var17 = var7;
                           if (var7 != null) {
                              int var18 = var17.length;
                              if ((var9 += var17.length) >= var16) {
                                 var16 = var18;
                                 var9 = var17.index;
                                 var5 = var17.tab;
                                 var17.tab = null;
                                 Long2ObjectConcurrentHashMap.TableStack var19 = var17.next;
                                 var17.next = var8;
                                 var7 = var19;
                                 var8 = var17;
                                 class="kw">continue;
                              }
                           }

                           if (var17 == null && (var9 += var12) >= var16) {
                              var9 = ++var10;
                           }
                           break;
                        }
                     }
                  }

                  var6 = null;
               }

               if (var13 == null) {
                  break;
               }

               var1.accept(var13.val, var2);
            }
         }
      }
   }
}