package com.google.common.collect; import com.google.common.base.Function; import com.google.common.base.Preconditions; import com.google.common.base.Supplier; import com.google.common.collect.Maps; import com.google.common.collect.Multiset; import com.google.common.collect.Multisets; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.AbstractCollection; import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; /* loaded from: classes.dex */ public final class Multimaps { static final class AsMap extends Maps.ViewCachingAbstractMap> { private final Multimap d; class EntrySet extends Maps.EntrySet> { EntrySet() { } @Override // com.google.common.collect.Maps.EntrySet Map> c() { return AsMap.this; } @Override // java.util.AbstractCollection, java.util.Collection, java.lang.Iterable, java.util.Set public Iterator>> iterator() { return Maps.a((Set) AsMap.this.d.keySet(), (Function) new Function>() { // from class: com.google.common.collect.Multimaps.AsMap.EntrySet.1 @Override // com.google.common.base.Function public /* bridge */ /* synthetic */ Object apply(Object obj) { return apply((AnonymousClass1) obj); } @Override // com.google.common.base.Function public Collection apply(K k) { return AsMap.this.d.get(k); } }); } @Override // com.google.common.collect.Maps.EntrySet, java.util.AbstractCollection, java.util.Collection, java.util.Set public boolean remove(Object obj) { if (!contains(obj)) { return false; } AsMap.this.a(((Map.Entry) obj).getKey()); return true; } } AsMap(Multimap multimap) { Preconditions.a(multimap); this.d = multimap; } @Override // java.util.AbstractMap, java.util.Map public void clear() { this.d.clear(); } @Override // java.util.AbstractMap, java.util.Map public boolean containsKey(Object obj) { return this.d.containsKey(obj); } @Override // java.util.AbstractMap, java.util.Map public boolean isEmpty() { return this.d.isEmpty(); } @Override // com.google.common.collect.Maps.ViewCachingAbstractMap, java.util.AbstractMap, java.util.Map public Set keySet() { return this.d.keySet(); } @Override // java.util.AbstractMap, java.util.Map public int size() { return this.d.keySet().size(); } @Override // com.google.common.collect.Maps.ViewCachingAbstractMap protected Set>> a() { return new EntrySet(); } @Override // java.util.AbstractMap, java.util.Map public Collection get(Object obj) { if (containsKey(obj)) { return this.d.get(obj); } return null; } @Override // java.util.AbstractMap, java.util.Map public Collection remove(Object obj) { if (containsKey(obj)) { return this.d.removeAll(obj); } return null; } void a(Object obj) { this.d.keySet().remove(obj); } } private static class CustomListMultimap extends AbstractListMultimap { transient Supplier> a; CustomListMultimap(Map> map, Supplier> supplier) { super(map); Preconditions.a(supplier); this.a = supplier; } private void readObject(ObjectInputStream objectInputStream) throws IOException, ClassNotFoundException { objectInputStream.defaultReadObject(); this.a = (Supplier) objectInputStream.readObject(); setMap((Map) objectInputStream.readObject()); } private void writeObject(ObjectOutputStream objectOutputStream) throws IOException { objectOutputStream.defaultWriteObject(); objectOutputStream.writeObject(this.a); objectOutputStream.writeObject(backingMap()); } /* JADX INFO: Access modifiers changed from: protected */ @Override // com.google.common.collect.AbstractListMultimap, com.google.common.collect.AbstractMapBasedMultimap public List createCollection() { return this.a.get(); } } private static class CustomSetMultimap extends AbstractSetMultimap { transient Supplier> a; CustomSetMultimap(Map> map, Supplier> supplier) { super(map); Preconditions.a(supplier); this.a = supplier; } private void readObject(ObjectInputStream objectInputStream) throws IOException, ClassNotFoundException { objectInputStream.defaultReadObject(); this.a = (Supplier) objectInputStream.readObject(); setMap((Map) objectInputStream.readObject()); } private void writeObject(ObjectOutputStream objectOutputStream) throws IOException { objectOutputStream.defaultWriteObject(); objectOutputStream.writeObject(this.a); objectOutputStream.writeObject(backingMap()); } /* JADX INFO: Access modifiers changed from: protected */ @Override // com.google.common.collect.AbstractSetMultimap, com.google.common.collect.AbstractMapBasedMultimap public Set createCollection() { return this.a.get(); } } static abstract class Entries extends AbstractCollection> { Entries() { } abstract Multimap a(); @Override // java.util.AbstractCollection, java.util.Collection public void clear() { a().clear(); } @Override // java.util.AbstractCollection, java.util.Collection public boolean contains(Object obj) { if (!(obj instanceof Map.Entry)) { return false; } Map.Entry entry = (Map.Entry) obj; return a().containsEntry(entry.getKey(), entry.getValue()); } @Override // java.util.AbstractCollection, java.util.Collection public boolean remove(Object obj) { if (!(obj instanceof Map.Entry)) { return false; } Map.Entry entry = (Map.Entry) obj; return a().remove(entry.getKey(), entry.getValue()); } @Override // java.util.AbstractCollection, java.util.Collection public int size() { return a().size(); } } static class Keys extends AbstractMultiset { final Multimap a; class KeysEntrySet extends Multisets.EntrySet { KeysEntrySet() { } @Override // com.google.common.collect.Multisets.EntrySet Multiset c() { return Keys.this; } @Override // com.google.common.collect.Multisets.EntrySet, java.util.AbstractCollection, java.util.Collection, java.util.Set public boolean contains(Object obj) { if (!(obj instanceof Multiset.Entry)) { return false; } Multiset.Entry entry = (Multiset.Entry) obj; Collection collection = Keys.this.a.asMap().get(entry.a()); return collection != null && collection.size() == entry.getCount(); } @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set public boolean isEmpty() { return Keys.this.a.isEmpty(); } @Override // java.util.AbstractCollection, java.util.Collection, java.lang.Iterable, java.util.Set public Iterator> iterator() { return Keys.this.entryIterator(); } @Override // com.google.common.collect.Multisets.EntrySet, java.util.AbstractCollection, java.util.Collection, java.util.Set public boolean remove(Object obj) { if (!(obj instanceof Multiset.Entry)) { return false; } Multiset.Entry entry = (Multiset.Entry) obj; Collection collection = Keys.this.a.asMap().get(entry.a()); if (collection == null || collection.size() != entry.getCount()) { return false; } collection.clear(); return true; } @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set public int size() { return Keys.this.distinctElements(); } } Keys(Multimap multimap) { this.a = multimap; } @Override // com.google.common.collect.AbstractMultiset, java.util.AbstractCollection, java.util.Collection public void clear() { this.a.clear(); } @Override // com.google.common.collect.AbstractMultiset, java.util.AbstractCollection, java.util.Collection, com.google.common.collect.Multiset public boolean contains(Object obj) { return this.a.containsKey(obj); } @Override // com.google.common.collect.AbstractMultiset, com.google.common.collect.Multiset public int count(Object obj) { Collection collection = (Collection) Maps.e(this.a.asMap(), obj); if (collection == null) { return 0; } return collection.size(); } @Override // com.google.common.collect.AbstractMultiset Set> createEntrySet() { return new KeysEntrySet(); } @Override // com.google.common.collect.AbstractMultiset int distinctElements() { return this.a.asMap().size(); } @Override // com.google.common.collect.AbstractMultiset, com.google.common.collect.Multiset public Set elementSet() { return this.a.keySet(); } @Override // com.google.common.collect.AbstractMultiset Iterator> entryIterator() { return new TransformedIterator>, Multiset.Entry>(this, this.a.asMap().entrySet().iterator()) { // from class: com.google.common.collect.Multimaps.Keys.1 /* JADX INFO: Access modifiers changed from: package-private */ @Override // com.google.common.collect.TransformedIterator public Multiset.Entry a(final Map.Entry> entry) { return new Multisets.AbstractEntry(this) { // from class: com.google.common.collect.Multimaps.Keys.1.1 @Override // com.google.common.collect.Multiset.Entry public K a() { return (K) entry.getKey(); } @Override // com.google.common.collect.Multiset.Entry public int getCount() { return ((Collection) entry.getValue()).size(); } }; } }; } @Override // com.google.common.collect.AbstractMultiset, java.util.AbstractCollection, java.util.Collection, java.lang.Iterable public Iterator iterator() { return Maps.a(this.a.entries().iterator()); } @Override // com.google.common.collect.AbstractMultiset, com.google.common.collect.Multiset public int remove(Object obj, int i) { CollectPreconditions.a(i, "occurrences"); if (i == 0) { return count(obj); } Collection collection = (Collection) Maps.e(this.a.asMap(), obj); if (collection == null) { return 0; } int size = collection.size(); if (i >= size) { collection.clear(); } else { Iterator it = collection.iterator(); for (int i2 = 0; i2 < i; i2++) { it.next(); it.remove(); } } return size; } } public static ListMultimap a(Map> map, Supplier> supplier) { return new CustomListMultimap(map, supplier); } public static SetMultimap b(Map> map, Supplier> supplier) { return new CustomSetMultimap(map, supplier); } static boolean a(Multimap multimap, Object obj) { if (obj == multimap) { return true; } if (obj instanceof Multimap) { return multimap.asMap().equals(((Multimap) obj).asMap()); } return false; } }