home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / WebViewer / Origin / WebViewer.jar / s.class (.txt) < prev    next >
Encoding:
Java Class File  |  2003-04-21  |  31.9 KB  |  1,466 lines

  1. import java.io.ByteArrayInputStream;
  2. import java.io.ByteArrayOutputStream;
  3. import java.io.DataInputStream;
  4. import java.io.DataOutputStream;
  5. import java.io.IOException;
  6. import java.io.InputStream;
  7. import java.io.OutputStreamWriter;
  8. import java.io.Writer;
  9. import java.util.EmptyStackException;
  10. import java.util.Enumeration;
  11. import java.util.Hashtable;
  12. import java.util.Stack;
  13. import java.util.Vector;
  14. import javax.microedition.io.ConnectionNotFoundException;
  15. import javax.microedition.io.Connector;
  16. import javax.microedition.io.HttpConnection;
  17. import javax.microedition.lcdui.Font;
  18. import javax.microedition.lcdui.Graphics;
  19. import javax.microedition.lcdui.Image;
  20. import javax.microedition.rms.InvalidRecordIDException;
  21. import javax.microedition.rms.RecordStore;
  22.  
  23. // $FF: renamed from: s
  24. class class_0 implements Runnable {
  25.    // $FF: renamed from: A java.lang.String
  26.    private String field_0;
  27.    // $FF: renamed from: p java.lang.String
  28.    private String field_1;
  29.    // $FF: renamed from: B boolean
  30.    private boolean field_2;
  31.    // $FF: renamed from: r int
  32.    private int field_3;
  33.    // $FF: renamed from: o int
  34.    private int field_4;
  35.    // $FF: renamed from: j l
  36.    private l field_5;
  37.    // $FF: renamed from: l java.lang.String
  38.    private String field_6;
  39.    // $FF: renamed from: y java.lang.String
  40.    private String field_7;
  41.    // $FF: renamed from: c java.lang.String
  42.    private String field_8;
  43.    // $FF: renamed from: e java.lang.String
  44.    private String field_9;
  45.    // $FF: renamed from: u q[]
  46.    private q[] field_10;
  47.    // $FF: renamed from: d java.lang.String
  48.    private String field_11;
  49.    // $FF: renamed from: k java.lang.String
  50.    private String field_12;
  51.    // $FF: renamed from: x boolean
  52.    private boolean field_13;
  53.    // $FF: renamed from: z boolean
  54.    private volatile boolean field_14 = false;
  55.    // $FF: renamed from: t int
  56.    private int field_15 = 0;
  57.    // $FF: renamed from: q int
  58.    private int field_16 = 0;
  59.    // $FF: renamed from: w int
  60.    private int field_17 = 1;
  61.    // $FF: renamed from: i java.lang.String
  62.    private String field_18 = "Contacting server";
  63.    // $FF: renamed from: a java.util.Vector
  64.    private Vector field_19;
  65.    // $FF: renamed from: C java.util.Vector
  66.    private Vector field_20;
  67.    // $FF: renamed from: n java.util.Hashtable
  68.    private Hashtable field_21;
  69.    // $FF: renamed from: h int
  70.    private int field_22 = 0;
  71.    // $FF: renamed from: g int
  72.    private int field_23 = 0;
  73.    // $FF: renamed from: s java.util.Stack
  74.    private Stack field_24;
  75.    // $FF: renamed from: m javax.microedition.lcdui.Font
  76.    private Font field_25;
  77.    // $FF: renamed from: v int
  78.    private int field_26 = 0;
  79.    // $FF: renamed from: b int
  80.    private int field_27;
  81.    // $FF: renamed from: f byte
  82.    private byte field_28 = 0;
  83.  
  84.    class_0(l var1, String var2, String var3, String var4, q[] var5, String var6, String var7, boolean var8, Vector var9, Vector var10, Hashtable var11) {
  85.       this.field_5 = var1;
  86.       this.field_6 = var2;
  87.       this.field_8 = var3;
  88.       this.field_9 = var4;
  89.       this.field_10 = var5;
  90.       this.field_11 = var6;
  91.       this.field_12 = var7;
  92.       this.field_13 = var8;
  93.       this.field_19 = var9;
  94.       this.field_20 = var10;
  95.       this.field_21 = var11;
  96.       this.field_0 = var1.b;
  97.       this.field_1 = var1.N;
  98.       this.field_2 = var1.V;
  99.       this.field_3 = var1.Z;
  100.       this.field_4 = var1.A;
  101.       this.field_25 = var1.af;
  102.       this.field_27 = this.field_25.getHeight();
  103.    }
  104.  
  105.    // $FF: renamed from: d () void
  106.    void method_0() {
  107.       this.field_14 = true;
  108.    }
  109.  
  110.    // $FF: renamed from: c (java.lang.String) java.lang.String
  111.    static String method_1(String var0) {
  112.       int var1 = var0.indexOf(37);
  113.       if (var1 < 0) {
  114.          return var0;
  115.       } else {
  116.          StringBuffer var2 = new StringBuffer();
  117.  
  118.          for(int var3 = 0; var3 < var0.length(); ++var3) {
  119.             char var4 = var0.charAt(var3);
  120.             if (var4 == '%' && var3 + 2 < var0.length()) {
  121.                try {
  122.                   var2.append((char)Integer.parseInt(var0.substring(var3 + 1, var3 + 3), 16));
  123.                   var3 += 2;
  124.                   continue;
  125.                } catch (NumberFormatException var6) {
  126.                }
  127.             }
  128.  
  129.             var2.append(var4);
  130.          }
  131.  
  132.          return var2.toString();
  133.       }
  134.    }
  135.  
  136.    // $FF: renamed from: a (java.lang.String) java.lang.String
  137.    private String method_2(String var1) {
  138.       int var2 = var1.indexOf("JSESSIONID=");
  139.       if (var2 == -1) {
  140.          return null;
  141.       } else {
  142.          int var3 = var1.indexOf(59, var2);
  143.          return var3 == -1 ? var1.substring(var2 + 11) : var1.substring(var2 + 11, var3);
  144.       }
  145.    }
  146.  
  147.    // $FF: renamed from: d (java.lang.String) boolean
  148.    private boolean method_3(String var1) {
  149.       var1 = var1.toLowerCase();
  150.       return var1.startsWith("https:") || var1.startsWith("fullsize:https:");
  151.    }
  152.  
  153.    public void run() {
  154.       try {
  155.          HttpConnection var1 = null;
  156.          Object var2 = null;
  157.          OutputStreamWriter var3 = null;
  158.  
  159.          try {
  160.             try {
  161.                int var4 = this.field_6.indexOf(35);
  162.                if (var4 >= 0) {
  163.                   this.field_7 = this.field_6.substring(var4 + 1);
  164.                   this.field_6 = this.field_6.substring(0, var4);
  165.                }
  166.  
  167.                String var5 = this.field_6;
  168.                Object var6 = null;
  169.                byte var7 = 0;
  170.                int var8 = -1;
  171.                var4 = 0;
  172.  
  173.                while(var4 <= 6) {
  174.                   if (var4 == 0) {
  175.                      this.method_4(1, 0, (Throwable)null);
  176.                   }
  177.  
  178.                   int var9 = this.method_3(this.field_6);
  179.                   String var10 = var9 ? this.field_5.w : this.field_5.y;
  180.  
  181.                   try {
  182.                      var1 = (HttpConnection)Connector.open(var10);
  183.                   } catch (ConnectionNotFoundException var61) {
  184.                      if (var9) {
  185.                         throw new ConnectionNotFoundException("This resource requires a secure (HTTPS) connection, which is not supported by your device.");
  186.                      }
  187.  
  188.                      throw var61;
  189.                   }
  190.  
  191.                   var1.setRequestMethod("POST");
  192.                   if (this.field_5.L) {
  193.                      var1.setRequestProperty("Connection", "close");
  194.                   }
  195.  
  196.                   String var11 = this.field_5.S;
  197.                   if (var11 != null) {
  198.                      var1.setRequestProperty("Cookie", "JSESSIONID=" + var11);
  199.                   }
  200.  
  201.                   var1.setRequestProperty("Content-Type", "text/xml");
  202.                   var1.setRequestProperty("Accept", "application/xml");
  203.                   Thread.yield();
  204.                   if (this.field_14) {
  205.                      return;
  206.                   }
  207.  
  208.                   var3 = new OutputStreamWriter(var1.openOutputStream());
  209.                   ((Writer)var3).write("<req vid=\"66\" ver=\"3.0");
  210.                   if (this.field_5.p != null) {
  211.                      ((Writer)var3).write("\" c=\"" + this.field_5.p);
  212.                   }
  213.  
  214.                   if (var9 && this.field_5.ac != null) {
  215.                      ((Writer)var3).write("\" s=\"" + this.field_5.ac);
  216.                   }
  217.  
  218.                   if (this.field_0 != null) {
  219.                      ((Writer)var3).write("\" u=\"" + this.method_15(this.field_0, true));
  220.                   }
  221.  
  222.                   if (this.field_1 != null) {
  223.                      ((Writer)var3).write("\" l=\"" + this.method_15(this.field_1, true));
  224.                   }
  225.  
  226.                   ((Writer)var3).write("\"><uri");
  227.                   if (this.field_12 != null) {
  228.                      ((Writer)var3).write(" ref=\"" + this.method_15(this.field_12, true) + '"');
  229.                   }
  230.  
  231.                   if (this.field_13) {
  232.                      ((Writer)var3).write(" noCache=\"1\"");
  233.                   }
  234.  
  235.                   ((Writer)var3).write('>' + this.method_15(this.field_6, false) + "</uri>" + "<display width=\"" + this.field_3 + "\" height=\"" + this.field_4 + "\" images=\"" + this.field_2 + "\" cookies=\"" + (short)this.field_5.a + "\" isColor=\"" + this.field_5.E + "\" numColors=\"" + this.field_5.B);
  236.                   this.field_6 = null;
  237.                   if (this.field_5.s > 0) {
  238.                      ((Writer)var3).write("\" l=\"" + this.field_5.s);
  239.                   }
  240.  
  241.                   if (this.field_5.u && this.field_5.B > 16) {
  242.                      ((Writer)var3).write("\" i=\"j");
  243.                   }
  244.  
  245.                   ((Writer)var3).write("\"/>");
  246.                   if (this.field_10 != null) {
  247.                      ((Writer)var3).write("<f");
  248.                      if (this.field_8 != null) {
  249.                         ((Writer)var3).write(" method=\"" + this.method_15(this.field_8, true) + '"');
  250.                         this.field_8 = null;
  251.                      }
  252.  
  253.                      if (this.field_9 != null) {
  254.                         ((Writer)var3).write(" enctype=\"" + this.method_15(this.field_9, true) + '"');
  255.                         this.field_9 = null;
  256.                      }
  257.  
  258.                      if (this.field_11 != null) {
  259.                         ((Writer)var3).write(" charset=\"" + this.method_15(this.field_11, true) + '"');
  260.                      }
  261.  
  262.                      var3.write(62);
  263.  
  264.                      for(int var12 = 0; var12 < this.field_10.length; ++var12) {
  265.                         ((Writer)var3).write("<nv n=\"");
  266.                         ((Writer)var3).write(this.method_15(this.field_10[var12].a, true));
  267.                         ((Writer)var3).write("\" v=\"");
  268.                         ((Writer)var3).write(this.method_15(this.field_10[var12].b, true));
  269.                         ((Writer)var3).write("\"/>");
  270.                      }
  271.  
  272.                      this.field_10 = null;
  273.                      ((Writer)var3).write("</f>");
  274.                   }
  275.  
  276.                   ((Writer)var3).write("</req>");
  277.                   if (!var9) {
  278.                      var3.close();
  279.                   }
  280.  
  281.                   Thread.yield();
  282.                   if (this.field_14) {
  283.                      return;
  284.                   }
  285.  
  286.                   if (var4 == 0) {
  287.                      this.method_4(1, 100, (Throwable)null);
  288.                      this.field_18 = "Waiting for reply";
  289.                      this.method_4(2, 0, (Throwable)null);
  290.                   }
  291.  
  292.                   var2 = var1.openInputStream();
  293.                   String var73 = var1.getHeaderField("Set-Cookie");
  294.                   if (var73 != null) {
  295.                      this.field_5.S = this.method_2(var73);
  296.                   }
  297.  
  298.                   var8 = (int)var1.getLength();
  299.                   if (!"application/xml".equals(var1.getType())) {
  300.                      throw new IOException("Unexpected server response: " + var1.getResponseCode() + ' ' + var1.getResponseMessage() + "; " + var1.getType());
  301.                   }
  302.  
  303.                   if (this.field_5.s == 20000) {
  304.                      ByteArrayInputStream var13 = new ByteArrayInputStream(this.method_5((InputStream)var2, var8, 2));
  305.                      ((InputStream)var2).close();
  306.                      var1.close();
  307.                      var2 = var13;
  308.                   }
  309.  
  310.                   DataInputStream var67;
  311.                   if (this.field_5.d) {
  312.                      var67 = new DataInputStream(new r((InputStream)var2, true));
  313.                   } else {
  314.                      var67 = new DataInputStream((InputStream)var2);
  315.                   }
  316.  
  317.                   while(true) {
  318.                      Thread.yield();
  319.                      if (this.field_14) {
  320.                         return;
  321.                      }
  322.  
  323.                      var7 = var67.readByte();
  324.                      if (var7 < 0) {
  325.                         if (this.field_6 == null) {
  326.                            this.method_4(2, 100, (Throwable)null);
  327.                            if (var7 != -1) {
  328.                               throw new IOException("Invalid header");
  329.                            }
  330.  
  331.                            var9 = var67.readInt();
  332.                            this.field_15 = var67.readUnsignedShort();
  333.                            if (var9 > 0) {
  334.                               var5 = null;
  335.                               this.field_18 = "Loading text - " + (var9 / 1024 + 1) + 'K';
  336.                               if (l.C.stringWidth(this.field_18) >= this.field_3 - 2) {
  337.                                  this.field_18 = "Text - " + (var9 / 1024 + 1) + 'K';
  338.                               }
  339.  
  340.                               this.method_6(new r((InputStream)var2, this.field_5.d), var9);
  341.                            } else {
  342.                               this.field_18 = "Loading text";
  343.                               this.method_4(16, 100, (Throwable)null);
  344.                               this.field_5.D = var5 != null && var5.startsWith("fullsize:");
  345.                            }
  346.  
  347.                            if (this.field_15 > 0 && var8 >= 0) {
  348.                               this.field_18 = "Loading images - " + ((var8 - var9) / 1024 + 1) + 'K';
  349.                               if (l.C.stringWidth(this.field_18) >= this.field_3 - 2) {
  350.                                  this.field_18 = "Images - " + ((var8 - var9) / 1024 + 1) + 'K';
  351.                               }
  352.                            } else {
  353.                               this.field_18 = "Loading images";
  354.                            }
  355.  
  356.                            int var72 = 0;
  357.  
  358.                            while(var72 < this.field_15) {
  359.                               this.method_4(64, var72++ * 100 / this.field_15, (Throwable)null);
  360.                               Thread.yield();
  361.                               if (this.field_14) {
  362.                                  return;
  363.                               }
  364.  
  365.                               var9 = var67.readInt();
  366.                               if (var5 != null) {
  367.                                  this.method_14((InputStream)var2, var5, var9, true);
  368.                               } else {
  369.                                  this.method_14((InputStream)var2, var67.readUTF(), var9, this.field_15 == 1);
  370.                               }
  371.                            }
  372.  
  373.                            if (this.field_17 != 64 || this.field_16 != 100) {
  374.                               this.method_4(64, 100, (Throwable)null);
  375.                            }
  376.  
  377.                            return;
  378.                         }
  379.  
  380.                         if (var4 == 1) {
  381.                            this.method_4(2, 50, (Throwable)null);
  382.                         }
  383.  
  384.                         ((InputStream)var2).close();
  385.                         var1.close();
  386.                         ++var4;
  387.                         break;
  388.                      }
  389.  
  390.                      if (var7 == 0) {
  391.                         var5 = var67.readUTF();
  392.                         if (this.field_7 != null) {
  393.                            var5 = var5 + '#' + this.field_7;
  394.                         }
  395.  
  396.                         this.field_5.o = var5;
  397.                      } else if (var7 == 1) {
  398.                         String var74 = var67.readUTF();
  399.                         RecordStore var14 = null;
  400.  
  401.                         try {
  402.                            var14 = RecordStore.openRecordStore("clientID", true);
  403.                            ByteArrayOutputStream var15 = new ByteArrayOutputStream();
  404.                            DataOutputStream var16 = new DataOutputStream(var15);
  405.                            var16.writeUTF(var74);
  406.                            var16.flush();
  407.                            byte[] var17 = var15.toByteArray();
  408.  
  409.                            try {
  410.                               var14.setRecord(1, var17, 0, var17.length);
  411.                            } catch (InvalidRecordIDException var58) {
  412.                               var14.addRecord(var17, 0, var17.length);
  413.                            }
  414.  
  415.                            this.field_5.p = var74;
  416.                            if (var74.length() > 0 && var74.charAt(0) == '$') {
  417.                               l.U = true;
  418.                               this.field_5.removeCommand(WebViewer.w);
  419.                            }
  420.                         } catch (Exception var59) {
  421.                         } finally {
  422.                            if (var14 != null) {
  423.                               try {
  424.                                  var14.closeRecordStore();
  425.                               } catch (Exception var57) {
  426.                               }
  427.                            }
  428.  
  429.                         }
  430.                      } else if (var7 == 2) {
  431.                         this.field_5.ac = var67.readUTF();
  432.                      } else if (var7 == 3) {
  433.                         this.field_6 = var67.readUTF();
  434.                      }
  435.                   }
  436.                }
  437.  
  438.                throw new IOException();
  439.             } catch (OutOfMemoryError var62) {
  440.                this.field_0 = null;
  441.                this.field_1 = null;
  442.                this.field_6 = null;
  443.                this.field_11 = null;
  444.                this.field_12 = null;
  445.                System.gc();
  446.                this.method_4(this.field_17, this.field_16, var62);
  447.             } catch (Exception var63) {
  448.                Thread.yield();
  449.                this.method_4(this.field_17, this.field_16, var63);
  450.             }
  451.  
  452.          } finally {
  453.             try {
  454.                if (var2 != null) {
  455.                   ((InputStream)var2).close();
  456.                }
  457.  
  458.                if (var3 != null) {
  459.                   var3.close();
  460.                }
  461.  
  462.                if (var1 != null) {
  463.                   var1.close();
  464.                }
  465.             } catch (IOException var56) {
  466.             }
  467.  
  468.             this.field_5.repaint(0, 0, this.field_3, this.field_4);
  469.          }
  470.       } catch (OutOfMemoryError var65) {
  471.          this.method_4(this.field_17, this.field_16, var65);
  472.       }
  473.    }
  474.  
  475.    // $FF: renamed from: a (int, int, java.lang.Throwable) void
  476.    private void method_4(int var1, int var2, Throwable var3) {
  477.       if (!this.field_14) {
  478.          if (var1 == 64 && var2 == 100) {
  479.             this.field_18 = "Done loading";
  480.          }
  481.  
  482.          this.field_5.a(this.field_18, var2, var3);
  483.          m var4 = this.field_5.a();
  484.          if (var4 != null && (var2 != this.field_16 || this.field_17 != var1 || var3 != null || var1 == 1)) {
  485.             var4.a(var1, var2, var3);
  486.             this.field_16 = var2;
  487.          }
  488.  
  489.          this.field_17 = var1;
  490.       }
  491.    }
  492.  
  493.    // $FF: renamed from: a (java.io.InputStream, int, int) byte[]
  494.    private byte[] method_5(InputStream var1, int var2, int var3) throws IOException {
  495.       byte[] var4 = new byte[var2];
  496.       int var6 = 0;
  497.  
  498.       while(var6 < var2) {
  499.          if (!this.field_5.d) {
  500.             int var7;
  501.             if (var2 - var6 < 256) {
  502.                var7 = var1.read(var4, var6, var2 - var6);
  503.             } else {
  504.                var7 = var1.read(var4, var6, 256);
  505.             }
  506.  
  507.             Thread.yield();
  508.             if (this.field_14 || var7 == -1) {
  509.                break;
  510.             }
  511.  
  512.             var6 += var7;
  513.          } else {
  514.             int var5;
  515.             do {
  516.                var5 = var1.read();
  517.                if (var5 == -1) {
  518.                   break;
  519.                }
  520.  
  521.                var4[var6++] = (byte)var5;
  522.             } while(var6 % 128 != 0 && var6 < var2);
  523.  
  524.             Thread.yield();
  525.             if (this.field_14 || var5 == -1) {
  526.                break;
  527.             }
  528.          }
  529.  
  530.          if (var3 >= 0) {
  531.             this.method_4(var3, var6 * 100 / var2, (Throwable)null);
  532.          }
  533.       }
  534.  
  535.       return var4;
  536.    }
  537.  
  538.    // $FF: renamed from: a (r, int) void
  539.    private void method_6(r var1, int var2) throws IOException {
  540.       if (this.field_15 > 0) {
  541.          this.field_5.f = new Hashtable();
  542.          this.field_5.f();
  543.       }
  544.  
  545.       this.field_24 = new Stack();
  546.       n var3 = null;
  547.       k var4 = null;
  548.       v var5 = null;
  549.       u var6 = null;
  550.       e var7 = null;
  551.       a var8 = null;
  552.       a var9 = null;
  553.       boolean var10 = false;
  554.       boolean var11 = false;
  555.       boolean var12 = false;
  556.       int var13 = -1;
  557.       Stack var14 = null;
  558.       String var15 = null;
  559.       String var16 = null;
  560.       DataInputStream var17 = new DataInputStream(var1);
  561.  
  562.       while(true) {
  563.          Thread.yield();
  564.          if (this.field_14) {
  565.             return;
  566.          }
  567.  
  568.          this.method_4(16, var1.c * 100 / var2, (Throwable)null);
  569.          String[] var20 = new String[4];
  570.          int[] var21 = new int[4];
  571.          byte[] var22 = new byte[2];
  572.          boolean[] var23 = new boolean[2];
  573.          int[] var24 = null;
  574.          byte var18 = var17.readByte();
  575.          if (var18 >= 60) {
  576.             var18 = (byte)(var18 - 60);
  577.  
  578.             while(true) {
  579.                byte var19 = var17.readByte();
  580.                if (var19 == -1) {
  581.                   break;
  582.                }
  583.  
  584.                if (var19 >= 80) {
  585.                   var19 = (byte)(var19 - 80);
  586.                   String var41 = var17.readUTF();
  587.                   if (var19 >= 0 && var19 < 4) {
  588.                      var20[var19] = var41;
  589.                   }
  590.                } else if (var19 >= 60) {
  591.                   var19 = (byte)(var19 - 60);
  592.                   int var40 = var17.readUnsignedShort();
  593.                   if (var19 >= 0 && var19 < 4) {
  594.                      var21[var19] = var40;
  595.                   }
  596.                } else if (var19 >= 40) {
  597.                   var19 = (byte)(var19 - 40);
  598.                   if (var19 >= 0 && var19 < 2) {
  599.                      var23[var19] = true;
  600.                   }
  601.                } else if (var19 >= 20) {
  602.                   var19 = (byte)(var19 - 20);
  603.                   byte var39 = var17.readByte();
  604.                   if (var19 >= 0 && var19 < 2) {
  605.                      var22[var19] = var39;
  606.                   }
  607.                } else {
  608.                   var24 = new int[var17.readUnsignedShort()];
  609.  
  610.                   for(int var25 = 0; var25 < var24.length; ++var25) {
  611.                      var24[var25] = var17.readUnsignedShort();
  612.                   }
  613.                }
  614.             }
  615.          }
  616.  
  617.          if (var18 == 0) {
  618.             String var43 = var17.readUTF();
  619.             if (var11) {
  620.                this.field_5.i = var43;
  621.             } else if (var7 != null) {
  622.                var16 = var43;
  623.             } else if (var6 != null) {
  624.                String var51 = var6.d();
  625.                if (var51 != null) {
  626.                   var6.a(var51 + var43);
  627.                } else {
  628.                   var6.a(var43);
  629.                }
  630.             } else {
  631.                if (this.field_22 <= 0 && !var10) {
  632.                   int var50;
  633.                   for(var50 = 0; var50 < var43.length() && var43.charAt(var50) <= ' '; ++var50) {
  634.                   }
  635.  
  636.                   if (var50 > 0) {
  637.                      var43 = var43.substring(var50);
  638.                   }
  639.                }
  640.  
  641.                if (var3 != null) {
  642.                   this.method_13(var43, var3);
  643.                } else {
  644.                   this.method_13(var43, var4);
  645.                }
  646.             }
  647.          } else if (var18 == 32) {
  648.             if (this.field_22 > 0) {
  649.                this.field_22 += this.field_25.charWidth(' ');
  650.             }
  651.          } else {
  652.             boolean var42 = var18 >= 0;
  653.             if (!var42) {
  654.                var18 *= -1;
  655.             }
  656.  
  657.             if ((var18 & 1) != 0) {
  658.                if (var42 && (this.field_22 > 0 || var10)) {
  659.                   if (var18 != 1) {
  660.                      this.field_23 += this.field_25.getHeight() / 3;
  661.                   }
  662.  
  663.                   this.method_17(this.field_25.getHeight());
  664.                }
  665.  
  666.                switch (var18) {
  667.                   case 3:
  668.                      if (var42) {
  669.                         var5 = new v(var20[0], var22[0] != 0, var20[1], var20[2]);
  670.                      }
  671.                   case 4:
  672.                   case 6:
  673.                   case 8:
  674.                   case 10:
  675.                   case 12:
  676.                   case 14:
  677.                   case 16:
  678.                   default:
  679.                      break;
  680.                   case 5:
  681.                      if (var42) {
  682.                         StringBuffer var49 = new StringBuffer(2);
  683.                         if (var14 != null) {
  684.                            for(int var56 = 0; var56 < ((Vector)var14).size() && var56 < 4; ++var56) {
  685.                               var49.append('┬á').append('┬á');
  686.                            }
  687.                         }
  688.  
  689.                         if (var13 > 0) {
  690.                            var49.append(String.valueOf(var13++));
  691.                            var49.append('.');
  692.                         } else {
  693.                            var49.append('*');
  694.                         }
  695.  
  696.                         this.method_13(var49.toString(), (d)null);
  697.                         this.field_22 += this.field_25.charWidth(' ');
  698.                      }
  699.                      break;
  700.                   case 7:
  701.                   case 9:
  702.                      if (var42) {
  703.                         if (var13 >= 0) {
  704.                            if (var14 == null) {
  705.                               var14 = new Stack();
  706.                            }
  707.  
  708.                            var14.push(new Integer(var13));
  709.                         }
  710.  
  711.                         if (var18 == 9) {
  712.                            var13 = 1;
  713.                         } else {
  714.                            var13 = 0;
  715.                         }
  716.                      } else if (var14 != null) {
  717.                         try {
  718.                            var13 = (Integer)var14.pop();
  719.                         } catch (EmptyStackException var32) {
  720.                         }
  721.  
  722.                         if (var14.empty()) {
  723.                            var14 = null;
  724.                         }
  725.                      } else {
  726.                         var13 = -1;
  727.                      }
  728.                      break;
  729.                   case 11:
  730.                   case 13:
  731.                      if (var42) {
  732.                         this.field_25 = Font.getFont(this.field_25.getFace(), this.field_5.d ? 0 : 1, var18 == 11 ? 16 : 0);
  733.                      } else {
  734.                         this.field_25 = this.field_5.af;
  735.                      }
  736.                      break;
  737.                   case 15:
  738.                      var10 = var42;
  739.                      if (var42) {
  740.                         this.method_8();
  741.                      } else {
  742.                         this.method_16();
  743.                      }
  744.                      break;
  745.                   case 17:
  746.                      if (var42) {
  747.                         this.method_9();
  748.                      } else {
  749.                         this.method_16();
  750.                      }
  751.                }
  752.  
  753.                if (!var42 && this.field_22 > 0) {
  754.                   if (var18 != 1) {
  755.                      this.field_23 += this.field_25.getHeight() / 3;
  756.                   }
  757.  
  758.                   this.method_17(this.field_25.getHeight());
  759.                }
  760.             } else {
  761.                switch (var18) {
  762.                   case 2:
  763.                      var11 = var42;
  764.                   case 3:
  765.                   case 5:
  766.                   case 7:
  767.                   case 9:
  768.                   case 11:
  769.                   case 13:
  770.                   case 15:
  771.                   case 17:
  772.                   case 19:
  773.                   case 21:
  774.                   case 23:
  775.                   case 25:
  776.                   case 27:
  777.                   case 29:
  778.                   case 31:
  779.                   case 32:
  780.                   case 33:
  781.                   default:
  782.                      break;
  783.                   case 4:
  784.                      if (var42) {
  785.                         String var48 = var20[0];
  786.                         String var55 = var20[1];
  787.                         if (var48 != null) {
  788.                            if (var3 != null) {
  789.                               this.method_10(var3);
  790.                            }
  791.  
  792.                            var3 = new n(var48);
  793.                            this.field_24.push(this.field_25);
  794.                            this.field_25 = Font.getFont(this.field_25.getFace(), this.field_25.getStyle() | 4, this.field_25.getSize());
  795.                            this.field_26 |= 1;
  796.                         }
  797.  
  798.                         if (var55 != null && this.field_21 != null) {
  799.                            this.method_7(var55);
  800.                         }
  801.                      } else if (var3 != null) {
  802.                         this.method_10(var3);
  803.                         var3 = null;
  804.                      }
  805.                      break;
  806.                   case 6:
  807.                      if (var42) {
  808.                         if (var3 != null) {
  809.                            this.method_11(var20, var21, var22, var23, var3);
  810.                         } else {
  811.                            this.method_11(var20, var21, var22, var23, var4);
  812.                         }
  813.                      }
  814.                      break;
  815.                   case 8:
  816.                      if (var42) {
  817.                         this.field_24.push(this.field_25);
  818.                         if (!this.field_5.d) {
  819.                            this.field_25 = Font.getFont(this.field_25.getFace(), this.field_25.getStyle() | 1, this.field_25.getSize());
  820.                         }
  821.                      } else {
  822.                         this.method_16();
  823.                      }
  824.                      break;
  825.                   case 10:
  826.                      if (var42) {
  827.                         this.method_9();
  828.                      } else {
  829.                         this.method_16();
  830.                      }
  831.                      break;
  832.                   case 12:
  833.                      if (!var42) {
  834.                         break;
  835.                      }
  836.  
  837.                      byte var47 = var22[1];
  838.                      String var54 = var20[2];
  839.                      String var58 = var20[3];
  840.                      if (var47 != 0 && var47 != 1) {
  841.                         if (var47 == 2) {
  842.                            if (var58 == null) {
  843.                               var58 = "on";
  844.                            }
  845.  
  846.                            w var62 = new w(var54, var58, var23[0]);
  847.                            if (var5 != null) {
  848.                               var5.a(var62);
  849.                            }
  850.  
  851.                            this.field_20.addElement(new c(var62, this.field_19.size()));
  852.                            int var65 = this.field_25.getHeight() - 2;
  853.                            if (var65 > this.field_3 - this.field_22) {
  854.                               this.method_17(var65 + 2);
  855.                            } else {
  856.                               this.method_20(var65 + 2);
  857.                            }
  858.  
  859.                            this.field_19.addElement(new t(var62, this.field_22, this.method_18(var65), var65, var65, 0, (Font)null));
  860.                            this.field_22 += var65 + 1;
  861.                         } else if (var47 == 3) {
  862.                            if (var58 == null) {
  863.                               var58 = "on";
  864.                            }
  865.  
  866.                            z var61 = new z(var5, var54, var58, var23[0]);
  867.                            if (var5 != null) {
  868.                               var5.a(var61);
  869.                            }
  870.  
  871.                            this.field_20.addElement(new c(var61, this.field_19.size()));
  872.                            int var64 = this.field_25.getHeight();
  873.                            if (var64 > this.field_3 - this.field_22) {
  874.                               this.method_17(var64 + 2);
  875.                            } else {
  876.                               this.method_20(var64 + 2);
  877.                            }
  878.  
  879.                            this.field_19.addElement(new t(var61, this.field_22, this.method_18(var64), var64, var64, 0, (Font)null));
  880.                            this.field_22 += var64 + 1;
  881.                         } else {
  882.                            if (var47 != 4 && var47 != 5) {
  883.                               if (var47 == 7) {
  884.                                  if (var5 != null && var54 != null) {
  885.                                     if (var58 == null) {
  886.                                        var58 = "";
  887.                                     }
  888.  
  889.                                     var5.a(new u(var54, var58, true));
  890.                                  }
  891.                               } else if (var47 == 8) {
  892.                                  if (var54 == null) {
  893.                                     var54 = "";
  894.                                  }
  895.  
  896.                                  if (var54.length() > 0) {
  897.                                     var54 = var54 + '.';
  898.                                  }
  899.  
  900.                                  u var60 = new u(var54 + 'x', (String)null, false);
  901.                                  u var63 = new u(var54 + 'y', (String)null, false);
  902.                                  if (var5 != null) {
  903.                                     var5.a(var60);
  904.                                     var5.a(var63);
  905.                                  }
  906.  
  907.                                  var4 = new k(var5, var60, var63);
  908.                                  if (this.field_2) {
  909.                                     this.method_11(var20, var21, var22, var23, var4);
  910.                                  } else {
  911.                                     String var31 = var20[1];
  912.                                     this.field_22 += this.method_13(var31, var4) + 1;
  913.                                  }
  914.  
  915.                                  this.field_20.addElement(var4);
  916.                                  var4 = null;
  917.                               }
  918.                               break;
  919.                            }
  920.  
  921.                            u var29 = null;
  922.                            if (var47 == 5) {
  923.                               if (var58 == null || var58.length() == 0) {
  924.                                  var58 = "Reset";
  925.                               }
  926.                            } else {
  927.                               if (var58 == null || var58.length() == 0) {
  928.                                  var58 = "Submit";
  929.                               }
  930.  
  931.                               var29 = new u(var54, var58, false);
  932.                               if (var5 != null) {
  933.                                  var5.a(var29);
  934.                               }
  935.                            }
  936.  
  937.                            var58 = '┬á' + var58 + '┬á';
  938.                            var4 = new k(var5, var29, (u)null);
  939.                            int var30 = this.field_25.stringWidth(var58);
  940.                            if (var30 >= this.field_3 - this.field_22 && this.field_22 > 0) {
  941.                               this.method_17(this.field_25.getHeight() + 1);
  942.                            }
  943.  
  944.                            this.field_22 = this.method_13(var58, var4) + 1;
  945.                            this.field_20.addElement(var4);
  946.                            var4 = null;
  947.                         }
  948.                      } else {
  949.                         if (var58 == null) {
  950.                            var58 = "";
  951.                         }
  952.  
  953.                         if (var47 == 1) {
  954.                            this.method_12(var54, var58, 1, var21[2], var21[3], 65536, var5);
  955.                         } else {
  956.                            this.method_12(var54, var58, 1, var21[2], var21[3], 0, var5);
  957.                         }
  958.                      }
  959.                      break;
  960.                   case 14:
  961.                      if (var42) {
  962.                         var7 = new e(var20[0], var23[0]);
  963.                         break;
  964.                      }
  965.  
  966.                      var7.d.trimToSize();
  967.                      if (var5 != null) {
  968.                         var5.a(var7);
  969.                      }
  970.  
  971.                      this.field_20.addElement(new f(var7, this.field_19.size(), this.field_25));
  972.                      int var45 = 0;
  973.                      Enumeration var53 = var7.d.elements();
  974.  
  975.                      while(var53.hasMoreElements()) {
  976.                         int var57 = this.field_25.stringWidth(((p)var53.nextElement()).a());
  977.                         if (var57 > var45) {
  978.                            var45 = var57;
  979.                            if (var57 > this.field_3 - this.field_25.getHeight()) {
  980.                               var45 = this.field_3 - this.field_25.getHeight();
  981.                               break;
  982.                            }
  983.                         }
  984.                      }
  985.  
  986.                      var45 += this.field_25.getHeight();
  987.                      if (var45 > this.field_3 - this.field_22) {
  988.                         this.method_17(this.field_25.getHeight() + 2);
  989.                      } else {
  990.                         this.method_20(this.field_25.getHeight() + 2);
  991.                      }
  992.  
  993.                      this.field_19.addElement(new t(var7, this.field_22, this.method_18(this.field_25.getHeight()), var45, this.field_25.getHeight(), 0, (Font)null));
  994.                      this.field_22 += var45 + 1;
  995.                      var7 = null;
  996.                      break;
  997.                   case 16:
  998.                      if (var42) {
  999.                         var15 = var20[0];
  1000.                         var12 = var23[0];
  1001.                      } else {
  1002.                         if (var7 != null) {
  1003.                            if (var16 == null) {
  1004.                               var16 = "";
  1005.                            }
  1006.  
  1007.                            var7.d.addElement(new p(var7, var16, var15 == null ? var16 : var15, var12));
  1008.                         }
  1009.  
  1010.                         var15 = null;
  1011.                         var16 = null;
  1012.                      }
  1013.                      break;
  1014.                   case 18:
  1015.                      if (var42) {
  1016.                         var6 = this.method_12(var20[0], (String)null, var21[0], var21[1], -1, 0, var5);
  1017.                      } else if (var6 != null) {
  1018.                         if (var6.d() == null) {
  1019.                            var6.a("");
  1020.                         }
  1021.  
  1022.                         var6 = null;
  1023.                      }
  1024.                      break;
  1025.                   case 20:
  1026.                      if (var42) {
  1027.                         this.method_8();
  1028.                      } else {
  1029.                         this.method_16();
  1030.                      }
  1031.                      break;
  1032.                   case 22:
  1033.                      if (var42) {
  1034.                         String var44 = var20[0];
  1035.                         a var52 = new a(var8, var44, var22[0], var24);
  1036.                         if (var8 == null) {
  1037.                            var8 = var52;
  1038.                         }
  1039.  
  1040.                         if (var9 != null) {
  1041.                            var9.a = var52;
  1042.                         }
  1043.  
  1044.                         var9 = var52;
  1045.                         var52.a(this.field_19.size());
  1046.                         if (var44 != null) {
  1047.                            this.field_20.addElement(var52);
  1048.                         }
  1049.                      }
  1050.                      break;
  1051.                   case 24:
  1052.                      if (!var42 && this.field_2) {
  1053.                         var8 = null;
  1054.                         var9 = null;
  1055.                      }
  1056.                      break;
  1057.                   case 26:
  1058.                      if (!var42) {
  1059.                         this.method_4(16, 100, (Throwable)null);
  1060.                         this.field_20.trimToSize();
  1061.                         this.field_19.trimToSize();
  1062.                         return;
  1063.                      }
  1064.                      break;
  1065.                   case 28:
  1066.                      if (var42) {
  1067.                         byte var26 = var22[0];
  1068.                         u var27 = null;
  1069.                         if (var26 == 0) {
  1070.                            String var28 = var20[1];
  1071.                            if (var28 == null) {
  1072.                               var28 = "";
  1073.                            }
  1074.  
  1075.                            var27 = new u(var20[0], var28, false);
  1076.                            if (var5 != null) {
  1077.                               var5.a(var27);
  1078.                            }
  1079.                         }
  1080.  
  1081.                         var4 = new k(var5, var27, (u)null);
  1082.                         if (this.field_22 > 0) {
  1083.                            this.method_17(this.field_25.getHeight() + 1);
  1084.                         }
  1085.                      } else if (var4 != null) {
  1086.                         if (var4.b() > 0) {
  1087.                            this.field_20.addElement(var4);
  1088.                         }
  1089.  
  1090.                         var4 = null;
  1091.                         if (this.field_22 > 0) {
  1092.                            this.method_17(this.field_25.getHeight());
  1093.                         }
  1094.                      }
  1095.                      break;
  1096.                   case 30:
  1097.                      if (var42) {
  1098.                         this.field_26 |= 2;
  1099.                         if ((this.field_26 & 1) != 0) {
  1100.                            this.field_26 |= 4;
  1101.                         }
  1102.                      } else {
  1103.                         this.field_26 &= -3;
  1104.                         this.field_26 &= -5;
  1105.                      }
  1106.                      break;
  1107.                   case 34:
  1108.                      if (var42 && var20[0] != null) {
  1109.                         this.method_7(var20[0]);
  1110.                      }
  1111.                }
  1112.             }
  1113.          }
  1114.       }
  1115.    }
  1116.  
  1117.    // $FF: renamed from: b (java.lang.String) void
  1118.    private void method_7(String var1) {
  1119.       if (this.field_21 != null) {
  1120.          this.field_21.put(var1, new Integer(this.field_23));
  1121.          if (this.field_7 != null && method_1(this.field_7).equals(var1)) {
  1122.             this.field_5.a(var1);
  1123.             this.field_7 = null;
  1124.          }
  1125.       }
  1126.  
  1127.    }
  1128.  
  1129.    // $FF: renamed from: a () void
  1130.    private void method_8() {
  1131.       this.field_24.push(this.field_25);
  1132.       this.field_25 = Font.getFont(32, this.field_25.getStyle(), this.field_25.getSize());
  1133.       if (this.field_5.L && this.field_25.stringWidth("sex") <= 3) {
  1134.          Graphics var1 = Image.createImage(1, 1).getGraphics();
  1135.          var1.setFont(this.field_25);
  1136.          var1.drawString("sex", 0, 0, 20);
  1137.       }
  1138.  
  1139.    }
  1140.  
  1141.    // $FF: renamed from: c () void
  1142.    private void method_9() {
  1143.       this.field_24.push(this.field_25);
  1144.       this.field_25 = Font.getFont(this.field_25.getFace(), this.field_25.getStyle() | 2, this.field_25.getSize());
  1145.    }
  1146.  
  1147.    // $FF: renamed from: a (n) void
  1148.    private void method_10(n var1) {
  1149.       if (var1.b() > 0) {
  1150.          this.field_20.addElement(var1);
  1151.       }
  1152.  
  1153.       this.field_26 &= -2;
  1154.       this.method_16();
  1155.    }
  1156.  
  1157.    // $FF: renamed from: a (java.lang.String[], int[], byte[], boolean[], d) void
  1158.    private void method_11(String[] var1, int[] var2, byte[] var3, boolean[] var4, d var5) throws IOException {
  1159.       String var6 = var1[0];
  1160.       int var7 = var2[0];
  1161.       int var8 = var2[1];
  1162.       if (var6 != null && var7 > 0 && var8 > 0) {
  1163.          var6 = var6 + '#' + var7 + ',' + var8;
  1164.          int var9 = 100;
  1165.          if (var7 > this.field_3) {
  1166.             var9 = 100 * this.field_3 / var7;
  1167.             var8 = this.field_3 * var8 / var7;
  1168.             var7 = this.field_3;
  1169.             if (var8 == 0) {
  1170.                var8 = 1;
  1171.             }
  1172.          }
  1173.  
  1174.          if (var7 > this.field_3 - this.field_22) {
  1175.             this.method_17(var8 + 2);
  1176.          } else {
  1177.             this.method_20(var8 + 2);
  1178.          }
  1179.  
  1180.          this.method_21(var3[0]);
  1181.          if (var5 != null) {
  1182.             if (var4[1] && var5 instanceof n) {
  1183.                ((n)var5).e = true;
  1184.             }
  1185.  
  1186.             var5.b(var9);
  1187.             var5.a(this.field_19.size());
  1188.          }
  1189.  
  1190.          this.field_19.addElement(new y(this.field_5.f, var6, this.field_22, this.method_18(var8), var7, var8));
  1191.          this.field_22 += var7 + 2;
  1192.       }
  1193.  
  1194.    }
  1195.  
  1196.    // $FF: renamed from: a (java.lang.String, java.lang.String, int, int, int, int, v) u
  1197.    private u method_12(String var1, String var2, int var3, int var4, int var5, int var6, v var7) {
  1198.       if (var3 <= 0) {
  1199.          var3 = 3;
  1200.       }
  1201.  
  1202.       if (var4 <= 0) {
  1203.          var4 = 20;
  1204.       }
  1205.  
  1206.       if (var5 == 0) {
  1207.          var5 = -1;
  1208.       }
  1209.  
  1210.       if (this.field_22 > 0) {
  1211.          this.method_17(var3 * this.field_25.getHeight() + 2);
  1212.       } else {
  1213.          this.method_20(var3 * this.field_25.getHeight() + 2);
  1214.       }
  1215.  
  1216.       int var8 = var4 * this.field_25.charWidth(' ');
  1217.       if (var8 >= this.field_3) {
  1218.          var8 = this.field_3;
  1219.       }
  1220.  
  1221.       u var9 = new u(var1, var2, true);
  1222.       this.field_20.addElement(new x(var9, this.field_19.size(), var5, var6));
  1223.       this.field_19.addElement(new t(var9, this.field_22, this.field_23 + 1, var8, var3 * this.field_25.getHeight(), var6, this.field_25));
  1224.       if (var7 != null) {
  1225.          var7.a(var9);
  1226.       }
  1227.  
  1228.       this.field_22 += var8 + 1;
  1229.       if (this.field_5.j) {
  1230.          this.field_5.repaint(0, 0, this.field_3, this.field_4);
  1231.       }
  1232.  
  1233.       return var9;
  1234.    }
  1235.  
  1236.    // $FF: renamed from: a (java.lang.String, d) int
  1237.    private int method_13(String var1, d var2) {
  1238.       int var3 = var1.length();
  1239.       int var4 = 0;
  1240.       int var5 = 0;
  1241.       int var6 = 0;
  1242.       int var7 = this.field_22;
  1243.  
  1244.       while(var5 < var3) {
  1245.          int var8 = var1.indexOf(32, var5);
  1246.          if (var8 < 0) {
  1247.             var8 = var3;
  1248.          }
  1249.  
  1250.          if (var8 > 0) {
  1251.             int var9 = this.field_25.substringWidth(var1, var5, var8 - var5);
  1252.             if (var9 >= this.field_3 - this.field_22) {
  1253.                int var10 = var5 - 1;
  1254.                if (var6 == var5 && this.field_22 == 0) {
  1255.                   int var11 = 1;
  1256.  
  1257.                   while(true) {
  1258.                      Thread.yield();
  1259.                      if (this.field_14) {
  1260.                         return var4;
  1261.                      }
  1262.  
  1263.                      var9 = this.field_25.substringWidth(var1, var5, var8 - var5 - var11);
  1264.                      if (var9 <= this.field_3 - this.field_22) {
  1265.                         var5 = var10 = var8 - var11;
  1266.                         break;
  1267.                      }
  1268.  
  1269.                      ++var11;
  1270.                   }
  1271.                }
  1272.  
  1273.                if (var10 > var6) {
  1274.                   if (var2 != null) {
  1275.                      var2.a(this.field_19.size());
  1276.                   }
  1277.  
  1278.                   this.method_20(this.field_25.getHeight());
  1279.                   this.field_19.addElement(new i(var1.substring(var6, var10), var7, this.method_19(this.field_25.getHeight(), true), this.field_25, this.field_26));
  1280.                   if (this.field_22 + var9 > var4) {
  1281.                      var4 = this.field_22 + var9;
  1282.                   }
  1283.                }
  1284.  
  1285.                this.method_17(this.field_25.getHeight());
  1286.                var7 = 0;
  1287.                var6 = var5;
  1288.                continue;
  1289.             }
  1290.  
  1291.             if (var8 + 1 >= var3) {
  1292.                if (var2 != null) {
  1293.                   var2.a(this.field_19.size());
  1294.                }
  1295.  
  1296.                this.method_20(this.field_25.getHeight());
  1297.                this.field_19.addElement(new i(var1.substring(var6, var8), var7, this.method_19(this.field_25.getHeight(), true), this.field_25, this.field_26));
  1298.                this.field_22 += var9;
  1299.                if (this.field_22 > var4) {
  1300.                   var4 = this.field_22;
  1301.                }
  1302.             } else {
  1303.                this.field_22 += var9;
  1304.             }
  1305.          }
  1306.  
  1307.          if (var8 < var3) {
  1308.             this.field_22 += this.field_25.charWidth(' ');
  1309.          }
  1310.  
  1311.          var5 = var8 + 1;
  1312.       }
  1313.  
  1314.       if (this.field_5.j) {
  1315.          this.field_5.repaint(0, 0, this.field_3, this.field_4);
  1316.       }
  1317.  
  1318.       return var4;
  1319.    }
  1320.  
  1321.    // $FF: renamed from: a (java.io.InputStream, java.lang.String, int, boolean) void
  1322.    private void method_14(InputStream var1, String var2, int var3, boolean var4) throws IOException {
  1323.       if (var3 > 0) {
  1324.          byte[] var5 = this.method_5(var1, var3, var4 ? 64 : -1);
  1325.          if (var5 != null && var5.length > 0) {
  1326.             Thread.yield();
  1327.             if (this.field_14) {
  1328.                return;
  1329.             }
  1330.  
  1331.             try {
  1332.                Image var6 = Image.createImage(var5, 0, var5.length);
  1333.                Object var9 = null;
  1334.                Thread.yield();
  1335.                if (this.field_14) {
  1336.                   return;
  1337.                }
  1338.  
  1339.                if (this.field_5.f == null) {
  1340.                   this.field_5.f = new Hashtable();
  1341.                   this.field_5.v = var6.getHeight();
  1342.                   this.field_5.ae = var6.getWidth();
  1343.                   if (!this.field_5.D) {
  1344.                      this.field_5.f();
  1345.                   }
  1346.  
  1347.                   y var7 = new y(this.field_5.f, var2, 0, 0, var6.getWidth(), var6.getHeight());
  1348.                   this.field_19.addElement(var7);
  1349.                }
  1350.  
  1351.                this.field_5.f.put(var2, var6);
  1352.                this.field_5.repaint(0, 0, this.field_3, this.field_4);
  1353.             } catch (IllegalArgumentException var8) {
  1354.                if (this.field_5.f == null) {
  1355.                   throw var8;
  1356.                }
  1357.             }
  1358.          }
  1359.  
  1360.       }
  1361.    }
  1362.  
  1363.    // $FF: renamed from: a (java.lang.String, boolean) java.lang.String
  1364.    private final String method_15(String var1, boolean var2) {
  1365.       int var3 = var1.length();
  1366.       StringBuffer var4 = new StringBuffer(var3);
  1367.  
  1368.       for(int var5 = 0; var5 < var3; ++var5) {
  1369.          char var6 = var1.charAt(var5);
  1370.          switch (var6) {
  1371.             case '"':
  1372.                if (var2) {
  1373.                   var4.append(""");
  1374.                   break;
  1375.                }
  1376.             default:
  1377.                if (var6 > 127) {
  1378.                   var4.append("&#" + var6 + ';');
  1379.                } else {
  1380.                   var4.append(var6);
  1381.                }
  1382.                break;
  1383.             case '&':
  1384.                var4.append("&");
  1385.                break;
  1386.             case '<':
  1387.                var4.append("<");
  1388.                break;
  1389.             case '>':
  1390.                var4.append(">");
  1391.          }
  1392.       }
  1393.  
  1394.       return var4.toString();
  1395.    }
  1396.  
  1397.    // $FF: renamed from: b () void
  1398.    private void method_16() {
  1399.       try {
  1400.          this.field_25 = (Font)this.field_24.pop();
  1401.       } catch (EmptyStackException var2) {
  1402.       }
  1403.  
  1404.    }
  1405.  
  1406.    // $FF: renamed from: c (int) void
  1407.    private void method_17(int var1) {
  1408.       this.field_22 = 0;
  1409.       this.field_23 += this.field_27;
  1410.       this.field_27 = var1;
  1411.       this.field_28 = 0;
  1412.       this.field_5.v = this.field_23 + this.field_27;
  1413.    }
  1414.  
  1415.    // $FF: renamed from: a (int) int
  1416.    private int method_18(int var1) {
  1417.       return this.method_19(var1, false);
  1418.    }
  1419.  
  1420.    // $FF: renamed from: a (int, boolean) int
  1421.    private int method_19(int var1, boolean var2) {
  1422.       switch (this.field_28) {
  1423.          case 1:
  1424.             return this.field_23 + (var2 ? 0 : 1);
  1425.          case 2:
  1426.             return this.field_23 + this.field_27 / 2 - var1 / 2;
  1427.          default:
  1428.             return this.field_23 + this.field_27 - var1 - (var2 ? 0 : 1);
  1429.       }
  1430.    }
  1431.  
  1432.    // $FF: renamed from: b (int) void
  1433.    private void method_20(int var1) {
  1434.       if (var1 > this.field_27) {
  1435.          this.field_27 = var1;
  1436.          this.field_5.v = this.field_23 + this.field_27;
  1437.          if (this.field_22 > 0) {
  1438.             this.method_22();
  1439.          }
  1440.       }
  1441.  
  1442.    }
  1443.  
  1444.    // $FF: renamed from: a (byte) void
  1445.    private void method_21(byte var1) {
  1446.       if (this.field_28 != var1) {
  1447.          this.field_28 = var1;
  1448.          this.method_22();
  1449.       }
  1450.  
  1451.    }
  1452.  
  1453.    // $FF: renamed from: e () void
  1454.    private void method_22() {
  1455.       for(int var1 = this.field_19.size() - 1; var1 >= 0; --var1) {
  1456.          b var2 = (b)this.field_19.elementAt(var1);
  1457.          if (var2.e < this.field_23) {
  1458.             break;
  1459.          }
  1460.  
  1461.          var2.e = this.method_19(var2.b(), var2 instanceof i);
  1462.       }
  1463.  
  1464.    }
  1465. }
  1466.