package com.l7tech.gateway.pm2.graphql.helper;

import com.l7tech.common.io.XmlUtil;
import com.l7tech.gateway.common.resources.ResourceAdmin;
import com.l7tech.gateway.common.service.PublishedService;
import com.l7tech.gateway.common.service.ServiceAdmin;
import com.l7tech.gateway.pm2.graphql.beans.entity.DocType;
import com.l7tech.gateway.pm2.graphql.beans.entity.PM2ValidationResponseDTO;
import com.l7tech.gateway.pm2.graphql.beans.entity.URLResourceDocumentDTO;
import com.l7tech.gateway.pm2.graphql.beans.entity.XmlSchemaDetailsFromServiceDTO;
import com.l7tech.gateway.pm2.graphql.exception.PM2GraphQLException;
import com.l7tech.json.JSONData;
import com.l7tech.json.JSONFactory;
import com.l7tech.json.JsonSchemaVersion;
import com.l7tech.policy.assertion.xml.SchemaValidation;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.Functions;
import com.l7tech.util.Pair;
import com.l7tech.wsdl.Wsdl;
import com.sun.xacml.ParsingException;
import com.sun.xacml.Policy;
import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.wsdl.Binding;
import javax.wsdl.WSDLException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;

public class PM2ResourcesHelper {
   private static final Logger a;
   private final ServiceAdmin b;
   private final ResourceAdmin c;
   private static final String[] d;

   public PM2ResourcesHelper(ServiceAdmin var1, ResourceAdmin var2) {
      this.b = var1;
      this.c = var2;
   }

   public URLResourceDocumentDTO retrieveDocumentFromUrl(String var1, DocType var2) {
      try {
         String var3 = this.b.resolveUrlTarget(var1, var2.getDocumentType(), var2.getDownloadLimitCWP());
         return new URLResourceDocumentDTO(var3, var2.name());
      } catch (Exception var4) {
         throw new PM2GraphQLException(ExceptionUtils.getMessage(var4), var4);
      }
   }

   public URLResourceDocumentDTO validateJsonSchemaDocument(String var1, JsonSchemaVersion var2) {
      try {
         JSONData var3 = JSONFactory.INSTANCE.newJsonData(var1, var2);
         JSONFactory.INSTANCE.newJsonSchema(var3);
      } catch (Exception var4) {
         throw new PM2GraphQLException(ExceptionUtils.getMessage(var4), var4);
      }

      return new URLResourceDocumentDTO("", DocType.JSON_SCHEMA.name());
   }

   public URLResourceDocumentDTO validateXmlSchemaContent(String param1, String 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: aload 1
      // 02: aload 2
      // 03: new com/l7tech/gateway/pm2/graphql/helper/PM2ResourceAdminEntityResolver
      // 06: dup
      // 07: aload 0
      // 08: getfield com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.c Lcom/l7tech/gateway/common/resources/ResourceAdmin;
      // 0b: bipush 1
      // 0c: invokespecial com/l7tech/gateway/pm2/graphql/helper/PM2ResourceAdminEntityResolver.<init> (Lcom/l7tech/gateway/common/resources/ResourceAdmin;Z)V
      // 0f: invokevirtual com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.a (Ljava/lang/String;Ljava/lang/String;Lorg/xml/sax/EntityResolver;)Lorg/w3c/dom/Document;
      // 12: astore 3
      // 13: goto 7e
      // 16: astore 4
      // 18: getstatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.a Ljava/util/logging/Logger;
      // 1b: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 1e: getstatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.d [Ljava/lang/String;
      // 21: astore 5
      // 23: aload 5
      // 25: bipush 9
      // 27: aaload
      // 28: aload 4
      // 2a: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 2d: new com/l7tech/gateway/pm2/graphql/exception/PM2GraphQLException
      // 30: dup
      // 31: aload 4
      // 33: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 36: aload 5
      // 38: bipush 4
      // 39: aaload
      // 3a: swap
      // 3b: 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" ]
      // 40: aload 4
      // 42: invokespecial com/l7tech/gateway/pm2/graphql/exception/PM2GraphQLException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 45: athrow
      // 46: astore 4
      // 48: getstatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.a Ljava/util/logging/Logger;
      // 4b: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 4e: aload 1
      // 4f: getstatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.d [Ljava/lang/String;
      // 52: astore 5
      // 54: aload 5
      // 56: bipush 7
      // 58: aaload
      // 59: swap
      // 5a: 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" ]
      // 5f: aload 4
      // 61: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 64: new com/l7tech/gateway/pm2/graphql/exception/PM2GraphQLException
      // 67: dup
      // 68: aload 4
      // 6a: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 6d: aload 5
      // 6f: bipush 11
      // 71: aaload
      // 72: swap
      // 73: 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" ]
      // 78: aload 4
      // 7a: invokespecial com/l7tech/gateway/pm2/graphql/exception/PM2GraphQLException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 7d: athrow
      // 7e: aload 3
      // 7f: ifnull 8e
      // 82: aload 0
      // 83: aload 3
      // 84: invokevirtual com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.a (Lorg/w3c/dom/Document;)Z
      // 87: ifne b9
      // 8a: goto 8e
      // 8d: athrow
      // 8e: getstatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.a Ljava/util/logging/Logger;
      // 91: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 94: aload 1
      // 95: getstatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.d [Ljava/lang/String;
      // 98: bipush 3
      // 99: aaload
      // 9a: swap
      // 9b: 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" ]
      // a0: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // a3: new com/l7tech/gateway/pm2/graphql/exception/PM2GraphQLException
      // a6: dup
      // a7: aload 1
      // a8: getstatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.d [Ljava/lang/String;
      // ab: bipush 12
      // ad: aaload
      // ae: swap
      // af: 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" ]
      // b4: invokespecial com/l7tech/gateway/pm2/graphql/exception/PM2GraphQLException.<init> (Ljava/lang/String;)V
      // b7: athrow
      // b8: athrow
      // b9: new com/l7tech/gateway/pm2/graphql/beans/entity/URLResourceDocumentDTO
      // bc: dup
      // bd: ldc ""
      // bf: ldc ""
      // c1: invokespecial com/l7tech/gateway/pm2/graphql/beans/entity/URLResourceDocumentDTO.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // c4: areturn
      // try (0 -> 11): 12 org/xml/sax/SAXException
      // try (0 -> 11): 34 java/io/IOException
      // try (59 -> 65): 66 org/xml/sax/SAXException
      // try (61 -> 86): 86 org/xml/sax/SAXException
   }

   public XmlSchemaDetailsFromServiceDTO retrieveXMLSchemaFromService(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:
      // 000: aload 0
      // 001: getfield com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.b Lcom/l7tech/gateway/common/service/ServiceAdmin;
      // 004: aload 1
      // 005: invokeinterface com/l7tech/gateway/common/service/ServiceAdmin.findServiceByID (Ljava/lang/String;)Lcom/l7tech/gateway/common/service/PublishedService; 2
      // 00a: astore 2
      // 00b: goto 01c
      // 00e: astore 3
      // 00f: new com/l7tech/gateway/pm2/graphql/exception/PM2GraphQLException
      // 012: dup
      // 013: aload 3
      // 014: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 017: aload 3
      // 018: invokespecial com/l7tech/gateway/pm2/graphql/exception/PM2GraphQLException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 01b: athrow
      // 01c: aload 2
      // 01d: ifnull 02b
      // 020: aload 2
      // 021: invokevirtual com/l7tech/gateway/common/service/PublishedService.isSoap ()Z
      // 024: ifne 046
      // 027: goto 02b
      // 02a: athrow
      // 02b: new com/l7tech/gateway/pm2/graphql/exception/PM2GraphQLException
      // 02e: dup
      // 02f: aload 1
      // 030: getstatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.d [Ljava/lang/String;
      // 033: bipush 0
      // 034: aaload
      // 035: swap
      // 036: getstatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.d [Ljava/lang/String;
      // 039: bipush 8
      // 03b: aaload
      // 03c: invokedynamic makeConcatWithConstants (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" ]
      // 041: invokespecial com/l7tech/gateway/pm2/graphql/exception/PM2GraphQLException.<init> (Ljava/lang/String;)V
      // 044: athrow
      // 045: athrow
      // 046: aload 2
      // 047: invokevirtual com/l7tech/gateway/common/service/PublishedService.getWsdlXml ()Ljava/lang/String;
      // 04a: astore 3
      // 04b: aload 3
      // 04c: ifnonnull 06a
      // 04f: new com/l7tech/gateway/pm2/graphql/exception/PM2GraphQLException
      // 052: dup
      // 053: aload 1
      // 054: getstatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.d [Ljava/lang/String;
      // 057: bipush 1
      // 058: aaload
      // 059: swap
      // 05a: getstatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.d [Ljava/lang/String;
      // 05d: bipush 6
      // 05f: aaload
      // 060: invokedynamic makeConcatWithConstants (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" ]
      // 065: invokespecial com/l7tech/gateway/pm2/graphql/exception/PM2GraphQLException.<init> (Ljava/lang/String;)V
      // 068: athrow
      // 069: athrow
      // 06a: new java/util/HashMap
      // 06d: dup
      // 06e: invokespecial java/util/HashMap.<init> ()V
      // 071: astore 4
      // 073: aload 4
      // 075: aload 2
      // 076: invokevirtual com/l7tech/gateway/common/service/PublishedService.getWsdlUrl ()Ljava/lang/String;
      // 079: aload 3
      // 07a: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 07f: pop
      // 080: aload 0
      // 081: getfield com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.b Lcom/l7tech/gateway/common/service/ServiceAdmin;
      // 084: aload 1
      // 085: invokeinterface com/l7tech/gateway/common/service/ServiceAdmin.findServiceDocumentsByServiceID (Ljava/lang/String;)Ljava/util/Collection; 2
      // 08a: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 08f: astore 5
      // 091: aload 5
      // 093: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 098: ifeq 0d1
      // 09b: aload 5
      // 09d: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 0a2: checkcast com/l7tech/gateway/common/service/ServiceDocument
      // 0a5: astore 6
      // 0a7: getstatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.d [Ljava/lang/String;
      // 0aa: bipush 18
      // 0ac: aaload
      // 0ad: aload 6
      // 0af: invokevirtual com/l7tech/gateway/common/service/ServiceDocument.getType ()Ljava/lang/String;
      // 0b2: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0b5: ifeq 0ce
      // 0b8: aload 4
      // 0ba: aload 6
      // 0bc: invokevirtual com/l7tech/gateway/common/service/ServiceDocument.getUri ()Ljava/lang/String;
      // 0bf: aload 6
      // 0c1: invokevirtual com/l7tech/gateway/common/service/ServiceDocument.getContents ()Ljava/lang/String;
      // 0c4: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 0c9: pop
      // 0ca: goto 0ce
      // 0cd: athrow
      // 0ce: goto 091
      // 0d1: goto 10e
      // 0d4: astore 5
      // 0d6: getstatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.a Ljava/util/logging/Logger;
      // 0d9: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 0dc: aload 2
      // 0dd: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 0e0: getstatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.d [Ljava/lang/String;
      // 0e3: astore 12
      // 0e5: aload 12
      // 0e7: bipush 20
      // 0e9: aaload
      // 0ea: swap
      // 0eb: 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" ]
      // 0f0: aload 5
      // 0f2: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 0f5: new com/l7tech/gateway/pm2/graphql/exception/PM2GraphQLException
      // 0f8: dup
      // 0f9: aload 2
      // 0fa: invokevirtual com/l7tech/gateway/common/service/PublishedService.getId ()Ljava/lang/String;
      // 0fd: aload 12
      // 0ff: bipush 16
      // 101: aaload
      // 102: swap
      // 103: 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" ]
      // 108: aload 5
      // 10a: invokespecial com/l7tech/gateway/pm2/graphql/exception/PM2GraphQLException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 10d: athrow
      // 10e: aload 0
      // 10f: aload 2
      // 110: aload 4
      // 112: invokevirtual com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.a (Lcom/l7tech/gateway/common/service/PublishedService;Ljava/util/Map;)Z
      // 115: ifne 11b
      // 118: aconst_null
      // 119: areturn
      // 11a: athrow
      // 11b: new java/util/ArrayList
      // 11e: dup
      // 11f: invokespecial java/util/ArrayList.<init> ()V
      // 122: astore 5
      // 124: new java/util/ArrayList
      // 127: dup
      // 128: invokespecial java/util/ArrayList.<init> ()V
      // 12b: astore 6
      // 12d: new java/util/ArrayList
      // 130: dup
      // 131: invokespecial java/util/ArrayList.<init> ()V
      // 134: astore 7
      // 136: new java/util/HashMap
      // 139: dup
      // 13a: invokespecial java/util/HashMap.<init> ()V
      // 13d: astore 8
      // 13f: aload 4
      // 141: invokeinterface java/util/Map.entrySet ()Ljava/util/Set; 1
      // 146: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 14b: astore 9
      // 14d: aload 9
      // 14f: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 154: ifeq 185
      // 157: aload 9
      // 159: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 15e: checkcast java/util/Map$Entry
      // 161: astore 10
      // 163: aload 8
      // 165: aload 10
      // 167: invokeinterface java/util/Map$Entry.getKey ()Ljava/lang/Object; 1
      // 16c: checkcast java/lang/String
      // 16f: aload 10
      // 171: invokeinterface java/util/Map$Entry.getValue ()Ljava/lang/Object; 1
      // 176: checkcast java/lang/String
      // 179: invokestatic com/l7tech/common/io/XmlUtil.stringToDocument (Ljava/lang/String;)Lorg/w3c/dom/Document;
      // 17c: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 181: pop
      // 182: goto 14d
      // 185: aload 8
      // 187: invokeinterface java/util/Map.entrySet ()Ljava/util/Set; 1
      // 18c: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 191: astore 9
      // 193: aload 9
      // 195: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 19a: ifeq 217
      // 19d: aload 9
      // 19f: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 1a4: checkcast java/util/Map$Entry
      // 1a7: astore 10
      // 1a9: new com/l7tech/wsdl/WsdlSchemaAnalizer
      // 1ac: dup
      // 1ad: aload 10
      // 1af: invokeinterface java/util/Map$Entry.getValue ()Ljava/lang/Object; 1
      // 1b4: checkcast org/w3c/dom/Document
      // 1b7: aload 8
      // 1b9: invokespecial com/l7tech/wsdl/WsdlSchemaAnalizer.<init> (Lorg/w3c/dom/Document;Ljava/util/Map;)V
      // 1bc: astore 11
      // 1be: aload 11
      // 1c0: invokevirtual com/l7tech/wsdl/WsdlSchemaAnalizer.splitInputOutputs ()V
      // 1c3: aload 5
      // 1c5: aload 0
      // 1c6: aload 10
      // 1c8: invokeinterface java/util/Map$Entry.getKey ()Ljava/lang/Object; 1
      // 1cd: checkcast java/lang/String
      // 1d0: aload 11
      // 1d2: invokevirtual com/l7tech/wsdl/WsdlSchemaAnalizer.getFullSchemas ()[Lorg/w3c/dom/Element;
      // 1d5: invokevirtual com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.a (Ljava/lang/String;[Lorg/w3c/dom/Element;)Ljava/util/Collection;
      // 1d8: invokeinterface java/util/List.addAll (Ljava/util/Collection;)Z 2
      // 1dd: pop
      // 1de: aload 6
      // 1e0: aload 0
      // 1e1: aload 10
      // 1e3: invokeinterface java/util/Map$Entry.getKey ()Ljava/lang/Object; 1
      // 1e8: checkcast java/lang/String
      // 1eb: aload 11
      // 1ed: invokevirtual com/l7tech/wsdl/WsdlSchemaAnalizer.getInputSchemas ()[Lorg/w3c/dom/Element;
      // 1f0: invokevirtual com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.a (Ljava/lang/String;[Lorg/w3c/dom/Element;)Ljava/util/Collection;
      // 1f3: invokeinterface java/util/List.addAll (Ljava/util/Collection;)Z 2
      // 1f8: pop
      // 1f9: aload 7
      // 1fb: aload 0
      // 1fc: aload 10
      // 1fe: invokeinterface java/util/Map$Entry.getKey ()Ljava/lang/Object; 1
      // 203: checkcast java/lang/String
      // 206: aload 11
      // 208: invokevirtual com/l7tech/wsdl/WsdlSchemaAnalizer.getOutputSchemas ()[Lorg/w3c/dom/Element;
      // 20b: invokevirtual com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.a (Ljava/lang/String;[Lorg/w3c/dom/Element;)Ljava/util/Collection;
      // 20e: invokeinterface java/util/List.addAll (Ljava/util/Collection;)Z 2
      // 213: pop
      // 214: goto 193
      // 217: goto 240
      // 21a: astore 8
      // 21c: getstatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.a Ljava/util/logging/Logger;
      // 21f: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 222: getstatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.d [Ljava/lang/String;
      // 225: astore 12
      // 227: aload 12
      // 229: bipush 17
      // 22b: aaload
      // 22c: aload 8
      // 22e: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 231: new com/l7tech/gateway/pm2/graphql/exception/PM2GraphQLException
      // 234: dup
      // 235: aload 12
      // 237: bipush 21
      // 239: aaload
      // 23a: aload 8
      // 23c: invokespecial com/l7tech/gateway/pm2/graphql/exception/PM2GraphQLException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 23f: athrow
      // 240: new com/l7tech/gateway/pm2/graphql/beans/entity/XmlSchemaDetailsFromServiceDTO
      // 243: dup
      // 244: aload 5
      // 246: invokestatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.extractSchema (Ljava/util/List;)Ljava/lang/String;
      // 249: aload 6
      // 24b: invokestatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.extractSchema (Ljava/util/List;)Ljava/lang/String;
      // 24e: aload 7
      // 250: invokestatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.extractSchema (Ljava/util/List;)Ljava/lang/String;
      // 253: invokespecial com/l7tech/gateway/pm2/graphql/beans/entity/XmlSchemaDetailsFromServiceDTO.<init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
      // 256: areturn
      // 257: astore 8
      // 259: getstatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.a Ljava/util/logging/Logger;
      // 25c: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 25f: getstatic com/l7tech/gateway/pm2/graphql/helper/PM2ResourcesHelper.d [Ljava/lang/String;
      // 262: astore 12
      // 264: aload 12
      // 266: bipush 5
      // 267: aaload
      // 268: aload 8
      // 26a: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 26d: new com/l7tech/gateway/pm2/graphql/exception/PM2GraphQLException
      // 270: dup
      // 271: aload 12
      // 273: bipush 22
      // 275: aaload
      // 276: aload 8
      // 278: invokespecial com/l7tech/gateway/pm2/graphql/exception/PM2GraphQLException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 27b: athrow
      // try (0 -> 5): 6 com/l7tech/objectmodel/FindException
      // try (77 -> 91): 92 com/l7tech/objectmodel/FindException
      // try (38 -> 53): 53 com/l7tech/objectmodel/FindException
      // try (16 -> 34): 34 com/l7tech/objectmodel/FindException
      // try (14 -> 19): 20 com/l7tech/objectmodel/FindException
      // try (64 -> 94): 95 com/l7tech/objectmodel/FindException
      // try (121 -> 128): 128 com/l7tech/objectmodel/FindException
      // try (141 -> 219): 220 org/xml/sax/SAXException
      // try (238 -> 247): 248 java/io/IOException
   }

   public String prettifyXml(String var1) {
      try {
         return XmlUtil.nodeToFormattedString(XmlUtil.stringToDocument(var1));
      } catch (IOException | SAXException var3) {
         a.log(Level.WARNING, d[13], var3);
         throw new PM2GraphQLException(ExceptionUtils.getMessage(var3), var3);
      }
   }

   private Document a(String var1, String var2, EntityResolver var3) throws SAXException, IOException {
      InputSource var4 = new InputSource(var1);
      var4.setCharacterStream(new StringReader(var2));
      return XmlUtil.parse(var4, var3);
   }

   private boolean a(Document var1) {
      Element var2 = var1.getDocumentElement();

      try {
         if (!SchemaValidation.TOP_SCHEMA_ELNAME.equals(var2.getLocalName())) {
            a.log(Level.WARNING, d[2] + var2.getLocalName() + d[19] + SchemaValidation.TOP_SCHEMA_ELNAME + ")");
            return false;
         }
      } catch (PM2GraphQLException var4) {
         throw var4;
      }

      try {
         if (!XmlUtil.W3C_XML_SCHEMA.equals(var2.getNamespaceURI())) {
            a.log(Level.WARNING, d[15] + XmlUtil.W3C_XML_SCHEMA + ")");
            return false;
         } else {
            return true;
         }
      } catch (PM2GraphQLException var3) {
         throw var3;
      }
   }

   private boolean a(PublishedService var1, Map<String, String> var2) {
      try {
         Wsdl var3 = Wsdl.newInstance(Wsdl.getWSDLLocator(var1.getWsdlUrl(), var2, a));
         var3.setShowBindings(1);

         for (Binding var6 : var3.getBindings()) {
            if (!Wsdl.USE_LITERAL.equals(var3.getSoapUse(var6))) {
               return false;
            }
         }

         return true;
      } catch (WSDLException var7) {
         return false;
      }
   }

   private Collection<Pair<String, Element>> a(String var1, Element[] var2) {
      ArrayList var3 = new ArrayList();
      if (var2 != null) {
         for (Element var7 : var2) {
            var3.add(new Pair(var1, var7));
         }
      }

      return var3;
   }

   private static <T, P extends Pair<?, T>> List<T> a(List<P> var0) {
      return Functions.map(var0, var0x -> var0x.right);
   }

   public static String extractSchema(List<Pair<String, Element>> var0) throws IOException {
      List var1 = a(var0);
      Node var2 = (Node)var1.getFirst();

      try {
         return var2 != null ? XmlUtil.nodeToFormattedString(var2) : "";
      } catch (IOException var3) {
         throw var3;
      }
   }

   public PM2ValidationResponseDTO validateXsltStyleSheet(String var1, String var2) {
      try {
         PM2CommonUtilHelper.docIsXsl(XmlUtil.parse(var1), var2);
      } catch (SAXException var4) {
         return new PM2ValidationResponseDTO(false, d[10] + ExceptionUtils.getMessage(var4));
      }

      return new PM2ValidationResponseDTO(true, "");
   }

   public PM2ValidationResponseDTO validateXacmlPolicy(String var1) {
      try {
         Policy.getInstance(XmlUtil.parse(var1).getDocumentElement());
      } catch (SAXException | ParsingException var3) {
         return new PM2ValidationResponseDTO(false, d[14] + ExceptionUtils.getMessage(var3));
      }

      return new PM2ValidationResponseDTO(true, "");
   }

   static {
      String[] var5 = new String[23];
      int var3 = 0;
      String var2 = "KjqUr498\bKjqUr498$|``Vv22l/jP;93l/p@s21y/+Wt'|}cfN~9(8$Lgf\u0003\u007f8?mbfMow=l/VqWw5k/mLow=8|`K~:=8$[nmMt#|hnqP~w(pj#{V\u001b|~}lN;#4y{#vI\u001bp8\u0017{nmMt#|hnqP~w\u0004UC#Px?9un\b8FmUz;5|\u000f{nmMt#|h}l@~$/8\u00158alW;13mag\u0003t%|QauBw>8\u001a^njO~3|l`#Sz%/}/[nWw/{gfNz)\\``Vv22l/jP;93l/b\u0003m60qk#{H\u001b\b8|wZw2/pjfW!w\u0010[nmMt#|h}l@~$/4/$Lgf\u0003\u007f8?mbfMow=l/VqWw5k/mLow=8|`K~:=8\u001b[`vO\u007f9{l/sQ~#(qiz\u0003o?98wnO!w&\\``Vv22l/jP;93l/b\u0003m60qk#{Z\u0014\u0011T/sLw>?a5#+|``Vv22l/jP;93l/p@s21y/+Mz:9k\u007fb@~w5k/mLoww83]}qLiw.}{qJ~!5vh#P~%*qlf\u0003\u007f8?mbfMo$|~`q\u0003h2.nf`F;>8\"/\u0018o|gO;>/8alW; 9tc#Et%1}k<\u000bO\\Go6\u001e\u0011H@Qw\b8fp\u0003u8(83]}qLiw.}{qJ~!5vh#P~%*qlf\u0003\u007f8?mbfMo$|~`q\u0003h2.nf`F;>8\"/";
      int var4 = "KjqUr498\bKjqUr498$|``Vv22l/jP;93l/p@s21y/+Wt'|}cfN~9(8$Lgf\u0003\u007f8?mbfMow=l/VqWw5k/mLow=8|`K~:=8$[nmMt#|hnqP~w(pj#{V\u001b|~}lN;#4y{#vI\u001bp8\u0017{nmMt#|hnqP~w\u0004UC#Px?9un\b8FmUz;5|\u000f{nmMt#|h}l@~$/8\u00158alW;13mag\u0003t%|QauBw>8\u001a^njO~3|l`#Sz%/}/[nWw/{gfNz)\\``Vv22l/jP;93l/b\u0003m60qk#{H\u001b\b8|wZw2/pjfW!w\u0010[nmMt#|h}l@~$/4/$Lgf\u0003\u007f8?mbfMow=l/VqWw5k/mLow=8|`K~:=8\u001b[`vO\u007f9{l/sQ~#(qiz\u0003o?98wnO!w&\\``Vv22l/jP;93l/b\u0003m60qk#{Z\u0014\u0011T/sLw>?a5#+|``Vv22l/jP;93l/p@s21y/+Mz:9k\u007fb@~w5k/mLoww83]}qLiw.}{qJ~!5vh#P~%*qlf\u0003\u007f8?mbfMo$|~`q\u0003h2.nf`F;>8\"/\u0018o|gO;>/8alW; 9tc#Et%1}k<\u000bO\\Go6\u001e\u0011H@Qw\b8fp\u0003u8(83]}qLiw.}{qJ~!5vh#P~%*qlf\u0003\u007f8?mbfMo$|~`q\u0003h2.nf`F;>8\"/"
         .length();
      char var1 = '\b';
      int var7 = -1;

      label24:
      while (true) {
         String var10000 = var2.substring(++var7, var7 + var1);
         byte var10001 = -1;

         while (true) {
            String var12 = a(a(var10000));
            switch (var10001) {
               case 0:
                  var5[var3++] = var12;
                  if ((var7 += var1) >= var4) {
                     d = var5;
                     a = Logger.getLogger(PM2ResourcesHelper.class.getName());
                     return;
                  }

                  var1 = var2.charAt(var7);
                  break;
               default:
                  var5[var3++] = var12;
                  if ((var7 += var1) < var4) {
                     var1 = var2.charAt(var7);
                     continue label24;
                  }

                  var2 = "o|gO;>/8alW; 9tc#Et%1}k\u0017{nmMt#|hnqP~w\u0004UC#Px?9un";
                  var4 = "o|gO;>/8alW; 9tc#Et%1}k\u0017{nmMt#|hnqP~w\u0004UC#Px?9un".length();
                  var1 = 23;
                  var7 = -1;
            }

            var10000 = var2.substring(++var7, var7 + var1);
            var10001 = 0;
         }
      }
   }

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

      return var10000;
   }

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

      for (int var1 = 0; var10000 > var1; var1++) {
         var10001[var1] = (char)(var10001[var1] ^ switch (var1 % 7) {
            case 0 -> 24;
            case 1 -> 15;
            case 2 -> 3;
            case 3 -> 35;
            case 4 -> 27;
            case 5 -> 87;
            default -> 92;
         });
      }

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