package com.l7tech.server;

import com.l7tech.gateway.common.transport.SsgConnector;
import com.l7tech.server.transport.http.HttpTransportModule;
import com.l7tech.util.Config;
import jakarta.servlet.ServletConfig;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.text.MessageFormat;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;

public class ErrorServlet extends HttpServlet {
   private static final Logger logger;
   private static final String ERROR_MARKUP;
   private static final String REQUEST_ATTR_STATUS_CODE;
   private static final String REQUEST_ATTR_EXCEPT_TYPE;
   private static final String REQUEST_ATTR_MESSAGE;
   private static final String REQUEST_ATTR_EXCEPTION;
   private static final String REQUEST_ATTR_REQUEST_URI;
   private static final String REQUEST_ATTR_SERVLET;
   private ResourceBundle rb = new b0(this);
   private boolean debug = false;
   private Config config;
   private static final Object[][] MESSAGES;
   static final long serialVersionUID = -7729296840058721389L;
   private static final String[] a;

   public ErrorServlet() {
      this(null);
   }

   public ErrorServlet(Config var1) {
      this.config = var1;
   }

   public void init(ServletConfig var1) throws ServletException {
      super.init(var1);
      WebApplicationContext var2 = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());

      try {
         if (var2 != null) {
            this.config = (Config)var2.getBean(a[39], Config.class);
         }
      } catch (ServletException var4) {
         throw a(var4);
      }

      try {
         if (this.config == null) {
            throw new ServletException(a[56]);
         }
      } catch (ServletException var5) {
         throw a(var5);
      }

      try {
         if (a[42].equalsIgnoreCase(var1.getInitParameter(a[54]))) {
            this.debug = true;
         }
      } catch (ServletException var3) {
         throw a(var3);
      }
   }

   public void doGet(HttpServletRequest var1, HttpServletResponse var2) throws IOException, ServletException {
      this.doError(var1, var2);
   }

   public void doPost(HttpServletRequest var1, HttpServletResponse var2) throws IOException, ServletException {
      this.doError(var1, var2);
   }

   protected void doTrace(HttpServletRequest var1, HttpServletResponse var2) throws ServletException, IOException {
      this.doError(var1, var2);
   }

   private Object[] getFormatArgs(String var1, String var2) {
      return new String[]{var1, var2};
   }

   private void doError(HttpServletRequest var1, HttpServletResponse var2) throws IOException, ServletException {
      String[] var8 = a;
      Throwable var3 = (Throwable)var1.getAttribute(var8[100]);
      SsgConnector var4 = HttpTransportModule.getConnector(var1);
      HttpTransportModule.addHstsResponseHeaderIfRequired(var1, var2, var4, this.config);
      if (!var2.isCommitted()) {
         Integer var5 = (Integer)var1.getAttribute(var8[52]);
         String var6 = (String)var1.getAttribute(var8[46]);

         label21: {
            try {
               if (var5 != null || var3 != null) {
                  break label21;
               }
            } catch (IOException var9) {
               throw a(var9);
            }

            var2.sendError(404);
            var5 = 404;
         }

         var8 = a;
         var2.setContentType(var8[13]);
         var2.setCharacterEncoding(var8[95]);
         PrintWriter var7 = var2.getWriter();
         var7.write(MessageFormat.format(var8[122], this.getFormatArgs(this.getTitle(var5), this.getMessage(var5, var3))));
         var7.flush();
         var7.close();
      } else {
         logger.log(Level.WARNING, a[93], var3);
      }
   }

   private String getTitle(Integer var1) {
      return var1 + " " + this.getCodeName(var1);
   }

   private String getMessage(Integer param1, Throwable 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: new java/lang/StringBuffer
      // 03: dup
      // 04: sipush 256
      // 07: invokespecial java/lang/StringBuffer.<init> (I)V
      // 0a: astore 3
      // 0b: aload 3
      // 0c: getstatic com/l7tech/server/ErrorServlet.a [Ljava/lang/String;
      // 0f: astore 5
      // 11: aload 5
      // 13: bipush 55
      // 15: aaload
      // 16: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 19: pop
      // 1a: aload 3
      // 1b: aload 0
      // 1c: aload 1
      // 1d: invokevirtual com/l7tech/server/ErrorServlet.getCodeName (Ljava/lang/Integer;)Ljava/lang/String;
      // 20: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 23: pop
      // 24: aload 3
      // 25: aload 5
      // 27: bipush 28
      // 29: aaload
      // 2a: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 2d: pop
      // 2e: aload 0
      // 2f: getfield com/l7tech/server/ErrorServlet.rb Ljava/util/ResourceBundle;
      // 32: aload 1
      // 33: aload 5
      // 35: bipush 104
      // 37: aaload
      // 38: swap
      // 39: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/Integer;)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" ]
      // 3e: invokevirtual java/util/ResourceBundle.getString (Ljava/lang/String;)Ljava/lang/String;
      // 41: astore 4
      // 43: aload 3
      // 44: aload 5
      // 46: sipush 132
      // 49: aaload
      // 4a: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 4d: pop
      // 4e: aload 3
      // 4f: aload 4
      // 51: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 54: pop
      // 55: aload 3
      // 56: aload 5
      // 58: bipush 119
      // 5a: aaload
      // 5b: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 5e: pop
      // 5f: goto 64
      // 62: astore 4
      // 64: aload 0
      // 65: getfield com/l7tech/server/ErrorServlet.debug Z
      // 68: ifeq a8
      // 6b: aload 2
      // 6c: ifnull a8
      // 6f: goto 76
      // 72: invokestatic com/l7tech/server/ErrorServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 75: athrow
      // 76: aload 3
      // 77: getstatic com/l7tech/server/ErrorServlet.a [Ljava/lang/String;
      // 7a: bipush 29
      // 7c: aaload
      // 7d: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 80: pop
      // 81: aload 3
      // 82: getstatic com/l7tech/server/ErrorServlet.a [Ljava/lang/String;
      // 85: bipush 89
      // 87: aaload
      // 88: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 8b: pop
      // 8c: aload 3
      // 8d: aload 0
      // 8e: aload 2
      // 8f: invokevirtual com/l7tech/server/ErrorServlet.toString (Ljava/lang/Throwable;)Ljava/lang/String;
      // 92: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 95: pop
      // 96: aload 3
      // 97: getstatic com/l7tech/server/ErrorServlet.a [Ljava/lang/String;
      // 9a: bipush 35
      // 9c: aaload
      // 9d: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // a0: pop
      // a1: goto a8
      // a4: invokestatic com/l7tech/server/ErrorServlet.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // a7: athrow
      // a8: aload 3
      // a9: invokevirtual java/lang/StringBuffer.toString ()Ljava/lang/String;
      // ac: areturn
      // try (25 -> 51): 52 java/util/MissingResourceException
      // try (53 -> 58): 59 java/util/MissingResourceException
      // try (56 -> 85): 86 java/util/MissingResourceException
   }

   private String getCodeName(Integer var1) {
      String var2 = "";

      try {
         var2 = this.rb.getString(a[33] + var1);
      } catch (MissingResourceException var4) {
      }

      return var2;
   }

   private String toString(Throwable var1) {
      String var2 = null;
      if (var1 != null) {
         StringWriter var3 = new StringWriter(512);
         var1.printStackTrace(new PrintWriter(var3));
         var2 = var3.toString();
      }

      return var2;
   }

   static {
      String[] var5 = new String[135];
      int var3 = 0;
      String var2 = "-+%!vDF\u001662ba\u0001\\\u001d&.umG\\\u001c'`c}\u0001A\u0011*3!vDD\f&3u$HFY,.m}\u0001V\u00183!chD\u0015\u0016%`faOP\u000b\"4hjF\u0015\u000b&3qkOF\u001c0`vmU]Y (`v@V\r&2hwU\\\u001a0`okU\u0015\u0018 #dtUT\u001b/%!eBV\u00161$hjF\u0015\r,`ulD\u0015\u000b&1taRAYa!bgDE\ra`ia@Q\u001c13/\b\u001a,$d*\u0015\u0005O\b\u001174q*\u0015\u0005H\b\u001a,$d*\u0015\u0004O(-+%!vDD\f&3uaE\u0015\u000b&3nqSV\u001cc)r$OZ\rc!weHY\u0018!,d*\f,-!tpIZ\u000b*:d`\b\u001a,$d*\u0015\u0004M\u000f5&.fpI\u0015+&1tmSP\u001d\u0010)\"9laOAY\u0011%pqHG\u001c'\u001d)1/y}\u0001t\f7(djU\\\u001a\"4hkO\u0015+&1tmSP\u001d\u0014+&1taRAT\u0016\u0012H$uZ\u0016c\fnjF9-+%!wN@\u000b %!kS\u0015\u001d&3umOT\r*/o$SP\n,5sgD\u0015\u0016%``$LP\r+/e$HFY//boDQW\b\u001174q*\u0015\u0004L\t\r&8u+IA\u0014/0)\"9laOAY*3!vDD\f*2d`\u0001S\u00161``gBP\n0`uk\u0001A\u0011*3!vDF\u001662ba\u000fL-+%!aYE\u001c 4`pHZ\u0017c'hrD[Y*.!pIPYa\u0005ytDV\ra`saP@\u001c04!lDT\u001d&2!gN@\u0015'`okU\u0015\u001b&`gqMS\u0010/,d`\u000f\u000f7,4!MLE\u0015&-djUP\u001d\b\u001174q*\u0015\u0005O\u001f+&1taRA\u001c'`SeOR\u001cc\u000enp\u0001f\u00187)rbHT\u001b/%\b\u001174q*\u0015\u0004H58c3qaB\\\u001f*%e$QG\u001c /o`HA\u0010,.!l@FY%!hhDQY%/s$U]\u00100`saP@\u001c04/\t7,4!BN@\u0017'\b\u001174q*\u0015\u0005Lo-+%!vDF\u001662ba\u0001Q\u0016&3!jNAY+!wa\u0001F\f%&hgHP\u00177`rt@V\u001cc4n$SP\u001a,2e$U]\u001cc3ueUPY,&!pIPY1%rkTG\u001a&``bUP\u000bc%yaB@\r*/o$NSY7(hw\u0001X\u001c7(n`\u000f\u0013*&2wmBPY\u0016.`r@\\\u0015\"\"ma\b\u001174q*\u0014\u0005M¨Eb\u0004NGul)\u0006`IPlyY\u0013\u0015CHhvYam.+v\u0006:loEPe\u00151\u0017\rM$\u0015\u001bIr`Uv@[\n*4hkOT\u0015loDJ\u0003\u0015[+4ut\u001b\u001aV47v*V\u0006W,2f+ugV+4lh\u0015\u001a\u0015,/ra\u000fQ\r'b?\u000e\u001d]\r.,?\u000e\u001d]\u001c\"$?8U\\\r/%?\u007f\u0011HEl4hpMPG\u007foia@QGI|ckELGI;0y+\tV!/e}\u001f?El(uiM\u000b\b\u001174q*\u0014\u0005J\u0006El(0:+\u0005E+2.:\b\u001174q*\u0015\u0004I\b\u001a,$d*\u0015\u0005I\b\u001174q*\u0015\u0005I\u0005\u001a,$d*\u000b;\"$!VDD\f&3u\u0006El0sa\u001f\u0004>,.d\b\u001174q*\u0014\u0005L\u0012<;0dgUT\r*/o$gT\u0010/%e\f\n&2waSv\u0016-&hc\b\u001174q*\u0015\u0004MY-+%!wDG\u000f&2!vDV\u001c*6d`\u0001TY7)laN@\rc&skL\u0015\u0018-`ttRA\u000b&!l$RP\u000b5%s$V]\u0010/%!eBA\u0010-'!eR\u0015\u0018c'`pDB\u0018:`nv\u0001E\u000b,8x*\u0004\r15d\u001d\u0013\"+`vUTW0%srMP\rm%svNGW.%rw@R\u001cZ-+%!gM\\\u001c-4!`HQY-/u$QG\u0016'5ba\u0001TY1%pqDF\rc7hpI\\\u0017c4ia\u0001A\u0010.%!pIT\rc4ia\u0001F\u001c16dv\u0001B\u00180`qvDE\u00181%e$UZY4!hp\u000f\b\u001a,$d*\u0015\u0004N\u001d\u0013\"+`vUTW0%srMP\rm%svNGW.%rw@R\u001c\b\u001a,$d*\u0015\u0005K\u0018+&1taRAY\u0006.umULY\u0017/n$mT\u000b$%\b\u001174q*\u0015\u0005A\u008b-+%!wDG\u000f&2!vDS\f0%e$U]\u00100`saP@\u001c04!fDV\u001863d$U]\u001cc2duTP\n7`djU\\\r:`hw\u0001\\\u0017c!!bNG\u0014\"4!jNAY05qtNG\r&$!fX\u0015\r+%!vDD\f&3uaE\u0015\u000b&3nqSV\u001cc&nv\u0001A\u0011&`saP@\u001c04d`\u0001X\u001c7(n`\u000f\t?,2cmEQ\u001c-!\u0013\"+`vUTW0%srMP\rm%svNGW04`pTF& /ea\u0013)1%bkOQ\u00107)nj\u0001s\u0018*,d`\u0005\u001d&\"tc\u0004E+q?/:,.gmF@\u000b\"4hkO\u0015\u001c12nv\u001a\u0015\u001a,5m`\u0001[\u00167`faU\u0015\n&2waSV\u0016-&hc1-+%!vDD\f&3uaE\u0015\n&2wmBPY*3!jNAY 5svD[\r/9!eWT\u0010/!chD\u001b*-+)r$SP\b6%rp\u0001G\u001c25hvDFY\u000b\u0014UT\u0001T\f7(djU\\\u001a\"4hkO\u001b\u000f>\"4ds@LY\u0017)laN@\ru-+%!wDG\u000f&2!qOQ\u001c13ukNQY7(d$BZ\u00177%op\u0001A\u00003%!eOQY09op@MY,&!pIPY1%pqDF\rc\"tp\u0001B\u00180`tj@W\u0015&`uk\u0001E\u000b,#dwR\u0015\r+%!gN[\r\")oaE\u0015\u0010-3uvTV\r*/o*M-+%!wDG\u000f&2!`NP\nc.np\u0001F\f30nvU\u0015\r+%!bT[\u001a7)nj@Y\u001079!jDP\u001d&$!pN\u0015\u001f6,gmMYY7(hw\u0001G\u001c25dwU\u001b\b\u001a,$d*\u0015\u0004K\b\u001174q*\u0014\u0005I\b\u001174q*\u0015\u0005@\b\u001a,$d*\u0015\u0007J\b\u001174q*\u0015\u0004K;-+%!vDD\f&3u$RP\u00177`c}\u0001A\u0011&`bhHP\u00177`veR\u0015\n:.ueBA\u0010 !mhX\u0015\u0010-#nvSP\u001a7n48 #dwR\u0015\r,`ulD\u0015\n3%bmG\\\u001c'`saRZ\f1#d$IT\nc\"daO\u0015\u001f,2cmEQ\u001c-n9-+%!gM\\\u001c-4!iTF\rc&hvRAY\"5ulD[\r*#`pD\u0015\u001073dhG\u0015\u000e*4i$U]\u001cc0skYLW\u001a1\u0017\u0014Q$wP\u000b0)nj\u0001{\u00167`RqQE\u001614d`\b\u001a,$d*\u0014\u0005I\b\u001a,$d*\u0014\u0005L\b\u001a,$d*\u0014\u0005N\b\u001a,$d*\u0015\u0007K--+%!vDD\f&3uaE\u0015\u001b:4d$ST\u0017$%!g@[\u0017,4!fD\u0015\n\"4hwG\\\u001c'n\u001f\u0013\"+`vUTW0%srMP\rm%svNGW&8baQA\u0010,.\b\u001a,$d*\u0015\u0005@X-+%!wDG\u000f&2!aOV\u00166.uaSP\u001dc!o$H[\r&2oeM\u0015\u001c12nv\u0001A\u0011\"4!tSP\u000f&.uaE\u0015\u00107`gvNXY%5mbHY\u0015*.f$U]\u00100`saP@\u001c04/\b\u001a,$d*\u0014\u0005K\b\u001a,$d*\u0015\u0004H\u0016,-3ttQZ\u000b7%e$lP\u001d*!!PXE\u001c@-+%!wDG\u000f&2!`NP\nc.np\u0001F\f30nvU\u0015\r+%!vDD\f&3uaE\u00151\u0017\u0014Q$QG\u00167/bkM\u0015\u000f&2rmN[WR-+%!vDD\f&3uaE\u0015\u000b&3nqSV\u001cc)r$OZY//ocDGY\"6`mMT\u001b/%-$@[\u001dc.n$GZ\u000b4!s`H[\u001ec!e`SP\n0`hw\u0001^\u0017,7o*\b:,.ghHV\r\u00065,#jaE\b\u001174q*\u0015\u0005K\\-+%!vDD\f&3u$BZ\f/$!jNAY!%!gNX\t/%uaE\u0015\u001d6%!pN\u0015\u0018c#njGY\u0010 4!sHA\u0011c4ia\u0001V\f12djU\u0015\n7!ua\u0001Z\u001fc4ia\u0001G\u001c0/tvBPW!\u0013\"+`vUTW0%srMP\rm%svNGW04`pTF& /ea\u0005E32d:\b\u001a,$d*\u0015\u0004J\"\u0013\"+`vUTW0%srMP\rm%svNGW0%srMP\r\u001c.`iD\b\u001a,$d*\u0015\u0004I3*&2whDAY&2skS\u0015\u0016 #tvDQY\"&uaS\u0015\u000b&3qkOF\u001cc7`w\u0001V\u0016.-hpUP\u001dm\u00140-3tbG\\\u001a*%op\u0001f\r,2`cD\u0005\f7&,<$\u0013\"+`vUTW0%srMP\rm%svNGW&8baQA\u0010,.^pXE\u001c\b\u001a,$d*\u0014\u0005H\u000e7,4!EBV\u001c34`fMP\b\u001174q*\u0015\u0007J\u001f\u0013\"+`vUTW0%srMP\rm%svNGW&8baQA\u0010,.\b\u001174q*\u0015\u0004O!\u0013\"+`vUTW0%srMP\rm%svNGW1%pqDF\r\u001c5sm\b\u001a,$d*\u0014\u0005J\u0005\u001174q*@-+)r$SP\b6%rp\u0001V\u0018-.np\u0001W\u001cc(`jEY\u001c'`vmU]\u001664!e\u0001Q\u001c%)oaE\u0015\u001a,.uaOAY/%ocU]W\u00124&4ikE\u00157,4!EMY\u00164%e\b\u001a,$d*\u0015\u0005H\b\u001a,$d*\u0015\u0005L\b\u001a,$d*\u0014\u0005M\b\u001a,$d*\u0015\u0005N\b\u001174q*\u0015\u0004NK-+%!vDD\f&3u$D[\r*4x$HFY/!scDGY7(`j\u0001A\u0011&`raSC\u001c1`hw\u0001B\u0010/,hjF\u0015\u00161``fMPY7/!tSZ\u001a&3r*\b\u001174q*\u0015\u0004J\b\u001174q*\u0015\u0005J\b\u001174q*\u0014\u0005H\u0014,-0skBP\n0!chD\u0015<-4hpXD-+%!wQP\u001a*&haE\u00151\u0017\u0014Q$LP\r+/e$HFY-/u$@Y\u0015,7d`\u0001S\u00161`ulD\u0015\u000b&1taRA\u001c'`saRZ\f1#d*f-+)r$RP\u000b5%s$SP\u001a&)waE\u0015\u0018-`hjWT\u0015*$!vDF\t,.ra\u0001S\u000b,-!e\u0001F\u001c16dv\u0001\\\rc#njR@\u00157%e$V]\u001c-``gU\\\u0017$``w\u0001TY32n|X\u0015\u00161`feUP\u000e\"9/\u0006El(2:+\b\u001174q*\u0014\u0005K\b\u001a,$d*\u0015\u0005J¨Eb\u0004NGul)\u0006`IPlyY\u0013\u0015CHhvYam.+v\u0006:loEPe\u00151\u0017\rM$\u0015\u001bIr`Uv@[\n*4hkOT\u0015loDJ\u0003\u0015[+4ut\u001b\u001aV47v*V\u0006W,2f+ugV+4lh\u0015\u001a\u0015,/ra\u000fQ\r'b?\u000e\u001d]\r.,?\u000e\u001d]\u001c\"$?8U\\\r/%?\u007f\u0011HEl4hpMPG\u007foia@QGI|ckELGI;0y+\tV!/e}\u001f?El(uiM\u000b\b\u001174q*\u0015\u0007K\b\u001a,$d*\u0015\u0004L\u00150-4dvOT\u0015c\u0013dvWP\u000bc\u0005svNG\b\u001174q*\u0015\u0005M\b\u001a,$d*\u0015\u0005A\b\u001a,$d*\u0015\u0005M\u000f+&1taRAY\u0017)laN@\r\b\u001174q*\u0015\u0005NE-+%!wDG\u000f&2!vDS\f0%e$U]\u00100`saP@\u001c04!fDV\u001863d$U]\u001cc2duTP\n7`TVh\u0015\u000e\"3!pNZY//oc\u000f\u0004E+s?";
      int var4 = "-+%!vDF\u001662ba\u0001\\\u001d&.umG\\\u001c'`c}\u0001A\u0011*3!vDD\f&3u$HFY,.m}\u0001V\u00183!chD\u0015\u0016%`faOP\u000b\"4hjF\u0015\u000b&3qkOF\u001c0`vmU]Y (`v@V\r&2hwU\\\u001a0`okU\u0015\u0018 #dtUT\u001b/%!eBV\u00161$hjF\u0015\r,`ulD\u0015\u000b&1taRAYa!bgDE\ra`ia@Q\u001c13/\b\u001a,$d*\u0015\u0005O\b\u001174q*\u0015\u0005H\b\u001a,$d*\u0015\u0004O(-+%!vDD\f&3uaE\u0015\u000b&3nqSV\u001cc)r$OZ\rc!weHY\u0018!,d*\f,-!tpIZ\u000b*:d`\b\u001a,$d*\u0015\u0004M\u000f5&.fpI\u0015+&1tmSP\u001d\u0010)\"9laOAY\u0011%pqHG\u001c'\u001d)1/y}\u0001t\f7(djU\\\u001a\"4hkO\u0015+&1tmSP\u001d\u0014+&1taRAT\u0016\u0012H$uZ\u0016c\fnjF9-+%!wN@\u000b %!kS\u0015\u001d&3umOT\r*/o$SP\n,5sgD\u0015\u0016%``$LP\r+/e$HFY//boDQW\b\u001174q*\u0015\u0004L\t\r&8u+IA\u0014/0)\"9laOAY*3!vDD\f*2d`\u0001S\u00161``gBP\n0`uk\u0001A\u0011*3!vDF\u001662ba\u000fL-+%!aYE\u001c 4`pHZ\u0017c'hrD[Y*.!pIPYa\u0005ytDV\ra`saP@\u001c04!lDT\u001d&2!gN@\u0015'`okU\u0015\u001b&`gqMS\u0010/,d`\u000f\u000f7,4!MLE\u0015&-djUP\u001d\b\u001174q*\u0015\u0005O\u001f+&1taRA\u001c'`SeOR\u001cc\u000enp\u0001f\u00187)rbHT\u001b/%\b\u001174q*\u0015\u0004H58c3qaB\\\u001f*%e$QG\u001c /o`HA\u0010,.!l@FY%!hhDQY%/s$U]\u00100`saP@\u001c04/\t7,4!BN@\u0017'\b\u001174q*\u0015\u0005Lo-+%!vDF\u001662ba\u0001Q\u0016&3!jNAY+!wa\u0001F\f%&hgHP\u00177`rt@V\u001cc4n$SP\u001a,2e$U]\u001cc3ueUPY,&!pIPY1%rkTG\u001a&``bUP\u000bc%yaB@\r*/o$NSY7(hw\u0001X\u001c7(n`\u000f\u0013*&2wmBPY\u0016.`r@\\\u0015\"\"ma\b\u001174q*\u0014\u0005M¨Eb\u0004NGul)\u0006`IPlyY\u0013\u0015CHhvYam.+v\u0006:loEPe\u00151\u0017\rM$\u0015\u001bIr`Uv@[\n*4hkOT\u0015loDJ\u0003\u0015[+4ut\u001b\u001aV47v*V\u0006W,2f+ugV+4lh\u0015\u001a\u0015,/ra\u000fQ\r'b?\u000e\u001d]\r.,?\u000e\u001d]\u001c\"$?8U\\\r/%?\u007f\u0011HEl4hpMPG\u007foia@QGI|ckELGI;0y+\tV!/e}\u001f?El(uiM\u000b\b\u001174q*\u0014\u0005J\u0006El(0:+\u0005E+2.:\b\u001174q*\u0015\u0004I\b\u001a,$d*\u0015\u0005I\b\u001174q*\u0015\u0005I\u0005\u001a,$d*\u000b;\"$!VDD\f&3u\u0006El0sa\u001f\u0004>,.d\b\u001174q*\u0014\u0005L\u0012<;0dgUT\r*/o$gT\u0010/%e\f\n&2waSv\u0016-&hc\b\u001174q*\u0015\u0004MY-+%!wDG\u000f&2!vDV\u001c*6d`\u0001TY7)laN@\rc&skL\u0015\u0018-`ttRA\u000b&!l$RP\u000b5%s$V]\u0010/%!eBA\u0010-'!eR\u0015\u0018c'`pDB\u0018:`nv\u0001E\u000b,8x*\u0004\r15d\u001d\u0013\"+`vUTW0%srMP\rm%svNGW.%rw@R\u001cZ-+%!gM\\\u001c-4!`HQY-/u$QG\u0016'5ba\u0001TY1%pqDF\rc7hpI\\\u0017c4ia\u0001A\u0010.%!pIT\rc4ia\u0001F\u001c16dv\u0001B\u00180`qvDE\u00181%e$UZY4!hp\u000f\b\u001a,$d*\u0015\u0004N\u001d\u0013\"+`vUTW0%srMP\rm%svNGW.%rw@R\u001c\b\u001a,$d*\u0015\u0005K\u0018+&1taRAY\u0006.umULY\u0017/n$mT\u000b$%\b\u001174q*\u0015\u0005A\u008b-+%!wDG\u000f&2!vDS\f0%e$U]\u00100`saP@\u001c04!fDV\u001863d$U]\u001cc2duTP\n7`djU\\\r:`hw\u0001\\\u0017c!!bNG\u0014\"4!jNAY05qtNG\r&$!fX\u0015\r+%!vDD\f&3uaE\u0015\u000b&3nqSV\u001cc&nv\u0001A\u0011&`saP@\u001c04d`\u0001X\u001c7(n`\u000f\t?,2cmEQ\u001c-!\u0013\"+`vUTW0%srMP\rm%svNGW04`pTF& /ea\u0013)1%bkOQ\u00107)nj\u0001s\u0018*,d`\u0005\u001d&\"tc\u0004E+q?/:,.gmF@\u000b\"4hkO\u0015\u001c12nv\u001a\u0015\u001a,5m`\u0001[\u00167`faU\u0015\n&2waSV\u0016-&hc1-+%!vDD\f&3uaE\u0015\n&2wmBPY*3!jNAY 5svD[\r/9!eWT\u0010/!chD\u001b*-+)r$SP\b6%rp\u0001G\u001c25hvDFY\u000b\u0014UT\u0001T\f7(djU\\\u001a\"4hkO\u001b\u000f>\"4ds@LY\u0017)laN@\ru-+%!wDG\u000f&2!qOQ\u001c13ukNQY7(d$BZ\u00177%op\u0001A\u00003%!eOQY09op@MY,&!pIPY1%pqDF\rc\"tp\u0001B\u00180`tj@W\u0015&`uk\u0001E\u000b,#dwR\u0015\r+%!gN[\r\")oaE\u0015\u0010-3uvTV\r*/o*M-+%!wDG\u000f&2!`NP\nc.np\u0001F\f30nvU\u0015\r+%!bT[\u001a7)nj@Y\u001079!jDP\u001d&$!pN\u0015\u001f6,gmMYY7(hw\u0001G\u001c25dwU\u001b\b\u001a,$d*\u0015\u0004K\b\u001174q*\u0014\u0005I\b\u001174q*\u0015\u0005@\b\u001a,$d*\u0015\u0007J\b\u001174q*\u0015\u0004K;-+%!vDD\f&3u$RP\u00177`c}\u0001A\u0011&`bhHP\u00177`veR\u0015\n:.ueBA\u0010 !mhX\u0015\u0010-#nvSP\u001a7n48 #dwR\u0015\r,`ulD\u0015\n3%bmG\\\u001c'`saRZ\f1#d$IT\nc\"daO\u0015\u001f,2cmEQ\u001c-n9-+%!gM\\\u001c-4!iTF\rc&hvRAY\"5ulD[\r*#`pD\u0015\u001073dhG\u0015\u000e*4i$U]\u001cc0skYLW\u001a1\u0017\u0014Q$wP\u000b0)nj\u0001{\u00167`RqQE\u001614d`\b\u001a,$d*\u0014\u0005I\b\u001a,$d*\u0014\u0005L\b\u001a,$d*\u0014\u0005N\b\u001a,$d*\u0015\u0007K--+%!vDD\f&3uaE\u0015\u001b:4d$ST\u0017$%!g@[\u0017,4!fD\u0015\n\"4hwG\\\u001c'n\u001f\u0013\"+`vUTW0%srMP\rm%svNGW&8baQA\u0010,.\b\u001a,$d*\u0015\u0005@X-+%!wDG\u000f&2!aOV\u00166.uaSP\u001dc!o$H[\r&2oeM\u0015\u001c12nv\u0001A\u0011\"4!tSP\u000f&.uaE\u0015\u00107`gvNXY%5mbHY\u0015*.f$U]\u00100`saP@\u001c04/\b\u001a,$d*\u0014\u0005K\b\u001a,$d*\u0015\u0004H\u0016,-3ttQZ\u000b7%e$lP\u001d*!!PXE\u001c@-+%!wDG\u000f&2!`NP\nc.np\u0001F\f30nvU\u0015\r+%!vDD\f&3uaE\u00151\u0017\u0014Q$QG\u00167/bkM\u0015\u000f&2rmN[WR-+%!vDD\f&3uaE\u0015\u000b&3nqSV\u001cc)r$OZY//ocDGY\"6`mMT\u001b/%-$@[\u001dc.n$GZ\u000b4!s`H[\u001ec!e`SP\n0`hw\u0001^\u0017,7o*\b:,.ghHV\r\u00065,#jaE\b\u001174q*\u0015\u0005K\\-+%!vDD\f&3u$BZ\f/$!jNAY!%!gNX\t/%uaE\u0015\u001d6%!pN\u0015\u0018c#njGY\u0010 4!sHA\u0011c4ia\u0001V\f12djU\u0015\n7!ua\u0001Z\u001fc4ia\u0001G\u001c0/tvBPW!\u0013\"+`vUTW0%srMP\rm%svNGW04`pTF& /ea\u0005E32d:\b\u001a,$d*\u0015\u0004J\"\u0013\"+`vUTW0%srMP\rm%svNGW0%srMP\r\u001c.`iD\b\u001a,$d*\u0015\u0004I3*&2whDAY&2skS\u0015\u0016 #tvDQY\"&uaS\u0015\u000b&3qkOF\u001cc7`w\u0001V\u0016.-hpUP\u001dm\u00140-3tbG\\\u001a*%op\u0001f\r,2`cD\u0005\f7&,<$\u0013\"+`vUTW0%srMP\rm%svNGW&8baQA\u0010,.^pXE\u001c\b\u001a,$d*\u0014\u0005H\u000e7,4!EBV\u001c34`fMP\b\u001174q*\u0015\u0007J\u001f\u0013\"+`vUTW0%srMP\rm%svNGW&8baQA\u0010,.\b\u001174q*\u0015\u0004O!\u0013\"+`vUTW0%srMP\rm%svNGW1%pqDF\r\u001c5sm\b\u001a,$d*\u0014\u0005J\u0005\u001174q*@-+)r$SP\b6%rp\u0001V\u0018-.np\u0001W\u001cc(`jEY\u001c'`vmU]\u001664!e\u0001Q\u001c%)oaE\u0015\u001a,.uaOAY/%ocU]W\u00124&4ikE\u00157,4!EMY\u00164%e\b\u001a,$d*\u0015\u0005H\b\u001a,$d*\u0015\u0005L\b\u001a,$d*\u0014\u0005M\b\u001a,$d*\u0015\u0005N\b\u001174q*\u0015\u0004NK-+%!vDD\f&3u$D[\r*4x$HFY/!scDGY7(`j\u0001A\u0011&`raSC\u001c1`hw\u0001B\u0010/,hjF\u0015\u00161``fMPY7/!tSZ\u001a&3r*\b\u001174q*\u0015\u0004J\b\u001174q*\u0015\u0005J\b\u001174q*\u0014\u0005H\u0014,-0skBP\n0!chD\u0015<-4hpXD-+%!wQP\u001a*&haE\u00151\u0017\u0014Q$LP\r+/e$HFY-/u$@Y\u0015,7d`\u0001S\u00161`ulD\u0015\u000b&1taRA\u001c'`saRZ\f1#d*f-+)r$RP\u000b5%s$SP\u001a&)waE\u0015\u0018-`hjWT\u0015*$!vDF\t,.ra\u0001S\u000b,-!e\u0001F\u001c16dv\u0001\\\rc#njR@\u00157%e$V]\u001c-``gU\\\u0017$``w\u0001TY32n|X\u0015\u00161`feUP\u000e\"9/\u0006El(2:+\b\u001174q*\u0014\u0005K\b\u001a,$d*\u0015\u0005J¨Eb\u0004NGul)\u0006`IPlyY\u0013\u0015CHhvYam.+v\u0006:loEPe\u00151\u0017\rM$\u0015\u001bIr`Uv@[\n*4hkOT\u0015loDJ\u0003\u0015[+4ut\u001b\u001aV47v*V\u0006W,2f+ugV+4lh\u0015\u001a\u0015,/ra\u000fQ\r'b?\u000e\u001d]\r.,?\u000e\u001d]\u001c\"$?8U\\\r/%?\u007f\u0011HEl4hpMPG\u007foia@QGI|ckELGI;0y+\tV!/e}\u001f?El(uiM\u000b\b\u001174q*\u0015\u0007K\b\u001a,$d*\u0015\u0004L\u00150-4dvOT\u0015c\u0013dvWP\u000bc\u0005svNG\b\u001174q*\u0015\u0005M\b\u001a,$d*\u0015\u0005A\b\u001a,$d*\u0015\u0005M\u000f+&1taRAY\u0017)laN@\r\b\u001174q*\u0015\u0005NE-+%!wDG\u000f&2!vDS\f0%e$U]\u00100`saP@\u001c04!fDV\u001863d$U]\u001cc2duTP\n7`TVh\u0015\u000e\"3!pNZY//oc\u000f\u0004E+s?"
         .length();
      char var1 = 158;
      int var7 = -1;

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

         while (true) {
            String var9 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var9;
                  if ((var7 += var1) >= var4) {
                     a = var5;
                     String[] var10 = a;
                     REQUEST_ATTR_SERVLET = a[91];
                     REQUEST_ATTR_REQUEST_URI = var10[102];
                     REQUEST_ATTR_MESSAGE = var10[43];
                     REQUEST_ATTR_EXCEPT_TYPE = var10[96];
                     ERROR_MARKUP = var10[26];
                     REQUEST_ATTR_STATUS_CODE = var10[88];
                     REQUEST_ATTR_EXCEPTION = var10[76];
                     logger = Logger.getLogger(ErrorServlet.class.getName());
                     Object[][] var11 = new Object[54][];
                     Object[] var10003 = new Object[2];
                     String[] var8 = a;
                     var10003[0] = var8[31];
                     var10003[1] = var8[34];
                     var11[0] = var10003;
                     var11[1] = new Object[]{var8[107], var8[5]};
                     var11[2] = new Object[]{var8[47], var8[8]};
                     var11[3] = new Object[]{var8[121], var8[51]};
                     var11[4] = new Object[]{var8[128], var8[21]};
                     var11[5] = new Object[]{var8[108], var8[106]};
                     var11[6] = new Object[]{var8[1], var8[98]};
                     var11[7] = new Object[]{var8[110], var8[9]};
                     var11[8] = new Object[]{var8[127], var8[129]};
                     var11[9] = new Object[]{var8[77], var8[84]};
                     var11[10] = new Object[]{var8[92], var8[36]};
                     var11[11] = new Object[]{var8[80], var8[7]};
                     var11[12] = new Object[]{var8[62], var8[53]};
                     var11[13] = new Object[]{var8[90], var8[48]};
                     var11[14] = new Object[]{var8[6], var8[10]};
                     var11[15] = new Object[]{var8[124], var8[81]};
                     var11[16] = new Object[]{var8[3], var8[18]};
                     var11[17] = new Object[]{var8[45], var8[38]};
                     var11[18] = new Object[]{var8[74], var8[116]};
                     var11[19] = new Object[]{var8[65], var8[85]};
                     var11[20] = new Object[]{var8[71], var8[125]};
                     var11[21] = new Object[]{var8[97], var8[16]};
                     var11[22] = new Object[]{var8[79], var8[134]};
                     var11[23] = new Object[]{var8[103], var8[24]};
                     var11[24] = new Object[]{var8[109], var8[59]};
                     var11[25] = new Object[]{var8[72], var8[70]};
                     var11[26] = new Object[]{var8[73], var8[94]};
                     var11[27] = new Object[]{var8[32], var8[67]};
                     var11[28] = new Object[]{var8[2], var8[58]};
                     var11[29] = new Object[]{var8[86], var8[14]};
                     var11[30] = new Object[]{var8[114], var8[68]};
                     var11[31] = new Object[]{var8[126], var8[4]};
                     var11[32] = new Object[]{var8[22], var8[117]};
                     var11[33] = new Object[]{var8[17], var8[0]};
                     var11[34] = new Object[]{var8[130], var8[69]};
                     var11[35] = new Object[]{var8[49], var8[44]};
                     var11[36] = new Object[]{var8[64], var8[87]};
                     var11[37] = new Object[]{var8[30], var8[83]};
                     var11[38] = new Object[]{var8[19], var8[105]};
                     var11[39] = new Object[]{var8[66], var8[20]};
                     var11[40] = new Object[]{var8[113], var8[112]};
                     var11[41] = new Object[]{var8[40], var8[131]};
                     var11[42] = new Object[]{var8[12], var8[50]};
                     var11[43] = new Object[]{var8[101], var8[75]};
                     var11[44] = new Object[]{var8[111], var8[15]};
                     var11[45] = new Object[]{var8[123], var8[60]};
                     var11[46] = new Object[]{var8[99], var8[11]};
                     var11[47] = new Object[]{var8[63], var8[78]};
                     var11[48] = new Object[]{var8[115], var8[61]};
                     var11[49] = new Object[]{var8[120], var8[118]};
                     var11[50] = new Object[]{var8[27], var8[57]};
                     var11[51] = new Object[]{var8[25], var8[41]};
                     var11[52] = new Object[]{var8[37], var8[82]};
                     var11[53] = new Object[]{var8[133], var8[23]};
                     MESSAGES = var11;
                     return;
                  }

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

                  var2 = "kMN\u000bPn\u007f4\u000bAX^[9:;fN[\u0002";
                  var4 = "kMN\u000bPn\u007f4\u000bAX^[9:;fN[\u0002".length();
                  var1 = '\b';
                  var7 = -1;
            }

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

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

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

      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 -> 36;
            case 1 -> 30;
            case 2 -> 29;
            case 3 -> 92;
            case 4 -> 89;
            case 5 -> 124;
            default -> 104;
         });
      }

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