home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / AnfyJava14 / data1.cab / Program_Files / Applet / plasma / Plasma3.jar / Plasma3.class (.txt) < prev   
Encoding:
Java Class File  |  1998-11-29  |  19.7 KB  |  1,657 lines

  1. import java.applet.Applet;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Dimension;
  6. import java.awt.Event;
  7. import java.awt.Font;
  8. import java.awt.FontMetrics;
  9. import java.awt.Frame;
  10. import java.awt.Graphics;
  11. import java.awt.Image;
  12. import java.awt.Label;
  13. import java.awt.LayoutManager;
  14. import java.awt.MediaTracker;
  15. import java.awt.Panel;
  16. import java.awt.Toolkit;
  17. import java.awt.image.DirectColorModel;
  18. import java.awt.image.ImageObserver;
  19. import java.awt.image.IndexColorModel;
  20. import java.awt.image.MemoryImageSource;
  21. import java.io.ByteArrayOutputStream;
  22. import java.io.DataInputStream;
  23. import java.io.FilterInputStream;
  24. import java.io.IOException;
  25. import java.io.InputStream;
  26. import java.io.OutputStream;
  27. import java.net.MalformedURLException;
  28. import java.net.URL;
  29.  
  30. public class Plasma3 extends Applet implements Runnable, ImageObserver {
  31.    // $FF: renamed from: a int
  32.    private int field_0;
  33.    // $FF: renamed from: b java.awt.Frame
  34.    Frame field_1;
  35.    // $FF: renamed from: c boolean
  36.    boolean field_2 = false;
  37.    // $FF: renamed from: d java.lang.String
  38.    final String field_3 = method_21("yk~~[L;lk\u001e~zl{Q\u0018Xgg][r.:IOl sP^");
  39.    // $FF: renamed from: e byte[]
  40.    byte[] field_4;
  41.    // $FF: renamed from: f double
  42.    double field_5;
  43.    // $FF: renamed from: g double
  44.    double field_6;
  45.    // $FF: renamed from: h double
  46.    double field_7;
  47.    // $FF: renamed from: i byte[]
  48.    byte[] field_8;
  49.    // $FF: renamed from: j int
  50.    int field_9;
  51.    // $FF: renamed from: k java.awt.image.IndexColorModel
  52.    IndexColorModel field_10;
  53.    // $FF: renamed from: l byte[]
  54.    byte[] field_11;
  55.    // $FF: renamed from: m long
  56.    long field_12;
  57.    // $FF: renamed from: n int
  58.    int field_13;
  59.    // $FF: renamed from: o int[]
  60.    int[] field_14;
  61.    // $FF: renamed from: p boolean
  62.    boolean field_15 = false;
  63.    // $FF: renamed from: q java.awt.Font
  64.    Font field_16;
  65.    // $FF: renamed from: r int
  66.    int field_17;
  67.    // $FF: renamed from: s double
  68.    double field_18 = (double)1.0F;
  69.    // $FF: renamed from: t double
  70.    double field_19 = (double)1.0F;
  71.    // $FF: renamed from: u double
  72.    double field_20 = (double)1.0F;
  73.    // $FF: renamed from: v byte[]
  74.    byte[] field_21;
  75.    // $FF: renamed from: w double
  76.    double field_22;
  77.    // $FF: renamed from: x double
  78.    double field_23;
  79.    // $FF: renamed from: y double
  80.    double field_24;
  81.    // $FF: renamed from: z int
  82.    int field_25;
  83.    // $FF: renamed from: A float
  84.    float field_26;
  85.    // $FF: renamed from: B float
  86.    float field_27;
  87.    // $FF: renamed from: C int
  88.    int field_28;
  89.    // $FF: renamed from: D java.awt.Image
  90.    private Image field_29;
  91.    // $FF: renamed from: E int
  92.    int field_30;
  93.    // $FF: renamed from: F boolean
  94.    boolean field_31 = false;
  95.    // $FF: renamed from: G java.lang.String[]
  96.    String[] field_32;
  97.    // $FF: renamed from: H java.net.URL
  98.    URL field_33;
  99.    // $FF: renamed from: I int
  100.    int field_34;
  101.    // $FF: renamed from: J int
  102.    int field_35;
  103.    // $FF: renamed from: K java.lang.String
  104.    String field_36;
  105.    // $FF: renamed from: L java.lang.String
  106.    String field_37;
  107.    // $FF: renamed from: M java.lang.String
  108.    String field_38;
  109.    // $FF: renamed from: N java.lang.String
  110.    String field_39;
  111.    // $FF: renamed from: O java.lang.String
  112.    String field_40;
  113.    // $FF: renamed from: P java.lang.String
  114.    String field_41;
  115.    // $FF: renamed from: Q java.lang.String
  116.    String field_42;
  117.    // $FF: renamed from: R java.lang.String
  118.    String field_43;
  119.    // $FF: renamed from: S java.lang.String
  120.    String field_44;
  121.    // $FF: renamed from: T java.lang.String
  122.    String field_45;
  123.    // $FF: renamed from: U java.lang.String
  124.    String field_46;
  125.    // $FF: renamed from: V java.lang.String
  126.    String field_47;
  127.    // $FF: renamed from: W java.lang.String
  128.    String field_48;
  129.    // $FF: renamed from: X java.lang.String
  130.    String field_49;
  131.    // $FF: renamed from: Y java.lang.String
  132.    String field_50;
  133.    // $FF: renamed from: Z java.lang.String
  134.    String field_51;
  135.    // $FF: renamed from: ba java.lang.String
  136.    String field_52;
  137.    // $FF: renamed from: bb java.lang.String
  138.    String field_53;
  139.    // $FF: renamed from: bc int
  140.    int field_54;
  141.    // $FF: renamed from: bd boolean
  142.    boolean field_55 = false;
  143.    // $FF: renamed from: be int
  144.    int field_56;
  145.    // $FF: renamed from: bf java.awt.Graphics
  146.    private Graphics field_57;
  147.    // $FF: renamed from: bg java.awt.Image
  148.    private Image field_58;
  149.    // $FF: renamed from: bh int
  150.    int field_59;
  151.    // $FF: renamed from: bi boolean
  152.    boolean field_60 = false;
  153.    // $FF: renamed from: bj java.awt.Image
  154.    private Image field_61;
  155.    // $FF: renamed from: bk int
  156.    int field_62;
  157.    // $FF: renamed from: bl int
  158.    int field_63;
  159.    // $FF: renamed from: bm int[]
  160.    int[] field_64;
  161.    // $FF: renamed from: bn int
  162.    int field_65;
  163.    // $FF: renamed from: bo anfy
  164.    anfy field_66;
  165.    // $FF: renamed from: bp java.awt.image.MemoryImageSource
  166.    MemoryImageSource field_67;
  167.    // $FF: renamed from: bq int
  168.    int field_68;
  169.    // $FF: renamed from: br int
  170.    int field_69;
  171.    // $FF: renamed from: bs byte[]
  172.    byte[] field_70;
  173.    // $FF: renamed from: bt double
  174.    double field_71;
  175.    // $FF: renamed from: bu double
  176.    double field_72;
  177.    // $FF: renamed from: bv double
  178.    double field_73;
  179.    // $FF: renamed from: bw boolean
  180.    boolean field_74 = false;
  181.    // $FF: renamed from: bx int
  182.    int field_75 = 1;
  183.    // $FF: renamed from: by java.lang.String
  184.    String field_76;
  185.    // $FF: renamed from: bz int
  186.    int field_77;
  187.    // $FF: renamed from: bA int
  188.    int field_78;
  189.    // $FF: renamed from: bB int
  190.    int field_79;
  191.    // $FF: renamed from: bC java.awt.Color
  192.    Color field_80;
  193.    // $FF: renamed from: bD int
  194.    int field_81;
  195.    // $FF: renamed from: bE int
  196.    int field_82;
  197.    // $FF: renamed from: bF int
  198.    int field_83;
  199.    // $FF: renamed from: bG int
  200.    int field_84;
  201.    // $FF: renamed from: bH int
  202.    int field_85;
  203.    // $FF: renamed from: bI int
  204.    int field_86;
  205.    // $FF: renamed from: bJ int[]
  206.    int[] field_87;
  207.    // $FF: renamed from: bK int[]
  208.    int[] field_88;
  209.    // $FF: renamed from: bL double
  210.    double field_89;
  211.    // $FF: renamed from: bM java.lang.String
  212.    String field_90;
  213.    // $FF: renamed from: bN double
  214.    double field_91;
  215.    // $FF: renamed from: bO java.awt.Color
  216.    Color field_92;
  217.    // $FF: renamed from: bP int
  218.    int field_93;
  219.    // $FF: renamed from: bQ int
  220.    int field_94;
  221.    // $FF: renamed from: bR boolean
  222.    boolean field_95;
  223.    // $FF: renamed from: bS boolean
  224.    boolean field_96;
  225.    // $FF: renamed from: bT java.awt.Toolkit
  226.    Toolkit field_97;
  227.    // $FF: renamed from: bU java.lang.Thread
  228.    Thread field_98;
  229.    // $FF: renamed from: bV int
  230.    int field_99;
  231.    // $FF: renamed from: bW int
  232.    int field_100;
  233.    // $FF: renamed from: bX int
  234.    int field_101;
  235.    // $FF: renamed from: bY int
  236.    int field_102;
  237.    // $FF: renamed from: bZ int
  238.    int field_103;
  239.    // $FF: renamed from: ca int[]
  240.    int[] field_104;
  241.    // $FF: renamed from: cb int
  242.    int field_105;
  243.    // $FF: renamed from: cc Lware
  244.    Lware field_106;
  245.    // $FF: renamed from: cd int
  246.    int field_107;
  247.    // $FF: renamed from: ce int
  248.    int field_108;
  249.    // $FF: renamed from: cf int
  250.    int field_109;
  251.    // $FF: renamed from: cg int
  252.    int field_110;
  253.    // $FF: renamed from: ch int
  254.    int field_111;
  255.    // $FF: renamed from: ci java.awt.Font[]
  256.    Font[] field_112;
  257.  
  258.    // $FF: renamed from: a () void
  259.    private final void method_0() {
  260.       while(true) {
  261.          ((Applet)this).showStatus(method_21("|t`5J\u0018ik\u007fQN~.eIO5o|XAqod_\u0016xa\u007f\u001e[ikvWLh.~WV~.{P\u0018SZ_r\u0019"));
  262.  
  263.          try {
  264.             Thread.sleep(500L);
  265.          } catch (InterruptedException var1) {
  266.          }
  267.       }
  268.    }
  269.  
  270.    // $FF: renamed from: b () boolean
  271.    public synchronized boolean method_1() {
  272.       ((Component)this).prepareImage(this.field_61, this);
  273.       if (!this.field_31) {
  274.          return false;
  275.       } else {
  276.          for(int var1 = 0; var1 < 3; ++var1) {
  277.             this.notifyAll();
  278.             Thread.yield();
  279.  
  280.             try {
  281.                Thread.sleep(100L);
  282.             } catch (InterruptedException var2) {
  283.             }
  284.          }
  285.  
  286.          return this.field_60;
  287.       }
  288.    }
  289.  
  290.    // $FF: renamed from: c () void
  291.    public final void method_2() {
  292.       for(int var1 = 0; var1 < 256; ++var1) {
  293.          for(int var2 = 0; var2 < 256; ++var2) {
  294.             this.field_11[var1 + 256 * var2] = (byte)((int)(this.field_18 * ((double)2.0F + Math.cos(0.1 * Math.sqrt((double)((var1 - 128) * (var1 - 128) + (var2 - 128) * (var2 - 128)))) + Math.cos((double)var1 / this.field_19) + Math.cos((double)var2 / this.field_20))));
  295.          }
  296.       }
  297.  
  298.    }
  299.  
  300.    public void destroy() {
  301.       if (this.field_61 != null) {
  302.          this.field_61.flush();
  303.       }
  304.  
  305.       this.field_61 = null;
  306.       if (this.field_58 != null) {
  307.          this.field_58.flush();
  308.       }
  309.  
  310.       this.field_58 = null;
  311.       if (this.field_57 != null) {
  312.          this.field_57.dispose();
  313.       }
  314.  
  315.       this.field_57 = null;
  316.       System.gc();
  317.    }
  318.  
  319.    // $FF: renamed from: d () void
  320.    public final void method_3() {
  321.       for(int var1 = 0; var1 < 256; ++var1) {
  322.          this.field_70[var1] = (byte)((int)Math.abs(Math.sin((double)var1 * Math.PI * (double)2.0F / ((double)256.0F / this.field_73)) * this.field_71 + this.field_72));
  323.          this.field_21[var1] = (byte)((int)Math.abs(Math.sin((double)var1 * Math.PI * (double)2.0F / ((double)256.0F / this.field_24)) * this.field_22 + this.field_23));
  324.          this.field_4[var1] = (byte)((int)Math.abs(Math.sin((double)var1 * Math.PI * (double)2.0F / ((double)256.0F / this.field_7)) * this.field_5 + this.field_6));
  325.       }
  326.  
  327.    }
  328.  
  329.    // $FF: renamed from: e () void
  330.    public final void method_4() {
  331.       this.field_91 += this.field_89;
  332.       if (this.field_91 >= (double)4096.0F || this.field_91 <= (double)0.0F) {
  333.          this.field_89 = -this.field_89;
  334.       }
  335.  
  336.       int var3 = (int)((double)48.0F + Math.cos(this.field_91 / (double)37.0F) * (double)47.0F + (double)(256 * (int)((double)48.0F + (double)47.0F * Math.sin(this.field_91 / (double)31.0F))));
  337.       int var4 = (int)((double)48.0F + Math.sin(this.field_91 / (double)24.0F) * (double)47.0F + (double)(256 * (int)((double)48.0F + (double)47.0F * Math.cos(this.field_91 / (double)19.0F))) - (double)var3);
  338.       int var5 = 0;
  339.       int var6 = var3 + var4;
  340.       int var7 = this.field_25;
  341.       int var8 = this.field_105;
  342.       byte[] var11 = this.field_8;
  343.       byte[] var12 = this.field_11;
  344.  
  345.       for(int var1 = 0; var1 < var7; ++var1) {
  346.          int var9 = var1 << 8;
  347.  
  348.          for(int var2 = 0; var2 < var8; ++var2) {
  349.             int var10 = var9 + var2;
  350.             var11[var5++] = (byte)(var12[var6 + var10 & '\uffff'] + var12[var10 & '\uffff']);
  351.          }
  352.       }
  353.  
  354.    }
  355.  
  356.    // $FF: renamed from: f () void
  357.    public final void method_5() {
  358.       this.field_91 += this.field_89;
  359.       if (this.field_91 >= (double)4096.0F || this.field_91 <= (double)0.0F) {
  360.          this.field_89 = -this.field_89;
  361.       }
  362.  
  363.       int var3 = (int)((double)48.0F + Math.cos(this.field_91 / (double)37.0F) * (double)47.0F + (double)(256 * (int)((double)48.0F + (double)47.0F * Math.sin(this.field_91 / (double)31.0F))));
  364.       int var4 = (int)((double)48.0F + Math.sin(this.field_91 / (double)24.0F) * (double)47.0F + (double)(256 * (int)((double)48.0F + (double)47.0F * Math.cos(this.field_91 / (double)19.0F))) - (double)var3);
  365.       int var5 = 0;
  366.       int var6 = var3 + var4;
  367.       int var7 = this.field_25;
  368.       int var8 = this.field_105;
  369.       int[] var11 = this.field_14;
  370.       byte[] var12 = this.field_11;
  371.       int[] var13 = this.field_64;
  372.  
  373.       for(int var1 = 0; var1 < var7; ++var1) {
  374.          int var9 = var1 << 8;
  375.  
  376.          for(int var2 = 0; var2 < var8; ++var2) {
  377.             int var10 = var9 + var2;
  378.             var11[var5++] = var13[var12[var6 + var10 & '\uffff'] + var12[var10 & '\uffff'] & 255];
  379.          }
  380.       }
  381.  
  382.    }
  383.  
  384.    // $FF: renamed from: a (java.lang.String) java.awt.Image
  385.    Image method_6(String var1) {
  386.       try {
  387.          return this.method_7(var1);
  388.       } catch (NoSuchMethodError var2) {
  389.          return this.method_7(var1);
  390.       }
  391.    }
  392.  
  393.    // $FF: renamed from: b (java.lang.String) java.awt.Image
  394.    synchronized Image method_7(String var1) {
  395.       URL var2 = null;
  396.       Image var3 = null;
  397.  
  398.       try {
  399.          var2 = new URL(((Applet)this).getDocumentBase(), var1);
  400.       } catch (MalformedURLException var14) {
  401.       }
  402.  
  403.       try {
  404.          try {
  405.             InputStream var4 = this.getClass().getResourceAsStream(var2.toString());
  406.             if (var4 != null) {
  407.                ByteArrayOutputStream var5 = new ByteArrayOutputStream(1024);
  408.                byte[] var6 = new byte[512];
  409.                boolean var8 = false;
  410.                Object var9 = null;
  411.  
  412.                try {
  413.                   while(!var8) {
  414.                      int var7 = var4.read(var6, 0, 512);
  415.                      if (var7 != -1) {
  416.                         var5.write(var6, 0, var7);
  417.                         ((OutputStream)var5).flush();
  418.                      } else {
  419.                         var8 = true;
  420.                      }
  421.                   }
  422.  
  423.                   var21 = var5.toByteArray();
  424.                   ((OutputStream)var5).close();
  425.                   var4.close();
  426.                } catch (IOException var15) {
  427.                   var21 = null;
  428.                }
  429.  
  430.                System.gc();
  431.                if (var21 != null) {
  432.                   var3 = ((Component)this).getToolkit().createImage(var21);
  433.                   ((Component)this).prepareImage(var3, this);
  434.                }
  435.             }
  436.          } catch (NoSuchMethodError var16) {
  437.          }
  438.       } catch (SecurityException var17) {
  439.       }
  440.  
  441.       if (var3 == null) {
  442.          int var18 = 0;
  443.  
  444.          while(var18 < 5) {
  445.             try {
  446.                if (var18 % 2 == 0) {
  447.                   var3 = Toolkit.getDefaultToolkit().getImage(var2);
  448.                } else {
  449.                   var3 = ((Applet)this).getImage(var2);
  450.                }
  451.  
  452.                ++var18;
  453.                MediaTracker var20 = new MediaTracker(this);
  454.                this.notifyAll();
  455.                Thread.currentThread();
  456.                Thread.yield();
  457.  
  458.                try {
  459.                   var20.addImage(var3, 0);
  460.                   var20.waitForID(0);
  461.                } catch (InterruptedException var12) {
  462.                   var3 = null;
  463.                }
  464.  
  465.                if (var20.isErrorID(0)) {
  466.                   var3 = null;
  467.                } else {
  468.                   var18 = 6;
  469.                }
  470.             } catch (NullPointerException var13) {
  471.                System.gc();
  472.             }
  473.          }
  474.       }
  475.  
  476.       if (var3 == null) {
  477.          for(int var19 = 0; var19 < 25; ++var19) {
  478.             ((Applet)this).showStatus(method_21("qvou[\u0018") + var1 + method_21("\u0018uaf\u001e^t{|Z\u0019"));
  479.  
  480.             try {
  481.                Thread.currentThread();
  482.                Thread.sleep(250L);
  483.             } catch (InterruptedException var11) {
  484.             }
  485.          }
  486.       } else {
  487.          while(var3.getWidth(this) < 0) {
  488.             this.notifyAll();
  489.             Thread.currentThread();
  490.             Thread.yield();
  491.  
  492.             try {
  493.                Thread.currentThread();
  494.                Thread.sleep(100L);
  495.             } catch (InterruptedException var10) {
  496.             }
  497.          }
  498.       }
  499.  
  500.       return var3;
  501.    }
  502.  
  503.    // $FF: renamed from: a (java.lang.String, int) void
  504.    public void method_8(String var1, int var2) {
  505.       try {
  506.          this.method_9(var1, var2);
  507.       } catch (NoSuchMethodError var3) {
  508.          this.method_9(var1, var2);
  509.       }
  510.    }
  511.  
  512.    // $FF: renamed from: b (java.lang.String, int) void
  513.    public void method_9(String var1, int var2) {
  514.       try {
  515.          URL var3 = new URL(((Applet)this).getDocumentBase(), var1);
  516.  
  517.          try {
  518.             DataInputStream var4 = new DataInputStream(var3.openStream());
  519.             if (var4 != null) {
  520.                ByteArrayOutputStream var5 = new ByteArrayOutputStream(1024);
  521.                byte[] var6 = new byte[512];
  522.                int var7 = 0;
  523.                int var8 = 0;
  524.                boolean var9 = false;
  525.  
  526.                try {
  527.                   while(!var9) {
  528.                      var7 = var4.read(var6, 0, 512);
  529.                      if (var7 == -1) {
  530.                         var9 = true;
  531.                      } else {
  532.                         var5.write(var6, 0, var7);
  533.                         ((OutputStream)var5).flush();
  534.                         var8 += var7;
  535.                      }
  536.                   }
  537.  
  538.                   byte[] var10 = var5.toByteArray();
  539.                   ((OutputStream)var5).close();
  540.                   Object var26 = null;
  541.                   ((FilterInputStream)var4).close();
  542.                   System.gc();
  543.                   if (var2 != 0) {
  544.                      int var29 = 1;
  545.  
  546.                      for(int var13 = 0; var13 < var8; ++var13) {
  547.                         if (var10[var13] == 10) {
  548.                            ++var29;
  549.                         }
  550.                      }
  551.  
  552.                      this.field_32 = new String[var29 - 1];
  553.                      int[] var14 = new int[var29 + 1];
  554.                      int[] var15 = new int[var29 + 1];
  555.                      var14[0] = 0;
  556.                      int var16 = 0;
  557.                      byte var17 = 0;
  558.  
  559.                      for(int var18 = 0; var18 < var8; ++var18) {
  560.                         byte var28 = var10[var18];
  561.                         if (var28 == 10) {
  562.                            var14[var16 + 1] = var18 + 1;
  563.                            if (var17 == 13) {
  564.                               var15[var16] = var18 - var14[var16] - 1;
  565.                            } else {
  566.                               var15[var16] = var18 - var14[var16];
  567.                            }
  568.  
  569.                            ++var16;
  570.                         }
  571.  
  572.                         var17 = var28;
  573.                      }
  574.  
  575.                      var15[var16] = var8 - var14[var16 + 1] - 1;
  576.  
  577.                      try {
  578.                         for(int var19 = 0; var19 < var29 - 1; ++var19) {
  579.                            try {
  580.                               this.field_32[var19] = new String(var10, var14[var19], var15[var19]);
  581.                            } catch (NoSuchMethodError var20) {
  582.                               this.field_32[var19] = new String(var10, 0, var14[var19], var15[var19]);
  583.                            }
  584.                         }
  585.  
  586.                         return;
  587.                      } catch (StringIndexOutOfBoundsException var22) {
  588.                         this.field_32 = null;
  589.                         return;
  590.                      }
  591.                   }
  592.  
  593.                   for(int var12 = 0; var12 < var8; ++var12) {
  594.                      byte var11 = var10[var12];
  595.                      if (var11 == 13 || var11 == 10) {
  596.                         var10[var12] = 32;
  597.                      }
  598.                   }
  599.  
  600.                   try {
  601.                      this.field_76 = new String(var10);
  602.                      return;
  603.                   } catch (NoSuchMethodError var21) {
  604.                      this.field_76 = new String(var10, 0);
  605.                      return;
  606.                   }
  607.                } catch (IOException var23) {
  608.                   return;
  609.                }
  610.             }
  611.          } catch (IOException var24) {
  612.             return;
  613.          }
  614.       } catch (MalformedURLException var25) {
  615.       }
  616.  
  617.    }
  618.  
  619.    // $FF: renamed from: a (java.awt.Graphics) void
  620.    public void method_10(Graphics var1) {
  621.       var1.setFont(this.field_16);
  622.       if (this.field_0 == 0) {
  623.          this.field_108 = this.field_109;
  624.       } else {
  625.          this.field_30 += this.field_100;
  626.          this.field_108 = this.field_109 - (int)Math.abs((double)this.field_0 * Math.sin((double)this.field_30 / (double)90.0F * Math.PI));
  627.       }
  628.  
  629.       if (this.field_82 != 0) {
  630.          for(int var2 = 0; var2 < this.field_102; ++var2) {
  631.             int var3 = this.field_87[this.field_81 + var2];
  632.             var1.copyArea(var2, var3, 1, this.field_84, 0, this.field_68 - var3);
  633.          }
  634.  
  635.          if (this.field_96) {
  636.             var1.setColor(this.field_80);
  637.             var1.drawString(this.field_76, this.field_107 + 1, this.field_68 + this.field_77 + 1);
  638.          }
  639.  
  640.          var1.setColor(this.field_92);
  641.          var1.drawString(this.field_76, this.field_107, this.field_68 + this.field_77);
  642.  
  643.          for(int var4 = 0; var4 < this.field_102; ++var4) {
  644.             var1.copyArea(var4, this.field_68, 1, this.field_85, 0, this.field_88[this.field_81 + var4]);
  645.          }
  646.  
  647.          this.field_81 -= this.field_86;
  648.          if (this.field_81 < 0) {
  649.             this.field_81 += 360;
  650.          }
  651.       } else {
  652.          if (this.field_96) {
  653.             var1.setColor(this.field_80);
  654.             var1.drawString(this.field_76, this.field_107 + 1, this.field_108 + 1);
  655.          }
  656.  
  657.          var1.setColor(this.field_92);
  658.          var1.drawString(this.field_76, this.field_107, this.field_108);
  659.       }
  660.  
  661.       this.field_107 -= this.field_101;
  662.       if (this.field_107 < -this.field_78) {
  663.          this.field_107 = this.field_102;
  664.       }
  665.  
  666.    }
  667.  
  668.    public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
  669.       if (var1 == this.field_61) {
  670.          if (var2 == 16) {
  671.             this.field_60 = true;
  672.          }
  673.  
  674.          return true;
  675.       } else {
  676.          return true;
  677.       }
  678.    }
  679.  
  680.    public void init() {
  681.       ((Container)this).setLayout((LayoutManager)null);
  682.       ((Panel)this).addNotify();
  683.       this.field_97 = ((Component)this).getToolkit();
  684.       this.field_90 = ((Applet)this).getParameter(method_21("KoofKKv}u"));
  685.       Object var1 = null;
  686.       String var37 = ((Applet)this).getParameter(method_21("[ikvWLh"));
  687.       if (var37 != null) {
  688.          if (!var37.startsWith(method_21("yk~~[L;lk\u001e~zl{Q\u0018Xgg][r.:IOl sP^"))) {
  689.             this.method_0();
  690.          }
  691.       } else {
  692.          this.method_0();
  693.       }
  694.  
  695.       Object var2 = null;
  696.       Object var3 = null;
  697.  
  698.       try {
  699.          var38 = ((Applet)this).getDocumentBase().getProtocol();
  700.       } catch (SecurityException var34) {
  701.          var38 = method_21("^rbw");
  702.       }
  703.  
  704.       try {
  705.          var39 = ((Applet)this).getDocumentBase().getHost();
  706.       } catch (SecurityException var33) {
  707.          var39 = "";
  708.       }
  709.  
  710.       if (!var38.equalsIgnoreCase(method_21("^rbw")) && var39.length() != 0 && !var39.equalsIgnoreCase(method_21("TtmsRPt}f")) && !var39.equals(method_21("\t)9<\u000e\u0016+ #"))) {
  711.          if (var39.startsWith(method_21("Oly<"))) {
  712.             var39 = var39.substring(4);
  713.          }
  714.  
  715.          Object var4 = null;
  716.          String var40 = ((Applet)this).getParameter(method_21("J~iqQ\\~"));
  717.          if (var40 != null && !var40.equals("NO") && var40.length() > 10) {
  718.             int var5 = 1;
  719.  
  720.             try {
  721.                for(int var6 = 0; var6 < var40.length(); ++var6) {
  722.                   if (var40.charAt(var6) == '+') {
  723.                      ++var5;
  724.                   }
  725.                }
  726.             } catch (StringIndexOutOfBoundsException var36) {
  727.             }
  728.  
  729.             int[] var43 = new int[var5];
  730.             if (var5 == 1) {
  731.                var43[0] = var40.length();
  732.             } else {
  733.                int var7 = 0;
  734.  
  735.                try {
  736.                   for(int var8 = 0; var8 < var40.length(); ++var8) {
  737.                      if (var40.charAt(var8) == '+') {
  738.                         var43[var7] = var8;
  739.                         ++var7;
  740.                      }
  741.                   }
  742.                } catch (StringIndexOutOfBoundsException var35) {
  743.                }
  744.  
  745.                var43[var7] = var40.length();
  746.             }
  747.  
  748.             String[] var45 = new String[var5];
  749.             int var47 = 0;
  750.  
  751.             for(int var9 = 0; var9 < var5; ++var9) {
  752.                try {
  753.                   var45[var9] = var40.substring(var47, var43[var9]);
  754.                } catch (StringIndexOutOfBoundsException var32) {
  755.                }
  756.  
  757.                var47 = var43[var9] + 1;
  758.             }
  759.  
  760.             for(int var10 = 0; var10 < var5; ++var10) {
  761.                int var11 = var45[var10].length() - 8;
  762.                byte[] var15 = new byte[var11];
  763.                byte[] var16 = new byte[8];
  764.                var45[var10].getBytes(0, var11, var15, 0);
  765.                var45[var10].getBytes(var11, var11 + 8, var16, 0);
  766.                int var13 = var11 % 7;
  767.                int var14 = var11 % 3;
  768.  
  769.                for(int var17 = 0; var17 < var11; ++var17) {
  770.                   byte var12 = var15[var17];
  771.                   if (var12 >= 48 && var12 <= 57) {
  772.                      var15[var17] = this.method_15(var12, var13, 48, 57);
  773.                   } else if (var12 >= 65 && var12 <= 90) {
  774.                      var15[var17] = this.method_15(var12, var13, 65, 90);
  775.                   } else if (var12 >= 97 && var12 <= 122) {
  776.                      var15[var17] = this.method_15(var12, var13, 97, 122);
  777.                   } else if (var12 == 45) {
  778.                      var15[var17] = 46;
  779.                   } else if (var12 == 46) {
  780.                      var15[var17] = 45;
  781.                   }
  782.  
  783.                   if ((var13 += var14) > 7) {
  784.                      var13 = 1;
  785.                   }
  786.                }
  787.  
  788.                int var18 = 0;
  789.                int var19 = 0;
  790.  
  791.                for(int var20 = 0; var20 < 4; ++var20) {
  792.                   var16[var20] = (byte)(var16[var20] - 52);
  793.                }
  794.  
  795.                for(int var21 = 4; var21 < 8; ++var21) {
  796.                   var16[var21] = (byte)(var16[var21] - 55);
  797.                }
  798.  
  799.                for(int var22 = 0; var22 < var11; var22 += 2) {
  800.                   var18 += var15[var22];
  801.                }
  802.  
  803.                for(int var23 = 1; var23 < var11; var23 += 2) {
  804.                   var19 += var15[var23];
  805.                }
  806.  
  807.                String var24 = String.valueOf(var18);
  808.  
  809.                String var25;
  810.                for(var25 = String.valueOf(var19); var24.length() < 4; var24 = "0" + var24) {
  811.                }
  812.  
  813.                while(var25.length() < 4) {
  814.                   var25 = "0" + var25;
  815.                }
  816.  
  817.                byte[] var26 = new byte[8];
  818.                var24.getBytes(0, 4, var26, 0);
  819.                var25.getBytes(0, 4, var26, 4);
  820.                String var27 = new String(var26, 0);
  821.                if (var27.equals(new String(var16, 0))) {
  822.                   String var28 = new String(var15, 0);
  823.                   Object var29 = null;
  824.                   String var52;
  825.                   if (var28.startsWith(method_21("Oly<"))) {
  826.                      var52 = var28.substring(4);
  827.                   } else {
  828.                      var52 = var28;
  829.                   }
  830.  
  831.                   if (var39.equalsIgnoreCase(var52)) {
  832.                      this.field_74 = true;
  833.                   }
  834.                }
  835.             }
  836.          }
  837.       } else {
  838.          this.field_74 = true;
  839.       }
  840.  
  841.       String var41 = ((Applet)this).getParameter(method_21("J~i~WVp"));
  842.       if (var41 != null && !var41.equalsIgnoreCase("NO")) {
  843.          try {
  844.             this.field_33 = new URL(((Applet)this).getDocumentBase(), var41);
  845.          } catch (MalformedURLException var31) {
  846.             this.field_33 = null;
  847.          }
  848.       }
  849.  
  850.       String var42 = ((Applet)this).getParameter(method_21("J~i|[O}|sS]"));
  851.       if (var42.equalsIgnoreCase(method_21("a^]"))) {
  852.          this.field_55 = true;
  853.       }
  854.  
  855.       Container var44;
  856.       for(var44 = ((Component)this).getParent(); !(var44 instanceof Frame); var44 = ((Component)var44).getParent()) {
  857.       }
  858.  
  859.       this.field_1 = (Frame)var44;
  860.       this.field_1.setCursor(3);
  861.       String var46 = ((Applet)this).getParameter(method_21("Wmk`WU|"));
  862.       if (var46 != null && !var46.equalsIgnoreCase("NO")) {
  863.          this.field_61 = this.method_6(var46);
  864.          if (this.field_61 != null) {
  865.             String var48 = ((Applet)this).getParameter(method_21("Wmk`WU|V"));
  866.             if (var48 == null) {
  867.                var48 = "0";
  868.             }
  869.  
  870.             this.field_62 = Integer.valueOf(var48);
  871.             String var50 = ((Applet)this).getParameter(method_21("Wmk`WU|W"));
  872.             if (var50 == null) {
  873.                var50 = "0";
  874.             }
  875.  
  876.             this.field_63 = Integer.valueOf(var50);
  877.          }
  878.       }
  879.  
  880.       this.field_50 = ((Applet)this).getParameter(method_21("ur`AgvX"));
  881.       if (this.field_50 == null) {
  882.          this.field_50 = "10";
  883.       }
  884.  
  885.       this.field_35 = Integer.valueOf(this.field_50);
  886.       this.field_46 = ((Applet)this).getParameter(method_21("J~}"));
  887.       if (this.field_46 == null) {
  888.          this.field_46 = "1";
  889.       }
  890.  
  891.       this.field_47 = ((Applet)this).getParameter(method_21("_~`#"));
  892.       if (this.field_47 == null) {
  893.          this.field_47 = "43";
  894.       }
  895.  
  896.       this.field_48 = ((Applet)this).getParameter(method_21("_~` "));
  897.       if (this.field_48 == null) {
  898.          this.field_48 = "31";
  899.       }
  900.  
  901.       this.field_49 = ((Applet)this).getParameter(method_21("_~`!"));
  902.       if (this.field_49 == null) {
  903.          this.field_49 = "36";
  904.       }
  905.  
  906.       this.field_51 = ((Applet)this).getParameter(method_21("J~j#"));
  907.       if (this.field_51 == null) {
  908.          this.field_51 = "0";
  909.       }
  910.  
  911.       this.field_52 = ((Applet)this).getParameter(method_21("J~j "));
  912.       if (this.field_52 == null) {
  913.          this.field_52 = method_21("\t)9");
  914.       }
  915.  
  916.       this.field_53 = ((Applet)this).getParameter(method_21("J~j!"));
  917.       if (this.field_53 == null) {
  918.          this.field_53 = "1";
  919.       }
  920.  
  921.       this.field_36 = ((Applet)this).getParameter(method_21("_ikwP\t"));
  922.       if (this.field_36 == null) {
  923.          this.field_36 = method_21("\t)9");
  924.       }
  925.  
  926.       this.field_37 = ((Applet)this).getParameter(method_21("_ikwP\n"));
  927.       if (this.field_37 == null) {
  928.          this.field_37 = method_21("\t)9");
  929.       }
  930.  
  931.       this.field_38 = ((Applet)this).getParameter(method_21("_ikwP\u000b"));
  932.       if (this.field_38 == null) {
  933.          this.field_38 = "2";
  934.       }
  935.  
  936.       this.field_39 = ((Applet)this).getParameter(method_21("Zw{w\u000f"));
  937.       if (this.field_39 == null) {
  938.          this.field_39 = method_21("\t)9");
  939.       }
  940.  
  941.       this.field_40 = ((Applet)this).getParameter(method_21("Zw{w\f"));
  942.       if (this.field_40 == null) {
  943.          this.field_40 = method_21("\t)9");
  944.       }
  945.  
  946.       this.field_41 = ((Applet)this).getParameter(method_21("Zw{w\r"));
  947.       if (this.field_41 == null) {
  948.          this.field_41 = "1";
  949.       }
  950.  
  951.       this.field_42 = ((Applet)this).getParameter(method_21("KkkwZ"));
  952.       if (this.field_42 == null) {
  953.          this.field_42 = "1";
  954.       }
  955.  
  956.       this.field_43 = ((Applet)this).getParameter(method_21("^rv|[LhmsN]"));
  957.       if (this.field_43.equalsIgnoreCase(method_21("a^]"))) {
  958.          this.field_15 = true;
  959.       } else {
  960.          this.field_15 = false;
  961.       }
  962.  
  963.       this.field_44 = ((Applet)this).getParameter(method_21("U~cv[Tzw"));
  964.       this.field_45 = ((Applet)this).getParameter(method_21("Hig}LQow"));
  965.       this.field_34 = Integer.valueOf(this.field_44);
  966.       this.field_65 = Integer.valueOf(this.field_45);
  967.       if (this.field_34 < 0) {
  968.          this.field_34 = 0;
  969.       }
  970.  
  971.       if (this.field_65 > 10) {
  972.          this.field_65 = 10;
  973.       } else if (this.field_65 < 1) {
  974.          this.field_65 = 1;
  975.       }
  976.  
  977.       this.field_75 = Integer.valueOf(this.field_46);
  978.       this.field_18 = Double.valueOf(this.field_47);
  979.       this.field_19 = Double.valueOf(this.field_48);
  980.       this.field_20 = Double.valueOf(this.field_49);
  981.       this.field_71 = Double.valueOf(this.field_51);
  982.       this.field_72 = Double.valueOf(this.field_52);
  983.       this.field_73 = Double.valueOf(this.field_53);
  984.       this.field_22 = Double.valueOf(this.field_36);
  985.       this.field_23 = Double.valueOf(this.field_37);
  986.       this.field_24 = Double.valueOf(this.field_38);
  987.       this.field_5 = Double.valueOf(this.field_39);
  988.       this.field_6 = Double.valueOf(this.field_40);
  989.       this.field_7 = Double.valueOf(this.field_41);
  990.       this.field_89 = Double.valueOf(this.field_42);
  991.       if (this.field_75 > 8) {
  992.          this.field_75 = 8;
  993.       } else if (this.field_75 < 1) {
  994.          this.field_75 = 1;
  995.       }
  996.  
  997.       Dimension var49 = ((Component)this).size();
  998.       this.field_105 = var49.width / this.field_75;
  999.       this.field_25 = var49.height / this.field_75;
  1000.       this.field_69 = this.field_105 * this.field_75;
  1001.       this.field_68 = this.field_25 * this.field_75;
  1002.       if (this.field_18 > (double)2000.0F) {
  1003.          this.field_18 = (double)2000.0F;
  1004.       } else if (this.field_18 < (double)8.0F) {
  1005.          this.field_18 = (double)8.0F;
  1006.       }
  1007.  
  1008.       if (this.field_19 > (double)256.0F) {
  1009.          this.field_19 = (double)256.0F;
  1010.       } else if (this.field_19 < (double)3.0F) {
  1011.          this.field_19 = (double)3.0F;
  1012.       }
  1013.  
  1014.       if (this.field_20 > (double)256.0F) {
  1015.          this.field_20 = (double)256.0F;
  1016.       } else if (this.field_20 < (double)3.0F) {
  1017.          this.field_20 = (double)3.0F;
  1018.       }
  1019.  
  1020.       if (this.field_89 > (double)8.0F) {
  1021.          this.field_89 = (double)8.0F;
  1022.       } else if (this.field_89 < (double)1.0F) {
  1023.          this.field_89 = (double)1.0F;
  1024.       }
  1025.  
  1026.       this.field_70 = new byte[256];
  1027.       this.field_21 = new byte[256];
  1028.       this.field_4 = new byte[256];
  1029.       this.method_3();
  1030.       this.field_10 = new IndexColorModel(8, 256, this.field_70, this.field_21, this.field_4);
  1031.       if (this.field_15) {
  1032.          this.field_99 = this.field_105 * this.field_25;
  1033.          this.field_14 = new int[this.field_99];
  1034.          this.field_64 = new int[256];
  1035.  
  1036.          for(this.field_28 = 0; this.field_28 < 256; ++this.field_28) {
  1037.             this.field_64[this.field_28] = -16777216 | (this.field_70[this.field_28] & 255) << 16 | (this.field_21[this.field_28] & 255) << 8 | this.field_4[this.field_28] & 255;
  1038.          }
  1039.       } else {
  1040.          this.field_8 = new byte[this.field_105 * (this.field_25 + 1)];
  1041.       }
  1042.  
  1043.       this.field_11 = new byte[65536];
  1044.       this.method_2();
  1045.  
  1046.       try {
  1047.          this.method_11();
  1048.       } catch (NoSuchMethodError var30) {
  1049.          this.method_11();
  1050.       }
  1051.  
  1052.       this.method_16();
  1053.       this.field_58 = ((Component)this).createImage(this.field_69, this.field_68 + this.field_84);
  1054.       this.field_57 = this.field_58.getGraphics();
  1055.       if (!this.field_74) {
  1056.          Label var51 = new Label(method_21("hwoaSY;obNT~z2\\A;Hs\\Qt.QWMxm{\u001e\t\"7$\u0011\u0001# "));
  1057.          this.field_106 = new Lware(((Applet)this).getAppletContext(), var51);
  1058.          this.field_106.setTitle(method_21("hwoaSY;ObNT~z2\\A;Hs\\Qt.QWMxm{"));
  1059.          this.field_106.hide();
  1060.       }
  1061.  
  1062.    }
  1063.  
  1064.    // $FF: renamed from: g () void
  1065.    void method_11() {
  1066.       if (!this.field_15) {
  1067.          this.field_67 = new MemoryImageSource(this.field_105, this.field_25, this.field_10, this.field_8, 0, this.field_105);
  1068.       } else {
  1069.          this.field_67 = new MemoryImageSource(this.field_105, this.field_25, new DirectColorModel(24, 16711680, 65280, 255), this.field_14, 0, this.field_105);
  1070.       }
  1071.  
  1072.       String var1;
  1073.       try {
  1074.          var1 = System.getProperty(method_21("Rzxs\u0010N~|aWWu"));
  1075.       } catch (SecurityException var3) {
  1076.          var1 = method_21("Mue");
  1077.       }
  1078.  
  1079.       if (!var1.startsWith(method_21("\t5>"))) {
  1080.          try {
  1081.             this.field_67.setAnimated(true);
  1082.             this.field_67.setFullBufferUpdates(true);
  1083.             this.field_29 = ((Component)this).createImage(this.field_67);
  1084.             this.field_67.newPixels();
  1085.             this.field_31 = true;
  1086.          } catch (NoSuchMethodError var2) {
  1087.             this.field_31 = false;
  1088.          }
  1089.       }
  1090.  
  1091.       if (!this.field_31) {
  1092.          this.field_67 = null;
  1093.          if (!this.field_15) {
  1094.             this.field_66 = new anfy(this.field_105, this.field_25, this.field_10, this.field_8, 0, this.field_105);
  1095.          } else {
  1096.             this.field_66 = new anfy(this.field_105, this.field_25, new DirectColorModel(24, 16711680, 65280, 255), this.field_14, 0, this.field_105);
  1097.          }
  1098.  
  1099.          this.field_29 = ((Component)this).createImage(this.field_66);
  1100.       }
  1101.  
  1102.    }
  1103.  
  1104.    public final boolean mouseDown(Event var1, int var2, int var3) {
  1105.       if (!this.field_74) {
  1106.          this.field_106.show();
  1107.          this.field_106.toFront();
  1108.          this.field_106.requestFocus();
  1109.       } else if (this.field_33 != null) {
  1110.          if (this.field_55) {
  1111.             ((Applet)this).getAppletContext().showDocument(this.field_33, ((Applet)this).getParameter(method_21("J~itLYvk|_U~")));
  1112.          } else {
  1113.             ((Applet)this).getAppletContext().showDocument(this.field_33);
  1114.          }
  1115.       }
  1116.  
  1117.       return true;
  1118.    }
  1119.  
  1120.    public final boolean mouseEnter(Event var1, int var2, int var3) {
  1121.       ((Applet)this).showStatus(this.field_90);
  1122.       return true;
  1123.    }
  1124.  
  1125.    public final boolean mouseExit(Event var1, int var2, int var3) {
  1126.       ((Applet)this).showStatus("");
  1127.       return true;
  1128.    }
  1129.  
  1130.    public final void paint(Graphics var1) {
  1131.       if (this.field_29 != null) {
  1132.          if (this.field_75 == 1) {
  1133.             this.field_57.drawImage(this.field_29, 0, 0, this);
  1134.          } else {
  1135.             this.method_13();
  1136.             this.field_57.drawImage(this.field_29, 0, 0, this.field_69, this.field_68, this);
  1137.          }
  1138.  
  1139.          if (this.field_61 != null) {
  1140.             this.method_12();
  1141.          }
  1142.  
  1143.          if (this.field_95) {
  1144.             this.method_17(this.field_57);
  1145.          }
  1146.  
  1147.          var1.drawImage(this.field_58, 0, 0, this);
  1148.       }
  1149.  
  1150.    }
  1151.  
  1152.    // $FF: renamed from: h () void
  1153.    public synchronized void method_12() {
  1154.       if (this.field_2) {
  1155.          this.notifyAll();
  1156.  
  1157.          while(!this.field_60) {
  1158.             Thread.yield();
  1159.  
  1160.             try {
  1161.                Thread.sleep(8L);
  1162.             } catch (InterruptedException var1) {
  1163.             }
  1164.          }
  1165.  
  1166.          this.field_60 = false;
  1167.       }
  1168.  
  1169.       this.field_57.drawImage(this.field_61, this.field_62, this.field_63, this);
  1170.    }
  1171.  
  1172.    // $FF: renamed from: i () void
  1173.    public synchronized void method_13() {
  1174.       int var1 = 0;
  1175.       ((Component)this).prepareImage(this.field_29, this.field_69, this.field_68, this);
  1176.       this.notifyAll();
  1177.  
  1178.       while((var1 & 240) == 0) {
  1179.          Thread.yield();
  1180.          var1 = ((Component)this).checkImage(this.field_29, this.field_69, this.field_68, this);
  1181.       }
  1182.  
  1183.    }
  1184.  
  1185.    // $FF: renamed from: j () void
  1186.    public final void method_14() {
  1187.       try {
  1188.          if (this.field_31) {
  1189.             this.field_67.newPixels();
  1190.          } else {
  1191.             this.field_66.startProduction(this.field_66.getConsumer());
  1192.          }
  1193.       } catch (NoSuchMethodError var1) {
  1194.       }
  1195.    }
  1196.  
  1197.    public void run() {
  1198.       this.field_98.setPriority(this.field_65);
  1199.       ((Applet)this).showStatus("");
  1200.       System.gc();
  1201.       this.field_12 = System.currentTimeMillis();
  1202.       Graphics var1 = ((Component)this).getGraphics();
  1203.       if (this.field_61 != null && !this.field_2) {
  1204.          this.field_2 = this.method_1();
  1205.       }
  1206.  
  1207.       if (this.field_33 != null) {
  1208.          this.field_1.setCursor(12);
  1209.       } else {
  1210.          this.field_1.setCursor(0);
  1211.       }
  1212.  
  1213.       while(this.field_98 != null) {
  1214.          if (!this.field_15) {
  1215.             this.method_4();
  1216.          } else {
  1217.             this.method_5();
  1218.          }
  1219.  
  1220.          if (++this.field_9 == this.field_34) {
  1221.             System.gc();
  1222.             this.field_9 = 0;
  1223.          }
  1224.  
  1225.          try {
  1226.             this.method_14();
  1227.          } catch (NoSuchMethodError var2) {
  1228.          }
  1229.  
  1230.          if (this.field_75 == 1) {
  1231.             this.field_57.drawImage(this.field_29, 0, 0, this);
  1232.          } else {
  1233.             this.method_13();
  1234.             this.field_57.drawImage(this.field_29, 0, 0, this.field_69, this.field_68, this);
  1235.          }
  1236.  
  1237.          if (this.field_61 != null) {
  1238.             this.method_12();
  1239.          }
  1240.  
  1241.          if (this.field_95) {
  1242.             this.method_17(this.field_57);
  1243.          }
  1244.  
  1245.          var1.drawImage(this.field_58, 0, 0, this);
  1246.          this.method_19();
  1247.       }
  1248.  
  1249.    }
  1250.  
  1251.    // $FF: renamed from: a (int, int, int, int) byte
  1252.    byte method_15(int var1, int var2, int var3, int var4) {
  1253.       int var5 = var1 - var2;
  1254.       if (var5 >= var3) {
  1255.          return (byte)var5;
  1256.       } else {
  1257.          int var6 = var3 - var5 - 1;
  1258.          return (byte)(var4 - var6);
  1259.       }
  1260.    }
  1261.  
  1262.    // $FF: renamed from: k () void
  1263.    public void method_16() {
  1264.       Object var1 = null;
  1265.       this.field_95 = false;
  1266.       String var18 = ((Applet)this).getParameter(method_21("L~vfM[ia~R"));
  1267.       if (var18 != null && !var18.equalsIgnoreCase("NO")) {
  1268.          Object var2 = null;
  1269.          String var19 = ((Applet)this).getParameter(method_21("L~vfJAkk"));
  1270.          if (var19 == null) {
  1271.             var19 = method_21("Pt|{DWuzsR");
  1272.          }
  1273.  
  1274.          if (var19.equals(method_21("Pt|{DWuzsR"))) {
  1275.             this.field_79 = 0;
  1276.          } else if (var19.equals(method_21("N~|fW[zb"))) {
  1277.             this.field_79 = 1;
  1278.          } else if (var19.equals(method_21("Bta\u007fWV|"))) {
  1279.             this.field_79 = 2;
  1280.          } else if (var19.equals(method_21("QuxhQWvg|Y"))) {
  1281.             this.field_79 = 3;
  1282.          }
  1283.  
  1284.          if (this.field_79 == 0) {
  1285.             this.method_8(var18, 0);
  1286.             if (this.field_76 != null) {
  1287.                this.field_95 = true;
  1288.             }
  1289.          } else {
  1290.             this.method_8(var18, 1);
  1291.             if (this.field_32 != null) {
  1292.                this.field_95 = true;
  1293.             }
  1294.          }
  1295.       }
  1296.  
  1297.       if (this.field_95) {
  1298.          Object var20 = null;
  1299.          String var21 = ((Applet)this).getParameter(method_21("L~vfMH~kv"));
  1300.          if (var21 == null) {
  1301.             var21 = "0";
  1302.          }
  1303.  
  1304.          this.field_101 = Integer.valueOf(var21);
  1305.          Object var3 = null;
  1306.          String var22 = ((Applet)this).getParameter(method_21("L~vfXWuz"));
  1307.          if (var22 == null) {
  1308.             var22 = method_21("yigsR");
  1309.          }
  1310.  
  1311.          int var4 = 0;
  1312.          Object var5 = null;
  1313.          String var23 = ((Applet)this).getParameter(method_21("L~vf\\Wwj"));
  1314.          if (var23.equalsIgnoreCase(method_21("a^]"))) {
  1315.             ++var4;
  1316.          }
  1317.  
  1318.          Object var6 = null;
  1319.          String var24 = ((Applet)this).getParameter(method_21("L~vfWLzb{]"));
  1320.          if (var24 == null) {
  1321.             var24 = "NO";
  1322.          }
  1323.  
  1324.          if (var24.equalsIgnoreCase(method_21("a^]"))) {
  1325.             var4 += 2;
  1326.          }
  1327.  
  1328.          Object var7 = null;
  1329.          String var25 = ((Applet)this).getParameter(method_21("L~vfMQak"));
  1330.          if (var25 == null) {
  1331.             var25 = "12";
  1332.          }
  1333.  
  1334.          int var8 = Integer.valueOf(var25);
  1335.          this.field_16 = new Font(var22, var4, var8);
  1336.          Object var9 = null;
  1337.          String var26 = ((Applet)this).getParameter(method_21("L~vfMPzj}I"));
  1338.          if (var26.equalsIgnoreCase(method_21("a^]"))) {
  1339.             this.field_96 = true;
  1340.          } else {
  1341.             this.field_96 = false;
  1342.          }
  1343.  
  1344.          this.field_92 = new Color(Integer.valueOf(((Applet)this).getParameter(method_21("l~vf}Ww\\"))), Integer.valueOf(((Applet)this).getParameter(method_21("l~vf}WwI"))), Integer.valueOf(((Applet)this).getParameter(method_21("l~vf}WwL"))));
  1345.          this.field_80 = new Color(Integer.valueOf(((Applet)this).getParameter(method_21("l~vfm{tb@"))), Integer.valueOf(((Applet)this).getParameter(method_21("l~vfm{tbU"))), Integer.valueOf(((Applet)this).getParameter(method_21("l~vfm{tbP"))));
  1346.          this.field_102 = ((Component)this).size().width;
  1347.          this.field_103 = ((Component)this).size().height;
  1348.          if (this.field_79 == 0) {
  1349.             Object var10 = null;
  1350.             String var27 = ((Applet)this).getParameter(method_21("L~vfQ^}}wJ"));
  1351.             if (var27 == null) {
  1352.                var27 = "0";
  1353.             }
  1354.  
  1355.             this.field_109 = Integer.valueOf(var27);
  1356.             if (this.field_109 < 0) {
  1357.                this.field_109 = 0;
  1358.             }
  1359.  
  1360.             Object var11 = null;
  1361.             String var32 = ((Applet)this).getParameter(method_21("l~vftMv~SSH"));
  1362.             if (var32 == null) {
  1363.                var32 = "0";
  1364.             }
  1365.  
  1366.             this.field_0 = Integer.valueOf(var32);
  1367.             Object var12 = null;
  1368.             String var36 = ((Applet)this).getParameter(method_21("l~vftMv~AN\\"));
  1369.             if (var36 == null) {
  1370.                var36 = "0";
  1371.             }
  1372.  
  1373.             this.field_100 = Integer.valueOf(var36);
  1374.             Object var13 = null;
  1375.             String var39 = ((Applet)this).getParameter(method_21("l~vfmQukSSH"));
  1376.             if (var39 == null) {
  1377.                var39 = "0";
  1378.             }
  1379.  
  1380.             this.field_82 = Integer.valueOf(var39);
  1381.             Object var14 = null;
  1382.             String var40 = ((Applet)this).getParameter(method_21("l~vfmQukAN\\"));
  1383.             if (var40 == null) {
  1384.                var40 = "0";
  1385.             }
  1386.  
  1387.             this.field_86 = Integer.valueOf(var40);
  1388.             Object var15 = null;
  1389.             String var41 = ((Applet)this).getParameter(method_21("l~vfmQukSP_wk"));
  1390.             if (var41 == null) {
  1391.                var41 = "0";
  1392.             }
  1393.  
  1394.             this.field_83 = Integer.valueOf(var41);
  1395.             FontMetrics var16 = ((Component)this).getGraphics().getFontMetrics(this.field_16);
  1396.             this.field_78 = var16.stringWidth(this.field_76);
  1397.             this.field_77 = var16.getHeight();
  1398.             this.field_13 = var16.getMaxDescent();
  1399.             this.field_107 = this.field_102;
  1400.             if (this.field_109 < this.field_77 - this.field_13) {
  1401.                this.field_109 = this.field_77 - this.field_13;
  1402.             } else if (this.field_109 > this.field_103 - this.field_13) {
  1403.                this.field_109 = this.field_103 - this.field_13;
  1404.             }
  1405.  
  1406.             if (this.field_82 != 0) {
  1407.                this.field_87 = new int[this.field_102 + 360];
  1408.                this.field_88 = new int[this.field_102 + 360];
  1409.  
  1410.                for(int var17 = 0; var17 < this.field_102 + 360; ++var17) {
  1411.                   this.field_87[var17] = (int)((double)this.field_82 * Math.sin((double)this.field_83 * (double)var17 * Math.PI / (double)180.0F)) - this.field_77 - this.field_13 + this.field_109;
  1412.                   this.field_88[var17] = this.field_87[var17] - this.field_68;
  1413.                }
  1414.  
  1415.                this.field_81 = 360;
  1416.                this.field_84 = this.field_77 + this.field_13 + 1;
  1417.                this.field_85 = this.field_84 - 1;
  1418.                return;
  1419.             }
  1420.          } else {
  1421.             if (this.field_79 == 1) {
  1422.                Object var30 = null;
  1423.                String var31 = ((Applet)this).getParameter(method_21("L~vfHKkoq["));
  1424.                if (var31 == null) {
  1425.                   var31 = "10";
  1426.                }
  1427.  
  1428.                int var35 = Integer.valueOf(var31);
  1429.                FontMetrics var38 = ((Component)this).getGraphics().getFontMetrics(this.field_16);
  1430.                this.field_17 = var38.getHeight() + var35;
  1431.                this.field_104 = new int[this.field_32.length];
  1432.  
  1433.                for(this.field_28 = 0; this.field_28 < this.field_32.length; ++this.field_28) {
  1434.                   this.field_104[this.field_28] = (this.field_102 - var38.stringWidth(this.field_32[this.field_28])) / 2;
  1435.                }
  1436.  
  1437.                this.field_54 = -this.field_17;
  1438.                return;
  1439.             }
  1440.  
  1441.             if (this.field_79 >= 2) {
  1442.                Object var28 = null;
  1443.                String var29 = ((Applet)this).getParameter(method_21("L~vfSQuh}PL"));
  1444.                if (var29 == null) {
  1445.                   var29 = "2";
  1446.                }
  1447.  
  1448.                this.field_94 = Integer.valueOf(var29);
  1449.                Object var33 = null;
  1450.                String var34 = ((Applet)this).getParameter(method_21("L~vfSYch}PL"));
  1451.                if (var34 == null) {
  1452.                   var34 = "72";
  1453.                }
  1454.  
  1455.                this.field_93 = Integer.valueOf(var34);
  1456.                this.field_56 = this.field_93 - this.field_94;
  1457.                this.field_16 = null;
  1458.                this.field_112 = new Font[this.field_56];
  1459.                int var37 = this.field_94;
  1460.  
  1461.                for(this.field_28 = 0; this.field_28 < this.field_56; ++this.field_28) {
  1462.                   this.field_112[this.field_28] = new Font(var22, var4, var37++);
  1463.                }
  1464.  
  1465.                this.field_27 = (float)this.field_102 / 2.0F;
  1466.                this.field_26 = (float)this.field_103 / 2.0F;
  1467.                if (this.field_79 == 3) {
  1468.                   this.field_111 = this.field_56 - 1;
  1469.                   return;
  1470.                }
  1471.  
  1472.                this.field_111 = 0;
  1473.             }
  1474.          }
  1475.       }
  1476.  
  1477.    }
  1478.  
  1479.    // $FF: renamed from: b (java.awt.Graphics) void
  1480.    public void method_17(Graphics var1) {
  1481.       switch (this.field_79) {
  1482.          case 0:
  1483.             this.method_10(var1);
  1484.             return;
  1485.          case 1:
  1486.             this.method_18(var1);
  1487.             return;
  1488.          default:
  1489.             this.method_20(var1);
  1490.       }
  1491.    }
  1492.  
  1493.    public void start() {
  1494.       if (this.field_98 == null) {
  1495.          this.field_98 = new Thread(this);
  1496.          this.field_98.start();
  1497.       }
  1498.  
  1499.    }
  1500.  
  1501.    public void stop() {
  1502.       if (this.field_98 != null && this.field_98.isAlive()) {
  1503.          this.field_98.stop();
  1504.       }
  1505.  
  1506.       this.field_98 = null;
  1507.    }
  1508.  
  1509.    public final void update(Graphics var1) {
  1510.       this.paint(var1);
  1511.    }
  1512.  
  1513.    // $FF: renamed from: c (java.awt.Graphics) void
  1514.    public void method_18(Graphics var1) {
  1515.       var1.setFont(this.field_16);
  1516.       this.field_54 += this.field_101;
  1517.       if (this.field_54 > this.field_103 + this.field_32.length * this.field_17) {
  1518.          this.field_54 = -this.field_17;
  1519.       }
  1520.  
  1521.       if (this.field_96) {
  1522.          for(int var6 = 0; var6 < this.field_32.length; ++var6) {
  1523.             String var5 = this.field_32[var6];
  1524.             int var3 = this.field_104[var6];
  1525.             int var4 = this.field_103 - this.field_54 + var6 * this.field_17;
  1526.             var1.setColor(this.field_80);
  1527.             var1.drawString(var5, var3 + 1, var4 + 1);
  1528.             var1.setColor(this.field_92);
  1529.             var1.drawString(var5, var3, var4);
  1530.          }
  1531.  
  1532.       } else {
  1533.          var1.setColor(this.field_92);
  1534.  
  1535.          for(int var2 = 0; var2 < this.field_32.length; ++var2) {
  1536.             var1.drawString(this.field_32[var2], this.field_104[var2], this.field_103 - this.field_54 + var2 * this.field_17);
  1537.          }
  1538.  
  1539.       }
  1540.    }
  1541.  
  1542.    // $FF: renamed from: l () void
  1543.    public synchronized void method_19() {
  1544.       Thread.yield();
  1545.       this.field_97.sync();
  1546.       long var1 = 10L - (System.currentTimeMillis() - this.field_12);
  1547.       if (var1 > 0L) {
  1548.          try {
  1549.             Thread.sleep(var1);
  1550.          } catch (InterruptedException var5) {
  1551.          }
  1552.       } else {
  1553.          try {
  1554.             Thread.sleep(1L);
  1555.          } catch (InterruptedException var4) {
  1556.          }
  1557.       }
  1558.  
  1559.       this.field_12 = System.currentTimeMillis();
  1560.  
  1561.       try {
  1562.          Thread.sleep((long)this.field_35);
  1563.       } catch (InterruptedException var3) {
  1564.       }
  1565.    }
  1566.  
  1567.    // $FF: renamed from: d (java.awt.Graphics) void
  1568.    public void method_20(Graphics var1) {
  1569.       String var2 = this.field_32[this.field_110];
  1570.       var1.setFont(this.field_112[this.field_111]);
  1571.       FontMetrics var3 = var1.getFontMetrics(this.field_112[this.field_111]);
  1572.       int var4 = (int)(this.field_27 - (float)var3.stringWidth(var2) / 2.0F);
  1573.       int var5 = (int)(this.field_26 + (float)var3.getHeight() / 4.0F);
  1574.       if (this.field_96) {
  1575.          var1.setColor(this.field_80);
  1576.          var1.drawString(var2, var4 + 1, var5 + 1);
  1577.       }
  1578.  
  1579.       var1.setColor(this.field_92);
  1580.       var1.drawString(var2, var4, var5);
  1581.       if (this.field_79 == 3) {
  1582.          this.field_111 -= this.field_101;
  1583.          if (this.field_111 <= 1) {
  1584.             this.field_111 = this.field_56 - 1;
  1585.             ++this.field_110;
  1586.             if (this.field_110 >= this.field_32.length) {
  1587.                this.field_110 = 0;
  1588.                return;
  1589.             }
  1590.          }
  1591.       } else {
  1592.          this.field_111 += this.field_101;
  1593.          if (this.field_111 >= this.field_56) {
  1594.             this.field_111 = 0;
  1595.             ++this.field_110;
  1596.             if (this.field_110 >= this.field_32.length) {
  1597.                this.field_110 = 0;
  1598.             }
  1599.          }
  1600.       }
  1601.  
  1602.    }
  1603.  
  1604.    // $FF: renamed from: c (java.lang.String) java.lang.String
  1605.    private static String method_21(String var0) {
  1606.       char[] var1 = var0.toCharArray();
  1607.       int var2 = var1.length;
  1608.       int var3 = 0;
  1609.  
  1610.       label32:
  1611.       while(true) {
  1612.          int var4 = 0;
  1613.          byte var10000 = 56;
  1614.          char[] var10001 = var1;
  1615.          int var10002 = var3;
  1616.  
  1617.          label30:
  1618.          while(true) {
  1619.             var10001[var10002] ^= var10000;
  1620.  
  1621.             while(true) {
  1622.                ++var3;
  1623.                ++var4;
  1624.                if (var2 == var3) {
  1625.                   return new String(var1);
  1626.                }
  1627.  
  1628.                switch (var4) {
  1629.                   case 1:
  1630.                      var10000 = 27;
  1631.                      var10001 = var1;
  1632.                      var10002 = var3;
  1633.                      continue label30;
  1634.                   case 2:
  1635.                      var10000 = 14;
  1636.                      var10001 = var1;
  1637.                      var10002 = var3;
  1638.                      continue label30;
  1639.                   case 3:
  1640.                      var10000 = 18;
  1641.                      var10001 = var1;
  1642.                      var10002 = var3;
  1643.                      continue label30;
  1644.                   case 4:
  1645.                      var10000 = 62;
  1646.                      var10001 = var1;
  1647.                      var10002 = var3;
  1648.                      continue label30;
  1649.                   case 5:
  1650.                      continue label32;
  1651.                }
  1652.             }
  1653.          }
  1654.       }
  1655.    }
  1656. }
  1657.