package com.l7tech.server.communityschemas;

import com.l7tech.common.io.DocumentReferenceProcessor;
import com.l7tech.common.io.IOExceptionThrowingReader;
import com.l7tech.common.io.ResourceReference;
import com.l7tech.common.io.SchemaUtil;
import com.l7tech.common.io.XmlUtil;
import com.l7tech.common.io.XmlUtil.BadSchemaException;
import com.l7tech.gateway.common.audit.Audit;
import com.l7tech.server.util.PostStartupApplicationListener;
import com.l7tech.util.CausedIOException;
import com.l7tech.util.CollectionUtils;
import com.l7tech.util.ConfigFactory;
import com.l7tech.util.DomUtils;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.LSInputImpl;
import com.l7tech.util.Triple;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import java.io.StringReader;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.Timer;
import java.util.TreeSet;
import java.util.WeakHashMap;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import org.springframework.context.ApplicationEvent;
import org.springframework.jmx.export.annotation.ManagedAttribute;
import org.springframework.jmx.export.annotation.ManagedOperation;
import org.springframework.jmx.export.annotation.ManagedResource;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.ls.LSInput;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.ext.EntityResolver2;

@ManagedResource(description = "XML Schema Manager", objectName = "l7tech:type=XMLSchemaManager")
public class SchemaManagerImpl implements PostStartupApplicationListener, SchemaManager, SchemaSourceResolver.SchemaInvalidationListener {
   private static final Logger a;
   private static final long b;
   private static final boolean c;
   private static final boolean d;
   private final SchemaConfiguration e;
   private final ReadWriteLock f = new ReentrantReadWriteLock(false);
   private final Map<String, SchemaHandle> g = new ConcurrentHashMap<>();
   private final Map<String, Map<p, Object>> h = new WeakHashMap<>();
   private final Map<String, SchemaManagerImpl.SchemaResource> i = new ConcurrentHashMap<>();
   private final Map<String, Set<SchemaManagerImpl.SchemaResource>> j = new ConcurrentHashMap<>();
   private final Map<String, Integer> k = new HashMap<>();
   private final Map<String, Integer> l = new ConcurrentHashMap<>();
   private final Map<SchemaHandle, Object> m = new WeakHashMap<>();
   private final AtomicReference<EntityResolver> n = new AtomicReference<>(XmlUtil.getSafeEntityResolver());
   private final AtomicReference<n> o = new AtomicReference<>(new o());
   private final Collection<SchemaSourceResolver> p;
   private final EntityResolver q;
   private final Timer r;
   private r s;
   private static final String[] u;

   public SchemaManagerImpl(SchemaConfiguration var1, Timer var2, SchemaSourceResolver[] var3, EntityResolver var4) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      this.e = var1;
      ArrayList var5 = new ArrayList();
      var5.add(new l(this.i, this.j));
      var5.addAll(Arrays.asList(var3));
      this.p = Collections.unmodifiableCollection(var5);
      this.q = var4;
      if (var2 == null) {
         var2 = new Timer(u[0], true);
      }

      this.r = var2;
      this.a();

      for (SchemaSourceResolver var7 : this.p) {
         var7.registerInvalidationListener(this);
      }
   }

   private synchronized void a() {
      try {
         if (this.s != null) {
            this.s.cancel();
            this.s = null;
         }
      } catch (NullPointerException var1) {
         throw a(var1);
      }

      try {
         this.s = new s(this);
         this.r.schedule(this.s, 4539L, Math.min(b, this.e.getMaxCacheAge() * 2 + 263));
         if (this.e.isAllowDoctype()) {
            this.n.set(this.q);
            this.o.set(new n());
            return;
         }
      } catch (NullPointerException var2) {
         throw a(var2);
      }

      this.n.set(XmlUtil.getSafeEntityResolver());
      this.o.set(new o());
   }

   @Override
   public void onApplicationEvent(ApplicationEvent var1) {
      if (var1 instanceof SchemaConfiguration.SchemaConfigurationReloadedEvent) {
         String[] var3 = u;
         a.info(var3[25]);

         try {
            this.a();
         } catch (Exception var4) {
            a.log(Level.SEVERE, u[46] + ExceptionUtils.getMessage(var4), var4);
         }
      }
   }

   private void a(String var1) {
      SchemaHandle var2 = this.g.remove(var1);

      try {
         if (var2 != null) {
            this.l.put(var1, 1);
            this.a(var2);
         }
      } catch (NullPointerException var3) {
         throw a(var3);
      }
   }

   private boolean a(String param1, long param2) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.g Ljava/util/Map;
      // 04: aload 1
      // 05: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 0a: checkcast com/l7tech/server/communityschemas/SchemaHandle
      // 0d: astore 4
      // 0f: aload 4
      // 11: ifnull 43
      // 14: aload 0
      // 15: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.e Lcom/l7tech/server/communityschemas/SchemaConfiguration;
      // 18: invokevirtual com/l7tech/server/communityschemas/SchemaConfiguration.getMaxStaleAge ()I
      // 1b: bipush -1
      // 1c: if_icmple 4b
      // 1f: goto 26
      // 22: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 25: athrow
      // 26: lload 2
      // 27: aload 4
      // 29: invokevirtual com/l7tech/server/communityschemas/SchemaHandle.b ()Lcom/l7tech/server/communityschemas/p;
      // 2c: invokevirtual com/l7tech/server/communityschemas/p.i ()J
      // 2f: lsub
      // 30: aload 0
      // 31: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.e Lcom/l7tech/server/communityschemas/SchemaConfiguration;
      // 34: invokevirtual com/l7tech/server/communityschemas/SchemaConfiguration.getMaxStaleAge ()I
      // 37: i2l
      // 38: lcmp
      // 39: ifle 4b
      // 3c: goto 43
      // 3f: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 42: athrow
      // 43: bipush 1
      // 44: goto 4c
      // 47: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4a: athrow
      // 4b: bipush 0
      // 4c: ireturn
      // try (6 -> 13): 14 java/lang/NullPointerException
      // try (8 -> 27): 28 java/lang/NullPointerException
      // try (16 -> 32): 32 java/lang/NullPointerException
   }

   private synchronized void a(SchemaHandle var1) {
      this.m.put(var1, null);
   }

   private void b() {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.a Ljava/util/logging/Logger;
      // 003: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.u [Ljava/lang/String;
      // 006: astore 20
      // 008: aload 20
      // 00a: bipush 22
      // 00c: aaload
      // 00d: invokevirtual java/util/logging/Logger.finer (Ljava/lang/String;)V
      // 010: aload 0
      // 011: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.c ()V
      // 014: new java/util/HashMap
      // 017: dup
      // 018: invokespecial java/util/HashMap.<init> ()V
      // 01b: astore 1
      // 01c: aload 0
      // 01d: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 020: invokeinterface java/util/concurrent/locks/ReadWriteLock.readLock ()Ljava/util/concurrent/locks/Lock; 1
      // 025: invokeinterface java/util/concurrent/locks/Lock.lock ()V 1
      // 02a: aload 0
      // 02b: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.e Lcom/l7tech/server/communityschemas/SchemaConfiguration;
      // 02e: invokevirtual com/l7tech/server/communityschemas/SchemaConfiguration.getMaxCacheEntries ()I
      // 031: aload 0
      // 032: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.i Ljava/util/Map;
      // 035: invokeinterface java/util/Map.size ()I 1
      // 03a: iadd
      // 03b: i2l
      // 03c: lstore 2
      // 03d: aload 0
      // 03e: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.g Ljava/util/Map;
      // 041: invokeinterface java/util/Map.size ()I 1
      // 046: i2l
      // 047: lload 2
      // 048: lsub
      // 049: lstore 4
      // 04b: lload 4
      // 04d: lconst_0
      // 04e: lcmp
      // 04f: ifle 0ea
      // 052: new java/util/ArrayList
      // 055: dup
      // 056: aload 0
      // 057: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.g Ljava/util/Map;
      // 05a: invokeinterface java/util/Map.values ()Ljava/util/Collection; 1
      // 05f: invokespecial java/util/ArrayList.<init> (Ljava/util/Collection;)V
      // 062: astore 6
      // 064: lload 2
      // 065: aload 6
      // 067: invokeinterface java/util/List.size ()I 1
      // 06c: i2l
      // 06d: lsub
      // 06e: lstore 4
      // 070: lload 4
      // 072: lconst_0
      // 073: lcmp
      // 074: ifle 0ea
      // 077: aload 6
      // 079: new com/l7tech/server/communityschemas/h
      // 07c: dup
      // 07d: aload 0
      // 07e: invokespecial com/l7tech/server/communityschemas/h.<init> (Lcom/l7tech/server/communityschemas/SchemaManagerImpl;)V
      // 081: invokestatic java/util/Collections.sort (Ljava/util/List;Ljava/util/Comparator;)V
      // 084: aload 6
      // 086: invokeinterface java/util/List.iterator ()Ljava/util/Iterator; 1
      // 08b: astore 7
      // 08d: aload 7
      // 08f: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 094: ifeq 0ea
      // 097: aload 7
      // 099: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 09e: checkcast com/l7tech/server/communityschemas/SchemaHandle
      // 0a1: astore 8
      // 0a3: aload 1
      // 0a4: invokeinterface java/util/Map.size ()I 1
      // 0a9: i2l
      // 0aa: lload 4
      // 0ac: lcmp
      // 0ad: iflt 0b7
      // 0b0: goto 0ea
      // 0b3: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0b6: athrow
      // 0b7: aload 8
      // 0b9: invokevirtual com/l7tech/server/communityschemas/SchemaHandle.getTarget ()Lcom/l7tech/server/communityschemas/p;
      // 0bc: astore 9
      // 0be: aload 9
      // 0c0: ifnull 0e7
      // 0c3: aload 9
      // 0c5: invokevirtual com/l7tech/server/communityschemas/p.b ()Z
      // 0c8: ifeq 0e7
      // 0cb: goto 0d2
      // 0ce: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0d1: athrow
      // 0d2: aload 1
      // 0d3: aload 9
      // 0d5: invokevirtual com/l7tech/server/communityschemas/p.getSystemId ()Ljava/lang/String;
      // 0d8: aload 8
      // 0da: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 0df: pop
      // 0e0: goto 0e7
      // 0e3: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e6: athrow
      // 0e7: goto 08d
      // 0ea: invokestatic java/lang/System.currentTimeMillis ()J
      // 0ed: lstore 6
      // 0ef: aload 0
      // 0f0: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.e Lcom/l7tech/server/communityschemas/SchemaConfiguration;
      // 0f3: invokevirtual com/l7tech/server/communityschemas/SchemaConfiguration.getMaxCacheAge ()I
      // 0f6: bipush 4
      // 0f7: imul
      // 0f8: i2l
      // 0f9: lstore 8
      // 0fb: aload 0
      // 0fc: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.g Ljava/util/Map;
      // 0ff: invokeinterface java/util/Map.values ()Ljava/util/Collection; 1
      // 104: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 109: astore 10
      // 10b: aload 10
      // 10d: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 112: ifeq 179
      // 115: aload 10
      // 117: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 11c: checkcast com/l7tech/server/communityschemas/SchemaHandle
      // 11f: astore 11
      // 121: aload 11
      // 123: invokevirtual com/l7tech/server/communityschemas/SchemaHandle.getTarget ()Lcom/l7tech/server/communityschemas/p;
      // 126: astore 12
      // 128: aload 12
      // 12a: ifnull 176
      // 12d: aload 12
      // 12f: invokevirtual com/l7tech/server/communityschemas/p.isTransientSchema ()Z
      // 132: ifeq 176
      // 135: goto 13c
      // 138: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 13b: athrow
      // 13c: aload 12
      // 13e: invokevirtual com/l7tech/server/communityschemas/p.h ()J
      // 141: lstore 13
      // 143: lload 6
      // 145: lload 13
      // 147: lsub
      // 148: lstore 15
      // 14a: lload 15
      // 14c: lload 8
      // 14e: lcmp
      // 14f: ifle 176
      // 152: aload 12
      // 154: invokevirtual com/l7tech/server/communityschemas/p.d ()Z
      // 157: ifeq 176
      // 15a: goto 161
      // 15d: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 160: athrow
      // 161: aload 1
      // 162: aload 12
      // 164: invokevirtual com/l7tech/server/communityschemas/p.getSystemId ()Ljava/lang/String;
      // 167: aload 11
      // 169: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 16e: pop
      // 16f: goto 176
      // 172: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 175: athrow
      // 176: goto 10b
      // 179: aload 0
      // 17a: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 17d: invokeinterface java/util/concurrent/locks/ReadWriteLock.readLock ()Ljava/util/concurrent/locks/Lock; 1
      // 182: invokeinterface java/util/concurrent/locks/Lock.unlock ()V 1
      // 187: goto 19d
      // 18a: astore 17
      // 18c: aload 0
      // 18d: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 190: invokeinterface java/util/concurrent/locks/ReadWriteLock.readLock ()Ljava/util/concurrent/locks/Lock; 1
      // 195: invokeinterface java/util/concurrent/locks/Lock.unlock ()V 1
      // 19a: aload 17
      // 19c: athrow
      // 19d: aload 0
      // 19e: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 1a1: invokeinterface java/util/concurrent/locks/ReadWriteLock.writeLock ()Ljava/util/concurrent/locks/Lock; 1
      // 1a6: invokeinterface java/util/concurrent/locks/Lock.lock ()V 1
      // 1ab: aload 1
      // 1ac: invokeinterface java/util/Map.entrySet ()Ljava/util/Set; 1
      // 1b1: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 1b6: astore 2
      // 1b7: aload 2
      // 1b8: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 1bd: ifeq 24a
      // 1c0: aload 2
      // 1c1: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 1c6: checkcast java/util/Map$Entry
      // 1c9: astore 3
      // 1ca: aload 3
      // 1cb: invokeinterface java/util/Map$Entry.getKey ()Ljava/lang/Object; 1
      // 1d0: checkcast java/lang/String
      // 1d3: astore 4
      // 1d5: aload 3
      // 1d6: invokeinterface java/util/Map$Entry.getValue ()Ljava/lang/Object; 1
      // 1db: checkcast com/l7tech/server/communityschemas/SchemaHandle
      // 1de: astore 5
      // 1e0: aload 0
      // 1e1: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.g Ljava/util/Map;
      // 1e4: aload 4
      // 1e6: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 1eb: checkcast com/l7tech/server/communityschemas/SchemaHandle
      // 1ee: astore 6
      // 1f0: aload 6
      // 1f2: aload 5
      // 1f4: if_acmpne 247
      // 1f7: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.a Ljava/util/logging/Logger;
      // 1fa: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 1fd: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 200: ifeq 225
      // 203: goto 20a
      // 206: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 209: athrow
      // 20a: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.a Ljava/util/logging/Logger;
      // 20d: aload 4
      // 20f: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.u [Ljava/lang/String;
      // 212: bipush 37
      // 214: aaload
      // 215: swap
      // 216: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 21b: invokevirtual java/util/logging/Logger.fine (Ljava/lang/String;)V
      // 21e: goto 225
      // 221: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 224: athrow
      // 225: aload 0
      // 226: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.g Ljava/util/Map;
      // 229: aload 4
      // 22b: invokeinterface java/util/Map.remove (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 230: checkcast com/l7tech/server/communityschemas/SchemaHandle
      // 233: astore 6
      // 235: aload 6
      // 237: ifnull 247
      // 23a: aload 0
      // 23b: aload 6
      // 23d: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.a (Lcom/l7tech/server/communityschemas/SchemaHandle;)V
      // 240: goto 247
      // 243: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 246: athrow
      // 247: goto 1b7
      // 24a: aload 0
      // 24b: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 24e: invokeinterface java/util/concurrent/locks/ReadWriteLock.writeLock ()Ljava/util/concurrent/locks/Lock; 1
      // 253: invokeinterface java/util/concurrent/locks/Lock.unlock ()V 1
      // 258: goto 26e
      // 25b: astore 18
      // 25d: aload 0
      // 25e: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 261: invokeinterface java/util/concurrent/locks/ReadWriteLock.writeLock ()Ljava/util/concurrent/locks/Lock; 1
      // 266: invokeinterface java/util/concurrent/locks/Lock.unlock ()V 1
      // 26b: aload 18
      // 26d: athrow
      // 26e: aload 0
      // 26f: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.c ()V
      // 272: aload 0
      // 273: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.g Ljava/util/Map;
      // 276: invokeinterface java/util/Map.values ()Ljava/util/Collection; 1
      // 27b: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 280: astore 2
      // 281: aload 2
      // 282: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 287: ifeq 330
      // 28a: aload 2
      // 28b: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 290: checkcast com/l7tech/server/communityschemas/SchemaHandle
      // 293: astore 3
      // 294: aload 3
      // 295: invokevirtual com/l7tech/server/communityschemas/SchemaHandle.getTarget ()Lcom/l7tech/server/communityschemas/p;
      // 298: astore 4
      // 29a: aload 4
      // 29c: ifnull 32d
      // 29f: aload 4
      // 2a1: invokevirtual com/l7tech/server/communityschemas/p.getSystemId ()Ljava/lang/String;
      // 2a4: astore 5
      // 2a6: aload 0
      // 2a7: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.p Ljava/util/Collection;
      // 2aa: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 2af: astore 6
      // 2b1: aload 6
      // 2b3: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 2b8: ifeq 2f6
      // 2bb: aload 6
      // 2bd: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 2c2: checkcast com/l7tech/server/communityschemas/SchemaSourceResolver
      // 2c5: astore 7
      // 2c7: aload 7
      // 2c9: invokeinterface com/l7tech/server/communityschemas/SchemaSourceResolver.getId ()Ljava/lang/String; 1
      // 2ce: aload 4
      // 2d0: invokevirtual com/l7tech/server/communityschemas/p.j ()Ljava/lang/String;
      // 2d3: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 2d6: ifeq 2f3
      // 2d9: aload 7
      // 2db: new com/l7tech/gateway/common/audit/LoggingAudit
      // 2de: dup
      // 2df: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.a Ljava/util/logging/Logger;
      // 2e2: invokespecial com/l7tech/gateway/common/audit/LoggingAudit.<init> (Ljava/util/logging/Logger;)V
      // 2e5: aload 5
      // 2e7: invokeinterface com/l7tech/server/communityschemas/SchemaSourceResolver.refreshSchemaByUri (Lcom/l7tech/gateway/common/audit/Audit;Ljava/lang/String;)V 3
      // 2ec: goto 2f3
      // 2ef: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2f2: athrow
      // 2f3: goto 2b1
      // 2f6: goto 32d
      // 2f9: astore 6
      // 2fb: aload 0
      // 2fc: aload 5
      // 2fe: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/String;)V
      // 301: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.a Ljava/util/logging/Logger;
      // 304: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 307: aload 5
      // 309: aload 6
      // 30b: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 30e: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.u [Ljava/lang/String;
      // 311: astore 20
      // 313: aload 20
      // 315: bipush 23
      // 317: aaload
      // 318: dup_x2
      // 319: pop
      // 31a: aload 20
      // 31c: bipush 32
      // 31e: aaload
      // 31f: swap
      // 320: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001\u0001" ]
      // 325: aload 6
      // 327: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 32a: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 32d: goto 281
      // 330: aload 0
      // 331: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.l Ljava/util/Map;
      // 334: invokeinterface java/util/Map.isEmpty ()Z 1
      // 339: ifne 372
      // 33c: aload 0
      // 33d: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 340: invokeinterface java/util/concurrent/locks/ReadWriteLock.writeLock ()Ljava/util/concurrent/locks/Lock; 1
      // 345: invokeinterface java/util/concurrent/locks/Lock.lock ()V 1
      // 34a: aload 0
      // 34b: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.f ()V
      // 34e: aload 0
      // 34f: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 352: invokeinterface java/util/concurrent/locks/ReadWriteLock.writeLock ()Ljava/util/concurrent/locks/Lock; 1
      // 357: invokeinterface java/util/concurrent/locks/Lock.unlock ()V 1
      // 35c: goto 372
      // 35f: astore 19
      // 361: aload 0
      // 362: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 365: invokeinterface java/util/concurrent/locks/ReadWriteLock.writeLock ()Ljava/util/concurrent/locks/Lock; 1
      // 36a: invokeinterface java/util/concurrent/locks/Lock.unlock ()V 1
      // 36f: aload 19
      // 371: athrow
      // 372: aload 0
      // 373: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.c ()V
      // 376: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.a Ljava/util/logging/Logger;
      // 379: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 37c: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 37f: ifeq 38d
      // 382: aload 0
      // 383: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.g ()V
      // 386: goto 38d
      // 389: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 38c: athrow
      // 38d: return
      // try (143 -> 155): 156 java/io/IOException
      // try (139 -> 146): 147 java/io/IOException
      // try (124 -> 129): 130 java/io/IOException
      // try (84 -> 96): 97 java/io/IOException
      // try (82 -> 87): 88 java/io/IOException
      // try (70 -> 77): 77 java/io/IOException
      // try (17 -> 159): 164 null
      // try (164 -> 165): 164 null
      // try (227 -> 232): 233 java/io/IOException
      // try (203 -> 218): 219 java/io/IOException
      // try (200 -> 207): 208 java/io/IOException
      // try (175 -> 236): 241 null
      // try (241 -> 242): 241 null
      // try (281 -> 294): 295 java/io/IOException
      // try (270 -> 298): 299 java/io/IOException
      // try (332 -> 334): 339 null
      // try (339 -> 340): 339 null
      // try (346 -> 354): 355 java/io/IOException
   }

   private String a(p var1) {
      try {
         if (var1.getTargetNamespace() == null) {
            return "";
         }
      } catch (NullPointerException var2) {
         throw a(var2);
      }

      return var1.getTargetNamespace();
   }

   private void c() {
      ArrayList var1;
      synchronized (this) {
         if (this.m.isEmpty()) {
            return;
         }

         var1 = new ArrayList<>(this.m.keySet());
         this.m.clear();
      }

      a.log(Level.FINE, u[4], var1.size());

      for (SchemaHandle var3 : var1) {
         try {
            if (var3 != null) {
               var3.close();
            }
         } catch (NullPointerException var4) {
            throw a(var4);
         }
      }
   }

   private static void a(p var0, Set<p> var1) {
      try {
         if (var1.contains(var0)) {
            return;
         }
      } catch (NullPointerException var6) {
         throw a(var6);
      }

      var1.add(var0);

      for (p var4 : var0.f()) {
         try {
            if (var4 != null) {
               a(var4, var1);
            }
         } catch (NullPointerException var5) {
            throw a(var5);
         }
      }
   }

   private void a(String var1, Set<p> var2) {
      for (SchemaHandle var5 : new ArrayList<>(this.g.values())) {
         p var6 = var5.getTarget();

         try {
            if (var6 == null) {
               continue;
            }
         } catch (NullPointerException var12) {
            throw a(var12);
         }

         for (SchemaHandle var9 : var6.e().values()) {
            p var10 = var9.getTarget();

            try {
               if (var10 == null) {
                  continue;
               }
            } catch (NullPointerException var13) {
               throw a(var13);
            }

            try {
               if (var1.equals(var10.getSystemId())) {
                  a(var10, var2);
               }
            } catch (NullPointerException var11) {
               throw a(var11);
            }
         }
      }
   }

   @Override
   public SchemaHandle getSchemaByUri(Audit param1, String param2) throws IOException, SAXException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 04: invokeinterface java/util/concurrent/locks/ReadWriteLock.readLock ()Ljava/util/concurrent/locks/Lock; 1
      // 09: invokeinterface java/util/concurrent/locks/Lock.lock ()V 1
      // 0e: aload 0
      // 0f: aload 2
      // 10: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.b (Ljava/lang/String;)Lcom/l7tech/server/communityschemas/SchemaHandle;
      // 13: astore 3
      // 14: aload 3
      // 15: ifnull 2c
      // 18: aload 3
      // 19: astore 4
      // 1b: aload 0
      // 1c: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 1f: invokeinterface java/util/concurrent/locks/ReadWriteLock.readLock ()Ljava/util/concurrent/locks/Lock; 1
      // 24: invokeinterface java/util/concurrent/locks/Lock.unlock ()V 1
      // 29: aload 4
      // 2b: areturn
      // 2c: aload 0
      // 2d: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 30: invokeinterface java/util/concurrent/locks/ReadWriteLock.readLock ()Ljava/util/concurrent/locks/Lock; 1
      // 35: invokeinterface java/util/concurrent/locks/Lock.unlock ()V 1
      // 3a: goto 50
      // 3d: astore 5
      // 3f: aload 0
      // 40: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 43: invokeinterface java/util/concurrent/locks/ReadWriteLock.readLock ()Ljava/util/concurrent/locks/Lock; 1
      // 48: invokeinterface java/util/concurrent/locks/Lock.unlock ()V 1
      // 4d: aload 5
      // 4f: athrow
      // 50: aload 0
      // 51: aload 1
      // 52: aload 2
      // 53: aload 2
      // 54: bipush 1
      // 55: bipush 1
      // 56: bipush 0
      // 57: bipush 1
      // 58: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.a (Lcom/l7tech/gateway/common/audit/Audit;Ljava/lang/String;Ljava/lang/String;ZZZZ)Lcom/l7tech/server/communityschemas/SchemaSourceResolver$SchemaSource;
      // 5b: astore 3
      // 5c: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.t Z
      // 5f: ifne 7e
      // 62: aload 3
      // 63: invokeinterface com/l7tech/server/communityschemas/SchemaSourceResolver$SchemaSource.getContent ()Ljava/lang/String; 1
      // 68: ifnonnull 7e
      // 6b: goto 72
      // 6e: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 71: athrow
      // 72: new java/lang/AssertionError
      // 75: dup
      // 76: invokespecial java/lang/AssertionError.<init> ()V
      // 79: athrow
      // 7a: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 7d: athrow
      // 7e: aload 0
      // 7f: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 82: invokeinterface java/util/concurrent/locks/ReadWriteLock.writeLock ()Ljava/util/concurrent/locks/Lock; 1
      // 87: invokeinterface java/util/concurrent/locks/Lock.lock ()V 1
      // 8c: aload 0
      // 8d: aload 2
      // 8e: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.b (Ljava/lang/String;)Lcom/l7tech/server/communityschemas/SchemaHandle;
      // 91: astore 4
      // 93: aload 4
      // 95: ifnull ad
      // 98: aload 4
      // 9a: astore 5
      // 9c: aload 0
      // 9d: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // a0: invokeinterface java/util/concurrent/locks/ReadWriteLock.writeLock ()Ljava/util/concurrent/locks/Lock; 1
      // a5: invokeinterface java/util/concurrent/locks/Lock.unlock ()V 1
      // aa: aload 5
      // ac: areturn
      // ad: aload 0
      // ae: aload 1
      // af: aload 2
      // b0: aload 3
      // b1: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.a (Lcom/l7tech/gateway/common/audit/Audit;Ljava/lang/String;Lcom/l7tech/server/communityschemas/SchemaSourceResolver$SchemaSource;)Lcom/l7tech/server/communityschemas/SchemaHandle;
      // b4: astore 5
      // b6: aload 0
      // b7: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // ba: invokeinterface java/util/concurrent/locks/ReadWriteLock.writeLock ()Ljava/util/concurrent/locks/Lock; 1
      // bf: invokeinterface java/util/concurrent/locks/Lock.unlock ()V 1
      // c4: aload 5
      // c6: areturn
      // c7: astore 6
      // c9: aload 0
      // ca: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // cd: invokeinterface java/util/concurrent/locks/ReadWriteLock.writeLock ()Ljava/util/concurrent/locks/Lock; 1
      // d2: invokeinterface java/util/concurrent/locks/Lock.unlock ()V 1
      // d7: aload 6
      // d9: athrow
      // try (4 -> 12): 23 null
      // try (23 -> 24): 23 null
      // try (42 -> 52): 52 java/io/IOException
      // try (40 -> 45): 46 java/io/IOException
      // try (58 -> 66): 84 null
      // try (72 -> 78): 84 null
      // try (84 -> 85): 84 null
   }

   private SchemaHandle b(String var1) {
      SchemaHandle var2 = this.g.get(var1);
      if (var2 != null) {
         p var3 = var2.getTarget();

         try {
            if (var3 != null) {
               return var3.ref();
            }
         } catch (NullPointerException var4) {
            throw a(var4);
         }
      }

      return null;
   }

   private SchemaSourceResolver.SchemaSource a(Audit param1, String param2, String param3, boolean param4, boolean param5, boolean param6, boolean param7) throws IOException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: iload 4
      // 002: ifne 02d
      // 005: aload 0
      // 006: aload 3
      // 007: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.c (Ljava/lang/String;)Z
      // 00a: ifeq 02d
      // 00d: goto 014
      // 010: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 013: athrow
      // 014: new java/io/IOException
      // 017: dup
      // 018: aload 3
      // 019: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.u [Ljava/lang/String;
      // 01c: bipush 15
      // 01e: aaload
      // 01f: swap
      // 020: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 025: invokespecial java/io/IOException.<init> (Ljava/lang/String;)V
      // 028: athrow
      // 029: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 02c: athrow
      // 02d: aload 0
      // 02e: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.p Ljava/util/Collection;
      // 031: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 036: astore 8
      // 038: aload 8
      // 03a: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 03f: ifeq 072
      // 042: aload 8
      // 044: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 049: checkcast com/l7tech/server/communityschemas/SchemaSourceResolver
      // 04c: astore 9
      // 04e: aload 9
      // 050: invokeinterface com/l7tech/server/communityschemas/SchemaSourceResolver.isRemote ()Z 1
      // 055: ifne 06f
      // 058: aload 9
      // 05a: aload 1
      // 05b: aload 3
      // 05c: invokeinterface com/l7tech/server/communityschemas/SchemaSourceResolver.getSchemaByUri (Lcom/l7tech/gateway/common/audit/Audit;Ljava/lang/String;)Lcom/l7tech/server/communityschemas/SchemaSourceResolver$SchemaSource; 3
      // 061: astore 10
      // 063: aload 10
      // 065: ifnull 06f
      // 068: aload 10
      // 06a: areturn
      // 06b: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 06e: athrow
      // 06f: goto 038
      // 072: aload 0
      // 073: aload 2
      // 074: aload 3
      // 075: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.b (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // 078: astore 3
      // 079: aload 0
      // 07a: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.p Ljava/util/Collection;
      // 07d: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 082: astore 8
      // 084: aload 8
      // 086: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 08b: ifeq 0be
      // 08e: aload 8
      // 090: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 095: checkcast com/l7tech/server/communityschemas/SchemaSourceResolver
      // 098: astore 9
      // 09a: aload 9
      // 09c: invokeinterface com/l7tech/server/communityschemas/SchemaSourceResolver.isRemote ()Z 1
      // 0a1: ifne 0bb
      // 0a4: aload 9
      // 0a6: aload 1
      // 0a7: aload 3
      // 0a8: invokeinterface com/l7tech/server/communityschemas/SchemaSourceResolver.getSchemaByUri (Lcom/l7tech/gateway/common/audit/Audit;Ljava/lang/String;)Lcom/l7tech/server/communityschemas/SchemaSourceResolver$SchemaSource; 3
      // 0ad: astore 10
      // 0af: aload 10
      // 0b1: ifnull 0bb
      // 0b4: aload 10
      // 0b6: areturn
      // 0b7: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ba: athrow
      // 0bb: goto 084
      // 0be: iload 6
      // 0c0: ifeq 0d0
      // 0c3: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.c Z
      // 0c6: ifeq 12d
      // 0c9: goto 0d0
      // 0cc: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0cf: athrow
      // 0d0: iload 5
      // 0d2: ifne 0e8
      // 0d5: goto 0dc
      // 0d8: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0db: athrow
      // 0dc: aload 0
      // 0dd: aload 3
      // 0de: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.d (Ljava/lang/String;)V
      // 0e1: goto 0e8
      // 0e4: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e7: athrow
      // 0e8: aload 0
      // 0e9: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.p Ljava/util/Collection;
      // 0ec: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 0f1: astore 8
      // 0f3: aload 8
      // 0f5: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 0fa: ifeq 12d
      // 0fd: aload 8
      // 0ff: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 104: checkcast com/l7tech/server/communityschemas/SchemaSourceResolver
      // 107: astore 9
      // 109: aload 9
      // 10b: invokeinterface com/l7tech/server/communityschemas/SchemaSourceResolver.isRemote ()Z 1
      // 110: ifeq 12a
      // 113: aload 9
      // 115: aload 1
      // 116: aload 3
      // 117: invokeinterface com/l7tech/server/communityschemas/SchemaSourceResolver.getSchemaByUri (Lcom/l7tech/gateway/common/audit/Audit;Ljava/lang/String;)Lcom/l7tech/server/communityschemas/SchemaSourceResolver$SchemaSource; 3
      // 11c: astore 10
      // 11e: aload 10
      // 120: ifnull 12a
      // 123: aload 10
      // 125: areturn
      // 126: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 129: athrow
      // 12a: goto 0f3
      // 12d: iload 7
      // 12f: ifeq 14f
      // 132: new java/io/IOException
      // 135: dup
      // 136: aload 2
      // 137: aload 3
      // 138: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // 13b: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.u [Ljava/lang/String;
      // 13e: bipush 43
      // 140: aaload
      // 141: swap
      // 142: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 147: invokespecial java/io/IOException.<init> (Ljava/lang/String;)V
      // 14a: athrow
      // 14b: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 14e: athrow
      // 14f: aconst_null
      // 150: areturn
      // try (0 -> 6): 7 java/io/IOException
      // try (2 -> 19): 19 java/io/IOException
      // try (40 -> 44): 44 java/io/IOException
      // try (71 -> 75): 75 java/io/IOException
      // try (78 -> 82): 83 java/io/IOException
      // try (80 -> 87): 88 java/io/IOException
      // try (85 -> 93): 94 java/io/IOException
      // try (115 -> 119): 119 java/io/IOException
      // try (122 -> 136): 136 java/io/IOException
   }

   private SchemaSourceResolver.SchemaSource a(Audit var1, String var2, String var3, boolean var4, boolean var5, boolean var6) throws IOException {
      String var7 = this.a(var1, var3);

      try {
         if (var7 != null) {
            return this.a(var1, var2, var7, var4, var5, var6, true);
         }
      } catch (IOException var8) {
         throw a(var8);
      }

      throw new CausedIOException(u[3] + var3);
   }

   private boolean c(String param1) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 1
      // 01: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 04: invokevirtual java/lang/String.toLowerCase ()Ljava/lang/String;
      // 07: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.u [Ljava/lang/String;
      // 0a: bipush 13
      // 0c: aaload
      // 0d: invokevirtual java/lang/String.startsWith (Ljava/lang/String;)Z
      // 10: ifne 27
      // 13: aload 1
      // 14: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.u [Ljava/lang/String;
      // 17: bipush 36
      // 19: aaload
      // 1a: invokevirtual java/lang/String.contains (Ljava/lang/CharSequence;)Z
      // 1d: ifeq 2f
      // 20: goto 27
      // 23: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 26: athrow
      // 27: bipush 1
      // 28: goto 30
      // 2b: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2e: athrow
      // 2f: bipush 0
      // 30: ireturn
      // try (0 -> 14): 15 java/lang/NullPointerException
      // try (8 -> 19): 19 java/lang/NullPointerException
   }

   private void d(String param1) throws IOException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.e Lcom/l7tech/server/communityschemas/SchemaConfiguration;
      // 04: invokevirtual com/l7tech/server/communityschemas/SchemaConfiguration.getRemoteResourcePattern ()Ljava/util/regex/Pattern;
      // 07: astore 2
      // 08: aload 2
      // 09: ifnull 1e
      // 0c: aload 2
      // 0d: aload 1
      // 0e: invokevirtual java/util/regex/Pattern.matcher (Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
      // 11: invokevirtual java/util/regex/Matcher.matches ()Z
      // 14: ifne 30
      // 17: goto 1e
      // 1a: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1d: athrow
      // 1e: new java/io/IOException
      // 21: dup
      // 22: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.u [Ljava/lang/String;
      // 25: bipush 16
      // 27: aaload
      // 28: invokespecial java/io/IOException.<init> (Ljava/lang/String;)V
      // 2b: athrow
      // 2c: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2f: athrow
      // 30: return
      // try (4 -> 11): 12 java/io/IOException
      // try (6 -> 21): 21 java/io/IOException
   }

   private LSInput a(String var1, String var2, String var3) {
      EntityResolver var4 = this.n.get();
      LSInputImpl var5 = new LSInputImpl();

      try {
         InputSource var6;
         if (var4 instanceof EntityResolver2) {
            var6 = ((EntityResolver2)var4).resolveEntity(u[28], var1, var3, var2);
         } else if (var3 != null) {
            var6 = var4.resolveEntity(var1, this.b(var3, var2));
         } else {
            var6 = var4.resolveEntity(var1, var2);
         }

         if (var6 == null) {
            throw new SchemaManagerImpl.UnresolvableException(null, a(var3, var2, var1, null));
         }

         var5.setPublicId(var1);
         var5.setSystemId(var6.getSystemId());
         var5.setEncoding(var6.getEncoding());
         Reader var7 = var6.getCharacterStream();

         try {
            if (var7 != null) {
               var5.setCharacterStream(var7);
               return var5;
            }
         } catch (SAXException var10) {
            throw a(var10);
         }

         InputStream var8 = var6.getByteStream();

         try {
            if (var8 != null) {
               var5.setByteStream(var8);
               return var5;
            }
         } catch (SAXException var9) {
            throw a(var9);
         }

         throw new SchemaManagerImpl.UnresolvableException(null, a(var3, var2, var1, null));
      } catch (SAXException var11) {
         this.handleResourceNotPermitted(var11, a(var3, var2, var1, null));
         var5.setCharacterStream(new IOExceptionThrowingReader(new CausedIOException(var11)));
      } catch (IOException var12) {
         this.handleResourceNotPermitted(var12, a(var3, var2, var1, null));
         var5.setCharacterStream(new IOExceptionThrowingReader(var12));
      }

      return var5;
   }

   protected void handleResourceNotPermitted(Exception param1, String param2) throws SchemaManagerImpl.UnresolvableException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: aload 1
      // 02: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.isResourceNotPermitted (Ljava/lang/Exception;)Z
      // 05: ifeq 2f
      // 08: aload 0
      // 09: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.e Lcom/l7tech/server/communityschemas/SchemaConfiguration;
      // 0c: invokevirtual com/l7tech/server/communityschemas/SchemaConfiguration.isAllowDoctype ()Z
      // 0f: ifeq 21
      // 12: goto 19
      // 15: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 18: athrow
      // 19: aconst_null
      // 1a: goto 24
      // 1d: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 20: athrow
      // 21: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.d ()Ljava/lang/Exception;
      // 24: astore 3
      // 25: new com/l7tech/server/communityschemas/SchemaManagerImpl$UnresolvableException
      // 28: dup
      // 29: aload 3
      // 2a: aload 2
      // 2b: invokespecial com/l7tech/server/communityschemas/SchemaManagerImpl$UnresolvableException.<init> (Ljava/lang/Throwable;Ljava/lang/String;)V
      // 2e: athrow
      // 2f: return
      // try (0 -> 8): 9 com/l7tech/server/communityschemas/SchemaManagerImpl$UnresolvableException
      // try (4 -> 13): 13 com/l7tech/server/communityschemas/SchemaManagerImpl$UnresolvableException
   }

   private static Exception d() {
      return new Exception(u[50]);
   }

   protected boolean isResourceNotPermitted(Exception param1) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 1
      // 01: instanceof java/io/IOException
      // 04: ifne 15
      // 07: aload 1
      // 08: instanceof org/xml/sax/SAXException
      // 0b: ifeq 34
      // 0e: goto 15
      // 11: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 14: athrow
      // 15: aload 1
      // 16: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 19: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.u [Ljava/lang/String;
      // 1c: bipush 21
      // 1e: aaload
      // 1f: invokevirtual java/lang/String.startsWith (Ljava/lang/String;)Z
      // 22: ifeq 34
      // 25: goto 2c
      // 28: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2b: athrow
      // 2c: bipush 1
      // 2d: goto 35
      // 30: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 33: athrow
      // 34: bipush 0
      // 35: ireturn
      // try (0 -> 6): 7 java/lang/NullPointerException
      // try (3 -> 16): 17 java/lang/NullPointerException
      // try (9 -> 21): 21 java/lang/NullPointerException
   }

   private InputSource a(SchemaManagerImpl.SchemaResource var1) {
      InputSource var2 = new InputSource();
      var2.setSystemId(var1.getUri());
      var2.setCharacterStream(new StringReader(var1.getContent()));
      return var2;
   }

   private void b(p var1) {
      this.b(var1, new HashSet<>());
   }

   private void b(p var1, Set<p> var2) {
      try {
         if (var1 == null) {
            return;
         }
      } catch (NullPointerException var9) {
         throw a(var9);
      }

      for (SchemaHandle var4 : var1.e().values()) {
         this.b(var4.getTarget(), var2);
      }

      if (!var2.contains(var1)) {
         String var10 = this.a(var1);
         Map var11 = this.h.get(var10);
         if (var11 == null) {
            var11 = new WeakHashMap();
            this.h.put(var10, var11);
         }

         var11.put(var1, null);
         if (this.a(var11.keySet())) {
            for (p var6 : var11.keySet()) {
               try {
                  if (!var6.d()) {
                     var6.a(true);
                  }
               } catch (NullPointerException var7) {
                  throw a(var7);
               }
            }
         } else {
            label69: {
               try {
                  if (!var11.isEmpty()) {
                     var1.a(false);
                     break label69;
                  }
               } catch (NullPointerException var8) {
                  throw a(var8);
               }

               a.log(Level.FINE, u[20], var10);
               this.h.remove(var10);
            }
         }

         var2.add(var1);
      }
   }

   private boolean a(Collection<p> param1) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: bipush 0
      // 01: istore 2
      // 02: aload 1
      // 03: invokeinterface java/util/Collection.size ()I 1
      // 08: bipush 1
      // 09: if_icmple 5c
      // 0c: bipush 0
      // 0d: istore 3
      // 0e: aload 1
      // 0f: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 14: astore 4
      // 16: aload 4
      // 18: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 1d: ifeq 4d
      // 20: aload 4
      // 22: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 27: checkcast com/l7tech/server/communityschemas/p
      // 2a: astore 5
      // 2c: aload 5
      // 2e: invokevirtual com/l7tech/server/communityschemas/p.isInclude ()Z
      // 31: ifne 4a
      // 34: iinc 3 1
      // 37: iload 3
      // 38: bipush 1
      // 39: if_icmple 4a
      // 3c: goto 43
      // 3f: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 42: athrow
      // 43: goto 4d
      // 46: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 49: athrow
      // 4a: goto 16
      // 4d: iload 3
      // 4e: bipush 1
      // 4f: if_icmple 5a
      // 52: bipush 1
      // 53: goto 5b
      // 56: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 59: athrow
      // 5a: bipush 0
      // 5b: istore 2
      // 5c: iload 2
      // 5d: ireturn
      // try (18 -> 25): 26 java/lang/NullPointerException
      // try (21 -> 29): 29 java/lang/NullPointerException
      // try (32 -> 37): 37 java/lang/NullPointerException
   }

   Lock e() {
      return this.f.readLock();
   }

   @Override
   public synchronized void registerSchema(String var1, String var2, String var3) {
      try {
         if (var3 == null) {
            throw new NullPointerException(u[2]);
         }
      } catch (NullPointerException var9) {
         throw a(var9);
      }

      SchemaManagerImpl.SchemaResource var4 = new SchemaManagerImpl.SchemaResource(var1, var2, var3);
      SchemaManagerImpl.SchemaResource var5 = this.i.put(var1, var4);

      label44: {
         try {
            if (var4.equals(var5)) {
               return;
            }

            if (var2 == null) {
               break label44;
            }
         } catch (NullPointerException var8) {
            throw a(var8);
         }

         Set var6 = this.j.get(var2);
         if (var6 == null) {
            var6 = new HashSet();
            this.j.put(var2, var6);
         }

         var6.add(var4);
      }

      try {
         if (var5 != null) {
            this.a(var1);
         }
      } catch (NullPointerException var7) {
         throw a(var7);
      }
   }

   @Override
   public synchronized void unregisterSchema(String var1) {
      SchemaManagerImpl.SchemaResource var2 = this.i.remove(var1);
      if (var2 != null) {
         String var3 = var2.getTargetNamespace();
         if (var3 != null) {
            Set var4 = this.j.get(var3);

            try {
               if (var4 != null) {
                  var4.remove(var2);
               }
            } catch (NullPointerException var5) {
               throw a(var5);
            }
         }

         this.a(var1);
      }
   }

   @Override
   public void registerUri(String var1) {
      synchronized (this.k) {
         Integer var3 = this.k.get(var1);
         if (var3 == null) {
            var3 = 0;
         }

         this.k.put(var1, var3 + 1);
      }
   }

   @Override
   public void unregisterUri(String param1) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.k Ljava/util/Map;
      // 04: dup
      // 05: astore 2
      // 06: monitorenter
      // 07: aload 0
      // 08: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.k Ljava/util/Map;
      // 0b: aload 1
      // 0c: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 11: checkcast java/lang/Integer
      // 14: astore 3
      // 15: aload 3
      // 16: ifnull 43
      // 19: aload 3
      // 1a: invokevirtual java/lang/Integer.intValue ()I
      // 1d: bipush 1
      // 1e: if_icmple 43
      // 21: goto 28
      // 24: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 27: athrow
      // 28: aload 0
      // 29: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.k Ljava/util/Map;
      // 2c: aload 1
      // 2d: aload 3
      // 2e: invokevirtual java/lang/Integer.intValue ()I
      // 31: bipush 1
      // 32: isub
      // 33: invokestatic java/lang/Integer.valueOf (I)Ljava/lang/Integer;
      // 36: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 3b: pop
      // 3c: goto 4e
      // 3f: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 42: athrow
      // 43: aload 0
      // 44: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.k Ljava/util/Map;
      // 47: aload 1
      // 48: invokeinterface java/util/Map.remove (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 4d: pop
      // 4e: aload 2
      // 4f: monitorexit
      // 50: goto 5a
      // 53: astore 4
      // 55: aload 2
      // 56: monitorexit
      // 57: aload 4
      // 59: athrow
      // 5a: return
      // try (13 -> 31): 31 java/lang/NullPointerException
      // try (11 -> 17): 18 java/lang/NullPointerException
      // try (5 -> 40): 41 null
      // try (41 -> 44): 41 null
   }

   @Override
   public boolean isSchemaRegistered(String var1) {
      boolean var2 = false;
      HashSet var3;
      synchronized (this.k) {
         var3 = new HashSet<>(this.k.keySet());
      }

      try {
         if (var3.contains(var1) || this.i.containsKey(var1)) {
            return true;
         }
      } catch (NullPointerException var10) {
         throw a(var10);
      }

      SchemaHandle var11 = this.g.get(var1);
      if (var11 != null) {
         p var5 = var11.getTarget();

         label74: {
            try {
               if (var5 == null) {
                  return var2;
               }

               if (!var5.b()) {
                  break label74;
               }
            } catch (NullPointerException var9) {
               throw a(var9);
            }

            Iterator var6 = var5.f().iterator();

            p var7;
            do {
               if (!var6.hasNext()) {
                  return var2;
               }

               var7 = (p)var6.next();
            } while (!var3.contains(var7.getSystemId()));

            return true;
         }

         var2 = true;
      }

      return var2;
   }

   @Override
   public Set<String> getRequiredSchemaUris() {
      HashSet var1;
      synchronized (this.k) {
         var1 = new HashSet<>(this.k.keySet());
      }

      for (Entry var3 : this.i.entrySet()) {
         String var4 = (String)var3.getKey();

         try {
            if (!this.c(var4)) {
               var1.add(var4);
            }
         } catch (URISyntaxException var20) {
            throw a(var20);
         }

         boolean var5 = false;
         SchemaHandle var6 = this.g.get(var3.getKey());
         if (var6 != null) {
            p var7 = var6.getTarget();
            if (var7 != null) {
               var5 = true;
               var1.addAll(var7.e().keySet());
            }
         }

         if (!var5) {
            SchemaManagerImpl.SchemaResource var22 = (SchemaManagerImpl.SchemaResource)var3.getValue();

            try {
               for (ResourceReference var10 : SchemaUtil.getDependencies(this.a(var22), this.q)) {
                  if (var10.getUri() != null) {
                     try {
                        URI var11 = new URI(var10.getBaseUri());
                        var1.add(var11.resolve(new URI(var10.getUri())).toString());
                     } catch (URISyntaxException var16) {
                        Logger var26 = a;
                        Level var28 = Level.INFO;
                        String var30 = var10.getUri();
                        String var32 = var10.getBaseUri();
                        String var12 = ExceptionUtils.getMessage(var16);
                        String var13 = var32;
                        String var14 = var30;
                        String[] var24 = u;
                        var26.log(var28, var24[42] + var14 + var24[44] + var13 + var24[12] + var12, ExceptionUtils.getDebugException(var16));
                        var1.add(var10.getUri());
                     }
                  }
               }
            } catch (SAXException var18) {
               Logger var25 = a;
               Level var27 = Level.INFO;
               String var29 = var22.getUri();
               String var31 = ExceptionUtils.getMessage(var18);
               String[] var23 = u;
               var25.log(var27, var23[8] + var29 + var23[49] + var31, ExceptionUtils.getDebugException(var18));
            } catch (IOException var19) {
               Logger var10000 = a;
               Level var10001 = Level.INFO;
               String var10002 = var22.getUri();
               String var10003 = ExceptionUtils.getMessage(var19);
               String[] var15 = u;
               var10000.log(var10001, var15[8] + var10002 + var15[49] + var10003, ExceptionUtils.getDebugException(var19));
            }
         }
      }

      return var1;
   }

   @Override
   public Set<String> getRequiredSchemaTargetNamespaces() {
      HashSet var1 = new HashSet();

      for (Entry var3 : this.i.entrySet()) {
         boolean var4 = this.c((String)var3.getKey());
         boolean var5 = false;
         SchemaHandle var6 = this.g.get(var3.getKey());
         if (var6 != null) {
            p var7 = var6.getTarget();
            if (var7 != null) {
               var5 = true;

               try {
                  if (!var4) {
                     var1.add(var7.getTargetNamespace());
                  }
               } catch (SAXException var15) {
                  throw a(var15);
               }

               for (String var9 : var7.e().keySet()) {
                  SchemaHandle var10 = this.g.get(var9);
                  if (var10 != null) {
                     p var11 = var10.getTarget();

                     try {
                        if (var11 != null) {
                           var1.add(var11.getTargetNamespace());
                        }
                     } catch (SAXException var14) {
                        throw a(var14);
                     }
                  }
               }
            }
         }

         if (!var5) {
            SchemaManagerImpl.SchemaResource var20 = (SchemaManagerImpl.SchemaResource)var3.getValue();

            try {
               try {
                  if (!var4) {
                     var1.add(XmlUtil.getSchemaTNS(var20.getContent()));
                  }
               } catch (SAXException var16) {
                  throw a(var16);
               }

               for (ResourceReference var23 : SchemaUtil.getDependencies(this.a(var20), this.q)) {
                  try {
                     if (var23.hasTargetNamespace()) {
                        var1.add(var23.getTargetNamespace());
                     }
                  } catch (SAXException var13) {
                     throw a(var13);
                  }
               }
            } catch (SAXException var17) {
               Logger var27 = a;
               Level var29 = Level.INFO;
               String var31 = var20.getUri();
               String var33 = ExceptionUtils.getMessage(var17);
               String[] var25 = u;
               var27.log(var29, var25[1] + var31 + var25[7] + var33, ExceptionUtils.getDebugException(var17));
            } catch (IOException var18) {
               Logger var26 = a;
               Level var28 = Level.INFO;
               String var30 = var20.getUri();
               String var32 = ExceptionUtils.getMessage(var18);
               String[] var24 = u;
               var26.log(var28, var24[8] + var30 + var24[49] + var32, ExceptionUtils.getDebugException(var18));
            } catch (BadSchemaException var19) {
               Logger var10000 = a;
               Level var10001 = Level.INFO;
               String var10002 = var20.getUri();
               String var10003 = ExceptionUtils.getMessage(var19);
               String[] var12 = u;
               var10000.log(var10001, var12[8] + var10002 + var12[49] + var10003, ExceptionUtils.getDebugException(var19));
            }
         }
      }

      return var1;
   }

   @Override
   public boolean invalidateSchemaByUri(String var1, boolean var2) {
      boolean var3 = false;

      try {
         if (!var2 && !this.a(var1, System.currentTimeMillis())) {
            return var3;
         }
      } catch (NullPointerException var4) {
         throw a(var4);
      }

      this.a(var1);
      return true;
   }

   @ManagedAttribute(description = "Schema Cache Size", currencyTimeLimit = 5)
   public int getSchemaCacheSize() {
      return this.g.size();
   }

   @ManagedOperation(description = "Schema Cache Keys")
   public Set<String> getSchemaCacheUris() {
      return new TreeSet<>(this.g.keySet());
   }

   @ManagedAttribute(description = "Registered Schema Size", currencyTimeLimit = 5)
   public int getRegisteredSchemaSize() {
      return this.i.size();
   }

   @ManagedOperation(description = "Registered Schema Keys")
   public Set<String> getRegisteredSchemaUris() {
      return new TreeSet<>(this.i.keySet());
   }

   private static String a(String var0, String var1) {
      return a(var0, var1, null, null);
   }

   private static String a(String var0, String var1, String var2, String var3) {
      String var4;
      if (var1 != null) {
         String var5 = var1;
         if (var0 != null) {
            try {
               var5 = new URI(var0).resolve(var1).toString();
            } catch (URISyntaxException var10) {
               try {
                  if (a.isLoggable(Level.FINE)) {
                     a.log(Level.FINE, u[18], new String[]{var1, var0});
                  }
               } catch (URISyntaxException var9) {
                  throw a(var9);
               }
            } catch (IllegalArgumentException var11) {
               try {
                  if (a.isLoggable(Level.FINE)) {
                     a.log(Level.FINE, u[9], new String[]{var1, var0});
                  }
               } catch (URISyntaxException var8) {
                  throw a(var8);
               }
            }
         }

         String[] var7 = u;
         var4 = var7[24] + var5;
      } else if (var2 != null) {
         String[] var12 = u;
         var4 = var12[27] + var2;
      } else if (var3 != null) {
         String[] var13 = u;
         var4 = var13[30] + var3;
      } else {
         var4 = u[17];
      }

      return var4;
   }

   private Set<String> a(Audit var1, SchemaSourceResolver.SchemaSource var2) throws SAXException, IOException {
      HashSet var3 = new HashSet();
      HashSet var4 = new HashSet();

      try {
         if (!this.e(var2.getResolverId())) {
            var4.add(var2.getUri());
         }
      } catch (RuntimeException var11) {
         throw a(var11);
      }

      SchemaFactory var5 = SchemaFactory.newInstance(XmlUtil.W3C_XML_SCHEMA);
      i var6 = new i(this, var4, var1, var2, var3);
      var5.setResourceResolver(var6);

      try {
         var5.newSchema(this.o.get().makeSource(var2));
         return var3;
      } catch (RuntimeException var10) {
         SchemaManagerImpl.UnresolvableException var8 = (SchemaManagerImpl.UnresolvableException)ExceptionUtils.getCauseIfCausedBy(
            var10, SchemaManagerImpl.UnresolvableException.class
         );

         try {
            if (var8 != null) {
               throw new CausedIOException(u[11] + var8.getResourceDescription() + u[26] + ExceptionUtils.getMessage(var8.getCause()), var8.getCause());
            }
         } catch (RuntimeException var9) {
            throw a(var9);
         }

         throw var10;
      }
   }

   private String a(Audit var1, String var2) throws IOException {
      for (SchemaSourceResolver var4 : this.p) {
         if (!var4.isRemote()) {
            SchemaSourceResolver.SchemaSource var5 = var4.getSchemaByTargetNamespace(var1, var2);

            try {
               if (var5 != null) {
                  return var5.getUri();
               }
            } catch (IOException var6) {
               throw a(var6);
            }
         }
      }

      return null;
   }

   private boolean e(String var1) throws IOException {
      boolean var2 = false;

      for (SchemaSourceResolver var4 : this.p) {
         if (var4.getId().equals(var1)) {
            var2 = var4.isRemote();
            break;
         }
      }

      return var2;
   }

   private String b(String param1, String param2) throws IOException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 1
      // 01: ifnull 0f
      // 04: aload 2
      // 05: ifnonnull 1b
      // 08: goto 0f
      // 0b: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e: athrow
      // 0f: new java/lang/NullPointerException
      // 12: dup
      // 13: invokespecial java/lang/NullPointerException.<init> ()V
      // 16: athrow
      // 17: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1a: athrow
      // 1b: new java/net/URI
      // 1e: dup
      // 1f: aload 2
      // 20: invokespecial java/net/URI.<init> (Ljava/lang/String;)V
      // 23: astore 3
      // 24: new java/net/URI
      // 27: dup
      // 28: aload 1
      // 29: invokespecial java/net/URI.<init> (Ljava/lang/String;)V
      // 2c: astore 4
      // 2e: aload 4
      // 30: aload 3
      // 31: invokevirtual java/net/URI.resolve (Ljava/net/URI;)Ljava/net/URI;
      // 34: invokevirtual java/net/URI.toString ()Ljava/lang/String;
      // 37: areturn
      // 38: astore 3
      // 39: new java/io/IOException
      // 3c: dup
      // 3d: aload 3
      // 3e: invokespecial java/io/IOException.<init> (Ljava/lang/Throwable;)V
      // 41: athrow
      // try (2 -> 11): 11 java/net/URISyntaxException
      // try (0 -> 4): 5 java/net/URISyntaxException
      // try (13 -> 27): 28 java/net/URISyntaxException
   }

   private SchemaHandle a(Audit var1, String var2, SchemaSourceResolver.SchemaSource var3) throws SAXException, IOException {
      this.a(var1, var3);
      this.f();
      SchemaHandle var4 = this.a(var1, var2, var3, new HashSet<>());
      this.b(var4.getTarget());
      return var4;
   }

   private void f() {
      while (!this.l.isEmpty()) {
         ArrayList var1 = new ArrayList<>(this.l.keySet());
         this.l.clear();

         for (String var3 : var1) {
            HashSet var4 = new HashSet();
            this.a(var3, var4);

            for (p var6 : var4) {
               try {
                  if (!var6.isClosed()) {
                     this.a(var6.getSystemId());
                  }
               } catch (NullPointerException var7) {
                  throw a(var7);
               }
            }
         }
      }
   }

   private SchemaHandle a(Audit var1, String var2, SchemaSourceResolver.SchemaSource var3, Set<String> var4) throws SAXException, IOException {
      try {
         if (var4.contains(var2)) {
            a.info(u[10]);
            return null;
         }
      } catch (BadSchemaException var40) {
         throw a(var40);
      }

      String var5 = var3.getContent();
      var4.add(var2);
      SchemaFactory var6 = SchemaFactory.newInstance(XmlUtil.W3C_XML_SCHEMA);
      Document var7 = XmlUtil.parse(this.o.get().makeInputSource(var3), this.n.get());
      HashSet var8 = new HashSet();
      DocumentReferenceProcessor var9 = DocumentReferenceProcessor.schemaProcessor();
      var9.processDocumentReferences(var7, new j(this, var8));
      HashMap var10 = new HashMap();
      HashMap var11 = new HashMap();
      k var12 = new k(this, var8, var11, var10, var1, var4, var3);
      var6.setResourceResolver(var12);
      boolean var13 = false;

      try {
         Schema var14 = var6.newSchema(this.o.get().makeSource(var3));
         String var41 = XmlUtil.getSchemaTNS(var2, var5, this.n.get());
         Element var16 = DomUtils.normalizeNamespaces(var7.getDocumentElement());
         p var17 = new p(var41, var2, var5, var3.getResolverId(), var16, var14, this, var10, var11, var3.isTransient());

         for (SchemaHandle var19 : CollectionUtils.iterable(new Iterable[]{var10.values(), var11.values()})) {
            p var20 = var19.b();

            try {
               if (var20 == null) {
                  continue;
               }
            } catch (BadSchemaException var36) {
               throw a(var36);
            }

            var20.a(var17);
         }

         SchemaHandle var42 = var17.ref();
         SchemaHandle var43 = this.g.put(var17.getSystemId(), var42);

         try {
            if (var43 != null) {
               this.a(var43);
            }
         } catch (BadSchemaException var35) {
            throw a(var35);
         }

         var13 = true;
         return var17.ref();
      } catch (BadSchemaException var37) {
         String[] var26 = u;
         throw new SAXException(var26[33], var37);
      } catch (RuntimeException var38) {
         SchemaManagerImpl.UnresolvableException var15 = (SchemaManagerImpl.UnresolvableException)ExceptionUtils.getCauseIfCausedBy(
            var38, SchemaManagerImpl.UnresolvableException.class
         );

         try {
            if (var15 != null) {
               throw new CausedIOException(u[19] + var15.getResourceDescription() + u[31] + ExceptionUtils.getMessage(var15.getCause()), var15.getCause());
            }
         } catch (BadSchemaException var34) {
            throw a(var34);
         }

         throw var38;
      } finally {
         if (!var13) {
            for (SchemaHandle var25 : CollectionUtils.iterable(new Iterable[]{var10.values(), var11.values()})) {
               var25.close();
            }
         }
      }
   }

   private SchemaSourceResolver.SchemaSource a(
      Audit param1, String param2, String param3, String param4, Set<String> param5, Map<String, SchemaHandle> param6, boolean param7
   ) throws IOException, SAXException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aconst_null
      // 01: astore 8
      // 03: aload 3
      // 04: ifnull 16
      // 07: aload 0
      // 08: aload 1
      // 09: aload 4
      // 0b: aload 3
      // 0c: bipush 0
      // 0d: bipush 0
      // 0e: iload 7
      // 10: bipush 0
      // 11: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.a (Lcom/l7tech/gateway/common/audit/Audit;Ljava/lang/String;Ljava/lang/String;ZZZZ)Lcom/l7tech/server/communityschemas/SchemaSourceResolver$SchemaSource;
      // 14: astore 8
      // 16: aload 8
      // 18: ifnonnull 29
      // 1b: aload 0
      // 1c: aload 1
      // 1d: aload 4
      // 1f: aload 2
      // 20: bipush 0
      // 21: bipush 0
      // 22: iload 7
      // 24: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.a (Lcom/l7tech/gateway/common/audit/Audit;Ljava/lang/String;Ljava/lang/String;ZZZ)Lcom/l7tech/server/communityschemas/SchemaSourceResolver$SchemaSource;
      // 27: astore 8
      // 29: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.t Z
      // 2c: ifne 47
      // 2f: aload 8
      // 31: ifnonnull 47
      // 34: goto 3b
      // 37: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3a: athrow
      // 3b: new java/lang/AssertionError
      // 3e: dup
      // 3f: invokespecial java/lang/AssertionError.<init> ()V
      // 42: athrow
      // 43: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 46: athrow
      // 47: aload 0
      // 48: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.g Ljava/util/Map;
      // 4b: aload 8
      // 4d: invokeinterface com/l7tech/server/communityschemas/SchemaSourceResolver$SchemaSource.getUri ()Ljava/lang/String; 1
      // 52: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 57: checkcast com/l7tech/server/communityschemas/SchemaHandle
      // 5a: astore 9
      // 5c: aload 9
      // 5e: ifnonnull 76
      // 61: aload 0
      // 62: aload 1
      // 63: aload 8
      // 65: invokeinterface com/l7tech/server/communityschemas/SchemaSourceResolver$SchemaSource.getUri ()Ljava/lang/String; 1
      // 6a: aload 8
      // 6c: aload 5
      // 6e: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.a (Lcom/l7tech/gateway/common/audit/Audit;Ljava/lang/String;Lcom/l7tech/server/communityschemas/SchemaSourceResolver$SchemaSource;Ljava/util/Set;)Lcom/l7tech/server/communityschemas/SchemaHandle;
      // 71: astore 9
      // 73: goto 80
      // 76: aload 9
      // 78: invokevirtual com/l7tech/server/communityschemas/SchemaHandle.b ()Lcom/l7tech/server/communityschemas/p;
      // 7b: invokevirtual com/l7tech/server/communityschemas/p.ref ()Lcom/l7tech/server/communityschemas/SchemaHandle;
      // 7e: astore 9
      // 80: aload 9
      // 82: ifnull b7
      // 85: aload 9
      // 87: invokevirtual com/l7tech/server/communityschemas/SchemaHandle.b ()Lcom/l7tech/server/communityschemas/p;
      // 8a: astore 10
      // 8c: aload 6
      // 8e: aload 10
      // 90: invokevirtual com/l7tech/server/communityschemas/p.getSystemId ()Ljava/lang/String;
      // 93: aload 9
      // 95: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 9a: pop
      // 9b: new com/l7tech/server/communityschemas/SchemaSourceResolver$DefaultSchemaSource
      // 9e: dup
      // 9f: aload 10
      // a1: invokevirtual com/l7tech/server/communityschemas/p.getSystemId ()Ljava/lang/String;
      // a4: aload 10
      // a6: invokevirtual com/l7tech/server/communityschemas/p.c ()Ljava/lang/String;
      // a9: aload 10
      // ab: invokevirtual com/l7tech/server/communityschemas/p.j ()Ljava/lang/String;
      // ae: aload 10
      // b0: invokevirtual com/l7tech/server/communityschemas/p.isTransientSchema ()Z
      // b3: invokespecial com/l7tech/server/communityschemas/SchemaSourceResolver$DefaultSchemaSource.<init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
      // b6: areturn
      // b7: aload 8
      // b9: areturn
      // try (25 -> 29): 30 java/io/IOException
      // try (27 -> 36): 36 java/io/IOException
   }

   void c(p param1) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: aload 0
      // 001: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.g ()V
      // 004: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.a Ljava/util/logging/Logger;
      // 007: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 00a: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.u [Ljava/lang/String;
      // 00d: astore 8
      // 00f: aload 8
      // 011: bipush 38
      // 013: aaload
      // 014: aload 1
      // 015: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
      // 018: aload 0
      // 019: aload 1
      // 01a: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.a (Lcom/l7tech/server/communityschemas/p;)Ljava/lang/String;
      // 01d: astore 2
      // 01e: aload 0
      // 01f: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 022: invokeinterface java/util/concurrent/locks/ReadWriteLock.writeLock ()Ljava/util/concurrent/locks/Lock; 1
      // 027: invokeinterface java/util/concurrent/locks/Lock.lock ()V 1
      // 02c: aload 0
      // 02d: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.g Ljava/util/Map;
      // 030: aload 1
      // 031: invokevirtual com/l7tech/server/communityschemas/p.getSystemId ()Ljava/lang/String;
      // 034: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 039: checkcast com/l7tech/server/communityschemas/SchemaHandle
      // 03c: astore 3
      // 03d: aload 3
      // 03e: ifnull 077
      // 041: aload 3
      // 042: invokevirtual com/l7tech/server/communityschemas/SchemaHandle.getTarget ()Lcom/l7tech/server/communityschemas/p;
      // 045: aload 1
      // 046: if_acmpne 077
      // 049: goto 050
      // 04c: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 04f: athrow
      // 050: aload 0
      // 051: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.g Ljava/util/Map;
      // 054: aload 1
      // 055: invokevirtual com/l7tech/server/communityschemas/p.getSystemId ()Ljava/lang/String;
      // 058: invokeinterface java/util/Map.remove (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 05d: pop
      // 05e: aload 0
      // 05f: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.l Ljava/util/Map;
      // 062: aload 1
      // 063: invokevirtual com/l7tech/server/communityschemas/p.getSystemId ()Ljava/lang/String;
      // 066: bipush 1
      // 067: invokestatic java/lang/Integer.valueOf (I)Ljava/lang/Integer;
      // 06a: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 06f: pop
      // 070: goto 077
      // 073: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 076: athrow
      // 077: aload 0
      // 078: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.h Ljava/util/Map;
      // 07b: aload 2
      // 07c: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 081: checkcast java/util/Map
      // 084: astore 4
      // 086: aload 4
      // 088: ifnonnull 09a
      // 08b: aload 0
      // 08c: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 08f: invokeinterface java/util/concurrent/locks/ReadWriteLock.writeLock ()Ljava/util/concurrent/locks/Lock; 1
      // 094: invokeinterface java/util/concurrent/locks/Lock.unlock ()V 1
      // 099: return
      // 09a: aload 4
      // 09c: aload 1
      // 09d: invokeinterface java/util/Map.remove (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 0a2: pop
      // 0a3: aload 0
      // 0a4: aload 4
      // 0a6: invokeinterface java/util/Map.keySet ()Ljava/util/Set; 1
      // 0ab: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/util/Collection;)Z
      // 0ae: ifne 108
      // 0b1: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.a Ljava/util/logging/Logger;
      // 0b4: getstatic java/util/logging/Level.INFO Ljava/util/logging/Level;
      // 0b7: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 0ba: ifeq 0db
      // 0bd: goto 0c4
      // 0c0: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0c3: athrow
      // 0c4: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.a Ljava/util/logging/Logger;
      // 0c7: getstatic java/util/logging/Level.INFO Ljava/util/logging/Level;
      // 0ca: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.u [Ljava/lang/String;
      // 0cd: bipush 47
      // 0cf: aaload
      // 0d0: aload 2
      // 0d1: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
      // 0d4: goto 0db
      // 0d7: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0da: athrow
      // 0db: aload 4
      // 0dd: invokeinterface java/util/Map.keySet ()Ljava/util/Set; 1
      // 0e2: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 0e7: astore 5
      // 0e9: aload 5
      // 0eb: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 0f0: ifeq 108
      // 0f3: aload 5
      // 0f5: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 0fa: checkcast com/l7tech/server/communityschemas/p
      // 0fd: astore 6
      // 0ff: aload 6
      // 101: bipush 0
      // 102: invokevirtual com/l7tech/server/communityschemas/p.a (Z)V
      // 105: goto 0e9
      // 108: aload 0
      // 109: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 10c: invokeinterface java/util/concurrent/locks/ReadWriteLock.writeLock ()Ljava/util/concurrent/locks/Lock; 1
      // 111: invokeinterface java/util/concurrent/locks/Lock.unlock ()V 1
      // 116: goto 12c
      // 119: astore 7
      // 11b: aload 0
      // 11c: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 11f: invokeinterface java/util/concurrent/locks/ReadWriteLock.writeLock ()Ljava/util/concurrent/locks/Lock; 1
      // 124: invokeinterface java/util/concurrent/locks/Lock.unlock ()V 1
      // 129: aload 7
      // 12b: athrow
      // 12c: return
      // try (28 -> 49): 50 java/lang/NullPointerException
      // try (26 -> 32): 33 java/lang/NullPointerException
      // try (19 -> 60): 111 null
      // try (74 -> 88): 89 java/lang/NullPointerException
      // try (65 -> 78): 79 java/lang/NullPointerException
      // try (65 -> 106): 111 null
      // try (111 -> 112): 111 null
   }

   private void c(p var1, Set<p> var2) {
      Set var3 = var1.f();
      boolean var4 = false;

      for (p var6 : var3) {
         try {
            if (var6 == null) {
               continue;
            }
         } catch (NullPointerException var8) {
            throw a(var8);
         }

         var4 = true;
         this.c(var6, var2);
      }

      try {
         if (!var4) {
            var2.add(var1);
         }
      } catch (NullPointerException var7) {
         throw a(var7);
      }
   }

   private void a(p var1, Set<p> var2, StringBuilder var3, String var4) {
      var2.add(var1);
      var3.append(var4).append(var1);
      int var5 = var4.length();

      try {
         while (var5 < 14) {
            var3.append(" ");
            var5++;
         }
      } catch (NullPointerException var10) {
         throw a(var10);
      }

      var3.append(var1.g()).append("\n");
      Map var11 = var1.e();

      for (SchemaHandle var7 : var11.values()) {
         p var8 = var7.getTarget();

         try {
            if (var8 != null) {
               this.a(var8, var2, var3, u[34] + var4);
            }
         } catch (NullPointerException var9) {
            throw a(var9);
         }
      }
   }

   private void g() {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.a Ljava/util/logging/Logger;
      // 003: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 006: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 009: ifne 011
      // 00c: return
      // 00d: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 010: athrow
      // 011: new java/lang/StringBuilder
      // 014: dup
      // 015: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.u [Ljava/lang/String;
      // 018: astore 14
      // 01a: aload 14
      // 01c: bipush 40
      // 01e: aaload
      // 01f: invokespecial java/lang/StringBuilder.<init> (Ljava/lang/String;)V
      // 022: astore 1
      // 023: new java/util/HashSet
      // 026: dup
      // 027: invokespecial java/util/HashSet.<init> ()V
      // 02a: astore 2
      // 02b: new java/util/HashSet
      // 02e: dup
      // 02f: invokespecial java/util/HashSet.<init> ()V
      // 032: astore 3
      // 033: aload 0
      // 034: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 037: invokeinterface java/util/concurrent/locks/ReadWriteLock.readLock ()Ljava/util/concurrent/locks/Lock; 1
      // 03c: invokeinterface java/util/concurrent/locks/Lock.lock ()V 1
      // 041: aload 0
      // 042: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.g Ljava/util/Map;
      // 045: invokeinterface java/util/Map.values ()Ljava/util/Collection; 1
      // 04a: astore 4
      // 04c: aload 4
      // 04e: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 053: astore 5
      // 055: aload 5
      // 057: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 05c: ifeq 094
      // 05f: aload 5
      // 061: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 066: checkcast com/l7tech/server/communityschemas/SchemaHandle
      // 069: astore 6
      // 06b: aload 6
      // 06d: ifnonnull 077
      // 070: goto 055
      // 073: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 076: athrow
      // 077: aload 6
      // 079: invokevirtual com/l7tech/server/communityschemas/SchemaHandle.getTarget ()Lcom/l7tech/server/communityschemas/p;
      // 07c: astore 7
      // 07e: aload 7
      // 080: ifnonnull 08a
      // 083: goto 055
      // 086: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 089: athrow
      // 08a: aload 0
      // 08b: aload 7
      // 08d: aload 2
      // 08e: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.c (Lcom/l7tech/server/communityschemas/p;Ljava/util/Set;)V
      // 091: goto 055
      // 094: aload 2
      // 095: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 09a: astore 5
      // 09c: aload 5
      // 09e: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 0a3: ifeq 0c7
      // 0a6: aload 5
      // 0a8: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 0ad: checkcast com/l7tech/server/communityschemas/p
      // 0b0: astore 6
      // 0b2: aload 0
      // 0b3: aload 6
      // 0b5: aload 3
      // 0b6: aload 1
      // 0b7: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.u [Ljava/lang/String;
      // 0ba: astore 14
      // 0bc: aload 14
      // 0be: bipush 39
      // 0c0: aaload
      // 0c1: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.a (Lcom/l7tech/server/communityschemas/p;Ljava/util/Set;Ljava/lang/StringBuilder;Ljava/lang/String;)V
      // 0c4: goto 09c
      // 0c7: aload 4
      // 0c9: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 0ce: astore 5
      // 0d0: aload 5
      // 0d2: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 0d7: ifeq 128
      // 0da: aload 5
      // 0dc: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 0e1: checkcast com/l7tech/server/communityschemas/SchemaHandle
      // 0e4: astore 6
      // 0e6: aload 6
      // 0e8: ifnonnull 0f2
      // 0eb: goto 0d0
      // 0ee: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0f1: athrow
      // 0f2: aload 6
      // 0f4: invokevirtual com/l7tech/server/communityschemas/SchemaHandle.getTarget ()Lcom/l7tech/server/communityschemas/p;
      // 0f7: astore 7
      // 0f9: aload 7
      // 0fb: ifnonnull 105
      // 0fe: goto 0d0
      // 101: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 104: athrow
      // 105: aload 3
      // 106: aload 7
      // 108: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 10d: ifne 125
      // 110: aload 0
      // 111: aload 7
      // 113: aload 3
      // 114: aload 1
      // 115: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.u [Ljava/lang/String;
      // 118: bipush 35
      // 11a: aaload
      // 11b: invokevirtual com/l7tech/server/communityschemas/SchemaManagerImpl.a (Lcom/l7tech/server/communityschemas/p;Ljava/util/Set;Ljava/lang/StringBuilder;Ljava/lang/String;)V
      // 11e: goto 125
      // 121: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 124: athrow
      // 125: goto 0d0
      // 128: aload 1
      // 129: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.u [Ljava/lang/String;
      // 12c: astore 14
      // 12e: aload 14
      // 130: bipush 48
      // 132: aaload
      // 133: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 136: pop
      // 137: aload 0
      // 138: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.h Ljava/util/Map;
      // 13b: invokeinterface java/util/Map.entrySet ()Ljava/util/Set; 1
      // 140: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 145: astore 5
      // 147: aload 5
      // 149: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 14e: ifeq 233
      // 151: aload 5
      // 153: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 158: checkcast java/util/Map$Entry
      // 15b: astore 6
      // 15d: aload 6
      // 15f: invokeinterface java/util/Map$Entry.getKey ()Ljava/lang/Object; 1
      // 164: checkcast java/lang/String
      // 167: astore 7
      // 169: aload 6
      // 16b: invokeinterface java/util/Map$Entry.getValue ()Ljava/lang/Object; 1
      // 170: checkcast java/util/Map
      // 173: astore 8
      // 175: aload 7
      // 177: ifnull 147
      // 17a: aload 8
      // 17c: ifnull 147
      // 17f: aload 8
      // 181: invokeinterface java/util/Map.isEmpty ()Z 1
      // 186: ifeq 190
      // 189: goto 147
      // 18c: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 18f: athrow
      // 190: aload 1
      // 191: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.u [Ljava/lang/String;
      // 194: astore 14
      // 196: aload 14
      // 198: bipush 29
      // 19a: aaload
      // 19b: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 19e: aload 7
      // 1a0: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 1a3: ldc "\n"
      // 1a5: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 1a8: pop
      // 1a9: aload 8
      // 1ab: invokeinterface java/util/Map.keySet ()Ljava/util/Set; 1
      // 1b0: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 1b5: astore 9
      // 1b7: aload 9
      // 1b9: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 1be: ifeq 230
      // 1c1: aload 9
      // 1c3: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 1c8: checkcast com/l7tech/server/communityschemas/p
      // 1cb: astore 10
      // 1cd: aload 10
      // 1cf: ifnonnull 1d9
      // 1d2: goto 1b7
      // 1d5: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1d8: athrow
      // 1d9: aload 0
      // 1da: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.g Ljava/util/Map;
      // 1dd: aload 10
      // 1df: invokevirtual com/l7tech/server/communityschemas/p.getSystemId ()Ljava/lang/String;
      // 1e2: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 1e7: checkcast com/l7tech/server/communityschemas/SchemaHandle
      // 1ea: astore 11
      // 1ec: aload 11
      // 1ee: ifnull 20b
      // 1f1: aload 11
      // 1f3: invokevirtual com/l7tech/server/communityschemas/SchemaHandle.getTarget ()Lcom/l7tech/server/communityschemas/p;
      // 1f6: aload 10
      // 1f8: if_acmpne 20b
      // 1fb: goto 202
      // 1fe: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 201: athrow
      // 202: ldc "*"
      // 204: goto 20d
      // 207: invokestatic com/l7tech/server/communityschemas/SchemaManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 20a: athrow
      // 20b: ldc " "
      // 20d: astore 12
      // 20f: aload 1
      // 210: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.u [Ljava/lang/String;
      // 213: astore 14
      // 215: aload 14
      // 217: bipush 41
      // 219: aaload
      // 21a: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 21d: aload 12
      // 21f: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 222: aload 10
      // 224: invokevirtual java/lang/StringBuilder.append (Ljava/lang/Object;)Ljava/lang/StringBuilder;
      // 227: ldc "\n"
      // 229: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 22c: pop
      // 22d: goto 1b7
      // 230: goto 147
      // 233: aload 0
      // 234: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 237: invokeinterface java/util/concurrent/locks/ReadWriteLock.readLock ()Ljava/util/concurrent/locks/Lock; 1
      // 23c: invokeinterface java/util/concurrent/locks/Lock.unlock ()V 1
      // 241: goto 257
      // 244: astore 13
      // 246: aload 0
      // 247: getfield com/l7tech/server/communityschemas/SchemaManagerImpl.f Ljava/util/concurrent/locks/ReadWriteLock;
      // 24a: invokeinterface java/util/concurrent/locks/ReadWriteLock.readLock ()Ljava/util/concurrent/locks/Lock; 1
      // 24f: invokeinterface java/util/concurrent/locks/Lock.unlock ()V 1
      // 254: aload 13
      // 256: athrow
      // 257: aload 1
      // 258: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.u [Ljava/lang/String;
      // 25b: bipush 14
      // 25d: aaload
      // 25e: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 261: pop
      // 262: getstatic com/l7tech/server/communityschemas/SchemaManagerImpl.a Ljava/util/logging/Logger;
      // 265: aload 1
      // 266: invokevirtual java/lang/StringBuilder.toString ()Ljava/lang/String;
      // 269: invokevirtual java/util/logging/Logger.finest (Ljava/lang/String;)V
      // 26c: return
      // try (195 -> 204): 204 java/lang/NullPointerException
      // try (193 -> 199): 200 java/lang/NullPointerException
      // try (181 -> 184): 184 java/lang/NullPointerException
      // try (152 -> 156): 156 java/lang/NullPointerException
      // try (104 -> 116): 117 java/lang/NullPointerException
      // try (99 -> 102): 102 java/lang/NullPointerException
      // try (91 -> 94): 94 java/lang/NullPointerException
      // try (50 -> 53): 53 java/lang/NullPointerException
      // try (42 -> 45): 45 java/lang/NullPointerException
      // try (0 -> 5): 5 java/lang/NullPointerException
      // try (28 -> 224): 229 null
      // try (229 -> 230): 229 null
   }

   static {
      String[] var5 = new String[51];
      int var3 = 0;
      String var2 = "\u001c9HS\u0001mj,;C^\t,'.3NB\tb+!9E\u001c\u001a4AT\u0000ij;5\u0000F\r~9*zx{ ,\u0019,2E[\r,m\u0019\u000ezSU\u0004i'.zMC\u001fxj-?\u0000F\u001ec<&>ER(\u001a4AT\u0000ij;5\u0000D\t\u007f%#,E\u0016\u001fo\"*7A\u0016\nc8o4A[\t\u007f:.9E\fL.\u001c9HS\u0001mj,;C^\t,)#5S_\u0002kj4j]\u0016\u0019b?<?D\u0016\u001fo\"*7A\u0016\u0004m$+6EE),5M\u0018\u0000;>*9H\u0018\u001fi89?R\u0018\u001fo\"*7A\u0018\u0001e$\f6EW\u0002y:\u001f?R_\u0003h$,5M\u0018\u0000;>*9H\u0018\u001fi89?R\u0018\u001fo\"*7A\u0018\r`& -rS\u0001c>*,hv\u0000R\t|/!>EX\u000fuj&4FYLb%;zA@\re&.8LS@,/=(ODLe9uz\u001c\u001a4AT\u0000ij;5\u0000F\r~9*zx{ ,\u0019,2E[\r,m<\u001a4AT\u0000ij;5\u0000D\t\u007f%#,E\u0016\u0019~#o}\u0007M\\qmhv\u0000D\t`+;3VSLx%o8AE\t,?=3\u0000\u0011Kw{2}\u0007\u0018\u0019\f3RU\u0019`+=zI[\u001cc8;zDS\u0018i);?D\u0018*\u001a4AT\u0000ij;5\u0000D\t\u007f%#,E\u0016\bi:*4DS\u0002o3o<ODL~/<5UD\u000fij\rhv\u0000S\u001e~%=zIEV,\u0007?5L_\u000fup\u0002EP*\u001c9HS\u0001mj\u001a\bi\u0016\u0002c>o*ED\u0001e>;?D\u0016\u0005bj;2IELo%!.EN\u00186j!\u001d?MY\u0018ij=?SY\u0019~)*zAU\u000fi9<zFY\u001en#+>EXB\u0007\u001a4KX\u0003{$<\u001a4AT\u0000ij;5\u0000D\t\u007f%#,E\u0016\u0019~#o}\u0007M\\qmhv\u0000D\t`+;3VSLx%o8AE\t,?=3\u0000\u0011Kw{2}\u0007\u0018*\u001a4AT\u0000ij;5\u0000D\t\u007f%#,E\u0016\bi:*4DS\u0002o3o<ODL~/<5UD\u000fij(\u00015\u0000[\u0003~/o)C^\ta+<zW_\u0018dj;;RQ\tx\u0004.7EE\u001cm)*z[\u0006\u00116\u000b5CC\u0001i$;zRS\ni8=?D\u0016\u0018cj.4\u0000S\u0014x/=4AZLi$;3TOL{#;2\u0000E\u0015\u007f>*7\u0000_\b*\u001d/NX\u0005b-o*ED\u0005c.&9\u0000E\u000fd/\";\u0000U\ro\"*zCZ\tm$:*\u0000B\r\u007f! \n(RY\u001e,+,9EE\u001fe$(zSU\u0004i'.zFY\u001e,?=3\u0000\u0011\u0004\u001a\bi\f<\u001d?BC\u0005`.&4G\u0016\u001fo\"*7A\u0016\u000fm)'?\u0000R\u0019ij;5\u0000U\u0004m$(?\u0000_\u0002,).9HSLo%!<IQ\u0019~+;3OX\u0003o`\u0000\t\u001f/BZ\u0005o\u0003\u000b`\u0005\u0014>TR1\u0006oztx?6\n\u0001;MS\u001f|+,?\u001a\u0003o`\u0000\u0003h`\u0000\u0016\u001a4AT\u0000ij;5\u0000F\r~9*zsU\u0004i'.\u0004oz\u0000\u0016\u0002pw\u001d?5L_\u000fup.)SS\u001ex# 4\u001aE\u000fd/\";VW\u000069.)\u00064VW\u0000e...IX\u000b,).9HS\b,9,2E[\r,=&.H\u0016\u001fu9;?M\u007f\b,\u000b\f6OE\u0005b-o!\u0010K\u0002ow\u001bEPsU\u0004i'.zCW\u000fd/o9OX\u0018i$;)\u001a\u0016f\u0006\u0007oz\u0000\u0016L,j\u0013\u001a4AT\u0000ij;5\u0000D\t\u007f%#,E\u0016K\u0019\u001a4AT\u0000ij;5\u0000D\t\u007f%#,E\u0016\u001fo\"*7A\u0016\fhv\u0000W\u000bm#!)T\u0016K+,5M\u0018\u0000;>*9H\u0018\u001fi89?R\u0018\u001fo\"*7A\u0018\u001fx8&9Tr\u0003o>6*Eu\u0004i)$%\n(RY\u001e,='3LSL~/-/IZ\be$(zSU\u0004i'.zCW\u000fd/uzK\u001d?MW\u0005b#!=\u0000E\u000fd/\";S\u0016\u001be>'zTX\u001f,h4j]\u0014Lm8*zNY\u001b,/#3G_\u000e`/o<ODLd+=>WW\u001eij.9CS\u0000i8..IY\u0002\rEPtx?,).9HSV\u0006";
      int var4 = "\u001c9HS\u0001mj,;C^\t,'.3NB\tb+!9E\u001c\u001a4AT\u0000ij;5\u0000F\r~9*zx{ ,\u0019,2E[\r,m\u0019\u000ezSU\u0004i'.zMC\u001fxj-?\u0000F\u001ec<&>ER(\u001a4AT\u0000ij;5\u0000D\t\u007f%#,E\u0016\u001fo\"*7A\u0016\nc8o4A[\t\u007f:.9E\fL.\u001c9HS\u0001mj,;C^\t,)#5S_\u0002kj4j]\u0016\u0019b?<?D\u0016\u001fo\"*7A\u0016\u0004m$+6EE),5M\u0018\u0000;>*9H\u0018\u001fi89?R\u0018\u001fo\"*7A\u0018\u0001e$\f6EW\u0002y:\u001f?R_\u0003h$,5M\u0018\u0000;>*9H\u0018\u001fi89?R\u0018\u001fo\"*7A\u0018\r`& -rS\u0001c>*,hv\u0000R\t|/!>EX\u000fuj&4FYLb%;zA@\re&.8LS@,/=(ODLe9uz\u001c\u001a4AT\u0000ij;5\u0000F\r~9*zx{ ,\u0019,2E[\r,m<\u001a4AT\u0000ij;5\u0000D\t\u007f%#,E\u0016\u0019~#o}\u0007M\\qmhv\u0000D\t`+;3VSLx%o8AE\t,?=3\u0000\u0011Kw{2}\u0007\u0018\u0019\f3RU\u0019`+=zI[\u001cc8;zDS\u0018i);?D\u0018*\u001a4AT\u0000ij;5\u0000D\t\u007f%#,E\u0016\bi:*4DS\u0002o3o<ODL~/<5UD\u000fij\rhv\u0000S\u001e~%=zIEV,\u0007?5L_\u000fup\u0002EP*\u001c9HS\u0001mj\u001a\bi\u0016\u0002c>o*ED\u0001e>;?D\u0016\u0005bj;2IELo%!.EN\u00186j!\u001d?MY\u0018ij=?SY\u0019~)*zAU\u000fi9<zFY\u001en#+>EXB\u0007\u001a4KX\u0003{$<\u001a4AT\u0000ij;5\u0000D\t\u007f%#,E\u0016\u0019~#o}\u0007M\\qmhv\u0000D\t`+;3VSLx%o8AE\t,?=3\u0000\u0011Kw{2}\u0007\u0018*\u001a4AT\u0000ij;5\u0000D\t\u007f%#,E\u0016\bi:*4DS\u0002o3o<ODL~/<5UD\u000fij(\u00015\u0000[\u0003~/o)C^\ta+<zW_\u0018dj;;RQ\tx\u0004.7EE\u001cm)*z[\u0006\u00116\u000b5CC\u0001i$;zRS\ni8=?D\u0016\u0018cj.4\u0000S\u0014x/=4AZLi$;3TOL{#;2\u0000E\u0015\u007f>*7\u0000_\b*\u001d/NX\u0005b-o*ED\u0005c.&9\u0000E\u000fd/\";\u0000U\ro\"*zCZ\tm$:*\u0000B\r\u007f! \n(RY\u001e,+,9EE\u001fe$(zSU\u0004i'.zFY\u001e,?=3\u0000\u0011\u0004\u001a\bi\f<\u001d?BC\u0005`.&4G\u0016\u001fo\"*7A\u0016\u000fm)'?\u0000R\u0019ij;5\u0000U\u0004m$(?\u0000_\u0002,).9HSLo%!<IQ\u0019~+;3OX\u0003o`\u0000\t\u001f/BZ\u0005o\u0003\u000b`\u0005\u0014>TR1\u0006oztx?6\n\u0001;MS\u001f|+,?\u001a\u0003o`\u0000\u0003h`\u0000\u0016\u001a4AT\u0000ij;5\u0000F\r~9*zsU\u0004i'.\u0004oz\u0000\u0016\u0002pw\u001d?5L_\u000fup.)SS\u001ex# 4\u001aE\u000fd/\";VW\u000069.)\u00064VW\u0000e...IX\u000b,).9HS\b,9,2E[\r,=&.H\u0016\u001fu9;?M\u007f\b,\u000b\f6OE\u0005b-o!\u0010K\u0002ow\u001bEPsU\u0004i'.zCW\u000fd/o9OX\u0018i$;)\u001a\u0016f\u0006\u0007oz\u0000\u0016L,j\u0013\u001a4AT\u0000ij;5\u0000D\t\u007f%#,E\u0016K\u0019\u001a4AT\u0000ij;5\u0000D\t\u007f%#,E\u0016\u001fo\"*7A\u0016\fhv\u0000W\u000bm#!)T\u0016K+,5M\u0018\u0000;>*9H\u0018\u001fi89?R\u0018\u001fo\"*7A\u0018\u001fx8&9Tr\u0003o>6*Eu\u0004i)$%\n(RY\u001e,='3LSL~/-/IZ\be$(zSU\u0004i'.zCW\u000fd/uzK\u001d?MW\u0005b#!=\u0000E\u000fd/\";S\u0016\u001be>'zTX\u001f,h4j]\u0014Lm8*zNY\u001b,/#3G_\u000e`/o<ODLd+=>WW\u001eij.9CS\u0000i8..IY\u0002\rEPtx?,).9HSV\u0006"
         .length();
      char var1 = 24;
      int var8 = -1;

      label39:
      while (true) {
         byte var10000 = 47;
         String var10001 = var2.substring(++var8, var8 + var1);
         byte var10002 = -1;

         while (true) {
            String var10 = a(var10000, f(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var10;
                  if ((var8 += var1) >= var4) {
                     u = var5;

                     label26: {
                        try {
                           if (!SchemaManagerImpl.class.desiredAssertionStatus()) {
                              var11 = true;
                              break label26;
                           }
                        } catch (NullPointerException var6) {
                           throw a(var6);
                        }

                        var11 = false;
                     }

                     t = var11;
                     a = Logger.getLogger(SchemaManagerImpl.class.getName());
                     String[] var9 = u;
                     b = ConfigFactory.getLongProperty(var9[5], 5000L);
                     c = ConfigFactory.getBooleanProperty(var9[6], false);
                     d = ConfigFactory.getBooleanProperty(var9[45], true);
                     return;
                  }

                  var1 = var2.charAt(var8);
                  break;
               default:
                  var5[var3++] = var10;
                  if ((var8 += var1) < var4) {
                     var1 = var2.charAt(var8);
                     continue label39;
                  }

                  var2 = "ZD2`;N\u001d\u0013\fwj=GX\u0014\u0006tk~P\u0017\tHsr?W\u0014\u001c\n~ar\u001e\u001d\u000f\u001a}v~W\u000bGHb(\u001bw$1XX\u0019\u0007qq3[\u0016\tHf}.[X\u0019\rtm0W\f\u0014\u0007|w~W\u0016]0_H~m\u001b\u0015\r\u007fe-\u001e\u0011\u000eHvm-_\u001a\u0011\rv$vM\u001b\u0015\r\u007fep_\u0014\u0011\u0007e@1]\f\u0004\u0018w$=R\r\u000e\u001cwv~N\n\u0012\u0018wv*GQ";
                  var4 = "ZD2`;N\u001d\u0013\fwj=GX\u0014\u0006tk~P\u0017\tHsr?W\u0014\u001c\n~ar\u001e\u001d\u000f\u001a}v~W\u000bGHb(\u001bw$1XX\u0019\u0007qq3[\u0016\tHf}.[X\u0019\rtm0W\f\u0014\u0007|w~W\u0016]0_H~m\u001b\u0015\r\u007fe-\u001e\u0011\u000eHvm-_\u001a\u0011\rv$vM\u001b\u0015\r\u007fep_\u0014\u0011\u0007e@1]\f\u0004\u0018w$=R\r\u000e\u001cwv~N\n\u0012\u0018wv*GQ"
                     .length();
                  var1 = ',';
                  var8 = -1;
            }

            var10000 = 29;
            var10001 = var2.substring(++var8, var8 + var1);
            var10002 = 0;
         }
      }
   }

   private static Exception a(Exception var0) {
      return var0;
   }

   private static char[] f(String var0) {
      char[] var10000 = var0.toCharArray();
      if (var10000.length < 2) {
         var10000[0] = (char)(var10000[0] ^ 101);
      }

      return var10000;
   }

   private static String a(int var0, char[] var1) {
      int var10003 = var1.length;
      int var10002 = var0;
      char[] var10001 = var1;
      int var10000 = var10003;

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 96;
            case 1 -> 117;
            case 2 -> 15;
            case 3 -> 25;
            case 4 -> 67;
            case 5 -> 35;
            default -> 101;
         });
      }

      return new String(var10001).intern();
   }

   private static final class SchemaResource extends Triple<String, String, String> {
      static final long serialVersionUID = 1888801943819837180L;

      private SchemaResource(String var1, String var2, String var3) {
         super(var1, var2, var3);
      }

      public String getUri() {
         return (String)this.left;
      }

      public String getTargetNamespace() {
         return (String)this.middle;
      }

      public String getContent() {
         return (String)this.right;
      }
   }

   private static class UnresolvableException extends RuntimeException {
      private final String resourceDescription;
      static final long serialVersionUID = 3872515791357272531L;
      private static final String a;

      private UnresolvableException(Throwable var1, String var2) {
         super(var1);
         this.resourceDescription = var2;
      }

      @Override
      public String getMessage() {
         return a + this.resourceDescription;
      }

      public String getResourceDescription() {
         return this.resourceDescription;
      }

      static {
         String var10002 = a(121, a("\u000e)M'S4\u001d/(\f7Z\"R71IeM4N42^&Zq"));
         byte var10001 = -1;
         a = var10002;
      }

      private static char[] a(String var0) {
         char[] var10000 = var0.toCharArray();
         if (var10000.length < 2) {
            var10000[0] = (char)(var10000[0] ^ 68);
         }

         return var10000;
      }

      private static String a(int var0, char[] var1) {
         int var10003 = var1.length;
         int var10002 = var0;
         char[] var10001 = var1;
         int var10000 = var10003;

         for (int var2 = 0; var10000 > var2; var2++) {
            var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
               case 0 -> 34;
               case 1 -> 62;
               case 2 -> 85;
               case 3 -> 60;
               case 4 -> 70;
               case 5 -> 40;
               default -> 68;
            });
         }

         return new String(var10001).intern();
      }
   }
}
