PK f 3 META-INF/PK f 3C8 META-INF/MANIFEST.MFManifest-Version: 1.0 Ant-Version: Apache Ant 1.6.2 Created-By: 1.5.0_04-b05 (Sun Microsystems Inc.) Main-Class: edu.umiacs.fmm.gui.FmmDemo X-COMMENT: Main-Class will be added automatically by build PK f 3edu/PK f 3 edu/umiacs/PK f 3edu/umiacs/fmm/PK f 3|9))edu/umiacs/fmm/Box.class1B J                       @  ?    &              < <  <  <   levelIindexemptyZc[Ledu/umiacs/fmm/Complex;dtildedxLjava/util/Vector; Signature*Ljava/util/Vector;ychildren(Ljava/util/Vector; dTreeChildrencForestChildrenparentLedu/umiacs/fmm/Box; dTreeParent cForestParentpinDTree inCForest(III)VCodeLineNumberTableLocalVariableTableithis getParent()Ledu/umiacs/fmm/Box; setParent(Ledu/umiacs/fmm/Box;)Vb getChildren()Ljava/util/Vector;*()Ljava/util/Vector; hasChildren()ZaddChildgetDTreeParentsetDTreeParentgetDTreeChildren addDTreeChildhasDTreeChildrengetCForestParentsetCForestParentaddCForestChildgetCForestChildrenhasCForestChildrengetLevel()IgetIndexisEmptygetC()[Ledu/umiacs/fmm/Complex; getDtildegetDaddC([Ledu/umiacs/fmm/Complex;)Vinc addDtildeaddDgetX,()Ljava/util/Vector;getY getXRecursivechildi$Ljava/util/Iterator;ansLocalVariableTypeTable getYRecursivesetLevel(I)VsetIndexsetEmpty(Z)VesetC setDtildesetDsetX([Ledu/umiacs/fmm/Point;)V[Ledu/umiacs/fmm/Point;(Ljava/util/Vector;)V-(Ljava/util/Vector;)VsetYaddX(Ledu/umiacs/fmm/Point;)VLedu/umiacs/fmm/Point;addYgetSize()D getCenter()Ledu/umiacs/fmm/Point; getNeighbors,(Ledu/umiacs/fmm/FmmTree;)Ljava/util/Vector;jtmpLedu/umiacs/fmm/Complex;Ljava/lang/Exception;tLedu/umiacs/fmm/FmmTree;B(Ledu/umiacs/fmm/FmmTree;)Ljava/util/Vector;7(Ledu/umiacs/fmm/FmmTreeNonAdaptive;)Ljava/util/Vector;#Ledu/umiacs/fmm/FmmTreeNonAdaptive;M(Ledu/umiacs/fmm/FmmTreeNonAdaptive;)Ljava/util/Vector;getNeighborsE4 thisChildparentsNeighbormyNeighborsVecmyParentsNeighborsmyParentsNeighborsAtMyLevelVec compareTo(Ljava/lang/Object;)IoLjava/lang/Object;equals(Ljava/lang/Object;)ZgetLabel()Ljava/lang/String;toString isInDTree setInDTree isInCForest setInCForest isCForestLeaf isDTreeLeaf SourceFileBox.java e cP dP bM LM NM OP QR SR TRjava/util/Vector UV YVedu/umiacs/fmm/Complex e e ZV \V ]V ^_ `_ a_    ! tu "#$ %u &'edu/umiacs/fmm/Box r () r* +,edu/umiacs/fmm/Point- ./ e0 12 e3 4 5 678 9:java/lang/Exception; lm qr <= > java/lang/StringBuilder( ?@ ?A, ) Box u {ujava/lang/Objectjava/lang/Comparable()V(D)Vsize addElement(Ljava/lang/Object;)Vadd2(Ledu/umiacs/fmm/Complex;)Ledu/umiacs/fmm/Complex;iterator()Ljava/util/Iterator;java/util/IteratorhasNextnext()Ljava/lang/Object;addAll(Ljava/util/Collection;)Zjava/lang/Mathpow(DD)Dedu/umiacs/fmm/Util uninterleave(II)Ledu/umiacs/fmm/Complex;(DD)Vmultiply(D)Ledu/umiacs/fmm/Complex;(Ledu/umiacs/fmm/Complex;)Vreal imaginary interleave(III)Iedu/umiacs/fmm/FmmTreegetBox(II)Ledu/umiacs/fmm/Box;!edu/umiacs/fmm/FmmTreeNonAdaptive elementAt(I)Ljava/lang/Object;containsappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;!JKLMNMOPQRSRTRUVWXYVWXZVW[\VW[]VW[^_`_a_bMcPdP9efg********* * * Y * Y ** * 66*YS* YS* YS* Y* Y* Y***hn!` w"#$%"&'',(1)<*G+O,W-_.h/w01.3456789i4b9jMk_LMNMbMlmg/*h;i k_nog>*+h >?ik_p_qrg/*hAi k_Wstug:*hDi k_vogA *+h GHi k_ p_wmg/*hJi k_xog>*+h MNik_p_yrg/*hPi k_WszogA *+h STi k_ p_{ug:*hVi k_|mg/*hYi k_}og>*+h \]ik_p_~ogA *+h _`i k_ p_rg/*hbi k_Wsug:*hei k_g/*hii k_g/*hli k_ug/*hoi k_g/*hri k_g/* hui k_g/* hxi k_gn$=***2+2Sh| }|#~i !jM$k_$Rgn$=* * * 2+2Sh #i !jM$k_$Rgn$=* * * 2+2Sh #i !jM$k_$Rrg/* hi k_Wrg/*hi k_Wrg=** Y L*M,,N+- !W+h /8;i*/ _=k_)V )XWrg=** Y L*M,,N+-"!W+h /8;i*/ _=k_)V )XWg>*h ik_jMg>*h ik_jMg>*h ik_Pg>*+h ik_QRg>*+ h ik_SRg>*+ h ik_TRg.+,* Y =++2 * +2h'-i jM.k_.bgc* Y * +!Wh ik_bV bXWg.+,* Y =++2 *+2h'-i jM.k_.bgc* Y *+!Wh ik_bV bXWgI + * +h i k_ bgI + *+h i k_ bg7 #*t%hi  k_gT *&Y**'Y((**+,-hi *k_gp Y M**'N-.6-/66y6jZ`R`#*%=`5`#*% ,+*``*01,M Y 2h6 "+4xi\ .mM%|jMVUM"YMk_ [Wgp Y M**'N-.6-/66y6jZ`R`#*%=`5`#*% ,+*``*03,M Y 2h6 "+4x   i\ .mM%|jMVUM"YMk_ [Wg *+4M*5+4N Y :-:<:6:: Y :6.7:*8,9 M Y 2hB4T^ajw !i T_> 4*_Cp_m5jMVVVj;Vk_*[[[j;[Wg *+:M*5+:N Y :-:<:6:: Y :6.7:*8,9 M Y 2hB&'()4*T+^,a.j/w012/567i T_> 4*_Cp_m5jMVVVj;Vk_*[[[j;[Wg;+M*,*,*,*,h* ;<=>?@*A,B7C9Di ;k_;6p_gB*+;hGik_gR(?*@AB?*CAD?EhJi (k_gA*h qrik_cPug/*hi k_g>*h ik_dPug>**Hhi k_ug>**Ihi k_PK f 3edu/umiacs/fmm/Complex.class1 ;            @ !TD-@!TD- ?  @ xDy()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/Complex;(Ledu/umiacs/fmm/Complex;)Vz(D)V(DD)Vpolar()Ledu/umiacs/fmm/Complex;ra cartesianreal()D imaginary magnitudeargumentadd2(Ledu/umiacs/fmm/Complex;)Ledu/umiacs/fmm/Complex;(D)Ledu/umiacs/fmm/Complex;dsubtractnegatemultiplydivideinvert conjugateabsequals(Ledu/umiacs/fmm/Complex;)ZtoString()Ljava/lang/String;ddLjava/text/DecimalFormat; parseComplex,(Ljava/lang/String;)Ledu/umiacs/fmm/Complex;sLjava/lang/String;fromItoexpexp_xlogrpartipartsqrtpowsincostanatanIMZPZMsinhcoshtanhatanh(D)D SourceFile Complex.java ?@ <= >= OP QP q~ edu/umiacs/fmm/Complex ?I t~ s~java/text/DecimalFormat0.0000 ?java/lang/Stringjava/lang/StringBuilder( ,) ab  l~ n~ nK ZU lK ZV {~ z~ sK tK [U XU [V zK {K TV XV YKjava/lang/Objectjava/lang/StrictMathatan2(DD)D(Ljava/lang/String;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;format(D)Ljava/lang/String;indexOf(I)I(II)I substring(II)Ljava/lang/String;java/lang/Double parseDouble(Ljava/lang/String;)D! ;<=>=(?@AI***B;< =?C DE?FAU**+*+BBC DECDEGE?HAO**'*BHI JKCDE<=?IAY**'*)BNO PRC DE<=>=JKAs-**k**kcH** J Y') BWX#YC -DEL=# M=NKAJ Y** k** k B^C  DEOPA/*BcC DEQPA/*BhC DERPAA**k**kcBnC DESPA6 ** BsC  DETUAN Y*+c*+c BxCDEGETVAF Y*'c* B}CDEW=XUAN Y*+g*+g BCDEGEXVAF Y*'g* BCDEW=YKA< Y*w*w BC DEZUAb . Y*+k*+kg*+k*+kc BC.DE.GEZVAH Y*'k*'k BCDEW=[UA F++k++kcI Y*+k*+kc(o*+k*+kg(o B C FDEFGE2L=[VAH Y*'o*'o BCDEW=\KA`(**k**kcH Y*'o*'o B C(DEL=]KA; Y**w BC DE^PAA**k**kcBC DE_`AR+*+*BCDEGEabAyAYLYY+*+*B  CADE 7cd efA=*(<*,=*`J<*)=*`9 Y) B%2C4=gh6ij.kj"<=2 >=lKAZ"*H Y'* k'* k B C"DEm=nKA>**k**kcH** J) )"gJ Y'$) B#+1C >DE'o=#p=qKAM**k**kcH%'*ckJ%'*gk9*w9 Y) B%4BC*MDE6L=%(o=4p=rUAP+*'(M,)B  C DEGE MErVAP*''*N-)B  C DEW= MEsKAR ( Y* **+k* **,k BC (DEtKAS ) Y* **+k* w**,k BC )DEuKA6 *-*./B C  DEvKAF Y0 L Y*c* M Y*g* N+,'-'235(B 0C*FDE :wE(xE0yEzKAR( Y**,* k**+* k BC (DE{KAR( Y**+* k**,* k BC (DE|KA6 *6*7/B"C  DE}KAG*8'*9:'235B'C DEz~AC''wg3oB-CDE<={~AC''wc3oB1CDE<=PK f 3^BBedu/umiacs/fmm/FmmTree.class1 8 9 :; 8 < = >? 8 @ A B C D E F GH GIJ K L MN O P Q R S T UV W X Y Z [ \ ]^@ ]_ ]` a b c d e f g h i j k l m n o p q r@ s t u v w x y z{| H8 H}~ H H                                     H         MAX_NUM_LEVELI ConstantValue dimensionxLjava/util/Vector; Signature*Ljava/util/Vector;y potentialLedu/umiacs/fmm/Potential;struct;>;qDEFAULT_NUM_LEVEL currLevelnumTransJnumExp numDirect()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/FmmTree;A(Ljava/util/Vector;Ljava/util/Vector;Ledu/umiacs/fmm/Potential;)VpLocalVariableTypeTableq(Ljava/util/Vector;Ljava/util/Vector;Ledu/umiacs/fmm/Potential;)VinitDefaultStructi clearLeafDatabLedu/umiacs/fmm/Box;i$Ljava/util/Iterator; setLeafDataLedu/umiacs/fmm/Point; numOfLevelsbuildc(I[Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)Ledu/umiacs/fmm/FmmTree;pxarr$[Ledu/umiacs/fmm/Point;len$pythxvyvY(ILjava/util/Vector;Ljava/util/Vector;Ledu/umiacs/fmm/Potential;)Ledu/umiacs/fmm/FmmTree;maxClusterThresholdans(ILjava/util/Vector;Ljava/util/Vector;Ledu/umiacs/fmm/Potential;)Ledu/umiacs/fmm/FmmTree;b([Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)Ledu/umiacs/fmm/FmmTree;X(Ljava/util/Vector;Ljava/util/Vector;Ledu/umiacs/fmm/Potential;)Ledu/umiacs/fmm/FmmTree;Ndl(Ljava/util/Vector;Ljava/util/Vector;Ledu/umiacs/fmm/Potential;)Ledu/umiacs/fmm/FmmTree;setQ(I)VgetQ()I buildCForestnei4bnei4levelchildhasChildInForestZminlevel(Ljava/util/Vector; buildDTreebuildDTreeHelper(Ledu/umiacs/fmm/Box;I)V childNeighborxCountroot increaseLevelbParentjsizeleveliisThreshHoldMet(I)Zbb printComplex([Ledu/umiacs/fmm/Complex;)VccLedu/umiacs/fmm/Complex;[Ledu/umiacs/fmm/Complex;c upwardPass([D)VkBthisUDfromtochildBlu[D downwardPass1thisBoxdownwardPass1Helper(Ledu/umiacs/fmm/Box;)V thisE4Box downwardPass2downwardPass2Helpersolve([D)[Dv solveHelper(Ledu/umiacs/fmm/Box;[D[D)VincthisXneiboxregPartdrVecsinPartneineiandmethisY solveDirectgetClusterThresholdgetRoot()Ledu/umiacs/fmm/Box; getStruct()Ljava/util/Vector;>()Ljava/util/Vector;>;getBox(II)Ledu/umiacs/fmm/Box;eLjava/lang/Exception;indexgetNumOfLevelsprintxpyptoString()Ljava/lang/String;Ljava/lang/String; treeToString dTreeToStringtreeToStringHelper:(Ledu/umiacs/fmm/Box;Ljava/lang/String;)Ljava/lang/String;prefixdTreeToStringHelpergetX,()Ljava/util/Vector;getY getNumTrans()J setNumTrans(J)V getNumExp setNumExp getNumDirect setNumDirect getPotential()Ledu/umiacs/fmm/Potential; setPotential(Ledu/umiacs/fmm/Potential;)V SourceFile FmmTree.java java/util/Vector edu/umiacs/fmm/Potential    edu/umiacs/fmm/Box   edu/umiacs/fmm/Point      edu/umiacs/fmm/FmmTree                          ' java/lang/StringBuilder                                 java/lang/Exception########Level :  X points:  Y points: ) C values: Dtilde values:  D values: ########End Level    #$ &$begin  children end java/lang/Object lastElement()Ljava/lang/Object;iterator()Ljava/util/Iterator;java/util/IteratorhasNext()ZnextsetX(Ljava/util/Vector;)VsetY getBoxIndex(I)I elementAt(I)Ljava/lang/Object;addX(Ledu/umiacs/fmm/Point;)VaddY addElement(Ljava/lang/Object;)Vjava/lang/Mathlog(D)Dround(F)Ipow(DD)DgetLevel isInDTreegetNeighborsE4,(Ledu/umiacs/fmm/FmmTree;)Ljava/util/Vector; getXRecursive setInCForest(Z)V isInCForest getChildrensetCForestParentaddCForestChild setInDTreesetDTreeParent addDTreeChild getNeighbors getYRecursive hasChildren(III)V setParentaddChildjava/lang/SystemoutLjava/io/PrintStream;append-(Ljava/lang/Object;)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;java/io/PrintStream(Ljava/lang/String;)V isCForestLeafgetCoord()Ledu/umiacs/fmm/Complex; getCenter()Ledu/umiacs/fmm/Point; getSCoeffK(Ledu/umiacs/fmm/Complex;Ledu/umiacs/fmm/Complex;)[Ledu/umiacs/fmm/Complex;indexOf(Ljava/lang/Object;)Iedu/umiacs/fmm/Complexmultiply(D)Ledu/umiacs/fmm/Complex;addChasCForestChildrengetCForestChildrengetC()[Ledu/umiacs/fmm/Complex;getSSd(Ledu/umiacs/fmm/Complex;Ledu/umiacs/fmm/Complex;[Ledu/umiacs/fmm/Complex;)[Ledu/umiacs/fmm/Complex;getSR addDtildegetDTreeChildren getDtildeaddDgetDgetRR isDTreeLeaf getRVector2(Ledu/umiacs/fmm/Complex;)Ledu/umiacs/fmm/Complex;real()D(Ljava/util/Collection;)VdirectJ(Ledu/umiacs/fmm/Complex;Ledu/umiacs/fmm/Complex;)Ledu/umiacs/fmm/Complex; firstElement(I)Ljava/lang/StringBuilder;println! .;****Y*Y*Y* Y " !"#$$/%:& ;(***+*,*- *Y* "' )*+,#.'0*((((((b< * **23 2567;*L+&+M,Y,Yױ:!;,<7=:> !,;{*<*M,+,N*-d-*M,+,N*-d-ұ@A#BAC\DzE>#1\I1{s P hY:Y:+:662:  ,:662:  -& H IJ+K2J8LQMXL^N+ #Q ;#@Chhhh _V _V P +,- Y+,-!:"# $%&2 QR TU*V/W4X9Y<\B^G_M`4PPPP9PP B dYNY:*:662:-+:662:-,& cde*f0e6gOhVg\i *"O9#>Addd\S\S :*>'('o(o*6 h(t+k*6*+,lmn1p>:::51 ::>*, st/*,v  9<*M,y,N-:\:-D.<*/::#:0 1٧=*d*N-::2j63::2643: :45ܧ{Vnyz{9|J}R~oz%,/28oY*R19J#ci  $'do97 R1iN*67**68.+3N--:7+9+:06*;::0`6< = - *8v. "(.8YiRY C&8Zvl*<>+=Y@N6BY* AB:*dzC:DE-*-6 $7DIPW]ckH7&DEldZQ Qq*M,[,N-F6-*;::F`6-<"!*JZjloHJ 4&*B!Kaqq5+M,>6),2:GHYIJKLMNױ.4>2/,55 *d=*N-y-:O}0:f:* PQPR:+*S196    2TS U*YV aVWX::29QP:QP:* YZU*Y[ a[0:l:*YV aV* PQPR: +*S19 6       2 TS  U* \/j"2:Zp} :DZgr p>}1ZTDm)j Z: g- :Z$s2h u+*L++M*,]"'* "+)+.+<~+*/M,I,N-02-QP:+QP:+* -Y^_*Y[ a[+`M,,N*-]2 -7@I\fiR@&I-9Oq3*L++M,,ab*,c " * / 2 " #3t+<l+QPM+`N-S-:<:QP:* ,+debab*c*Y[ a[.  .9CV`fps>C-.BYattu#*+f*g*h*M**6,+i, " # %&!. ## L+j+<::9+d:* P+QPk: *YV aV6   2  2lmc9 9 +*;: Y n:  + :n:0:K:-*S19* PPoTm9 c9 *Yp ap,*S cR-+`::*,-ir35&6)7/8D9N:Y;n:t>w?~@ACDEFGHIJ KMN!R@SHTKVQ# ,9R\u)/D w ~  & @*!LLLL~   a*M>,P6*;,\1+1* *P*PomkcR,Y [\!]S\Y[_b4D Saa W/*,g ;*qqk /*n n*Nrrst*2*x  <*M,,NGHYIsLtuLMv-::GwvGxNF:/:GHYIyLKLMNͲGzG{N|:/:GHYIyLKLMNͲGzG}NY:66-2: GHYI ~LKLMNҲGzGNa:66-2: GHYI ~LKLMNҲGzGNd:66-2: GHYI ~LKLMNҲGzYGHYILtLMv {|}>~Zem &CIOWt w66& 941t ^9c4f1 941ZD  ? L=*N--:HYI+LsLtuLLML:1:HYI+LwLLMLHYI+LxLMLF:.:HYI+LyLKLMLλHYI+LLMLHYI+L{LML|:.:HYI+LyLKLMLλHYI+LLMLHYI+L}LMLY:66  , 2: HYI+L ~LKLML ӻHYI+LLMLHYI+LLMLa:66  , 2: HYI+L ~LKLML ӻHYI+LLMLHYI+LLMLd:66  , 2: HYI+L ~LKLML ӻHYI+LLML˻HYI+LLtLMLk+!!Fc9Ma~/Lhn55~ h8m3p0  830 L 68;3>0 cM8!   !!5 **6  "E **6L+    #$N+3HYI,L+wLLMHYI,L+wLLMNHYI-L,LL+wLLMN+3:<:HYI-L*HYI,L,LMLMNHYI-L,LL+wLLMN-" %@d>*mC@ % &$N+`HYI,L+wLLMHYI,L+wLLMNHYI-L,LL+wLLMN+`:<:HYI-L*HYI,L,LMLMNHYI-L,LL+wLLMN-" %@d>*mC@ % '/* ()/* (*+/*[ ,->*[ .+/*V /->*V 0+/*p 1->*p 23/*  45>*+  67PK f 3,,'edu/umiacs/fmm/FmmTreeNonAdaptive.class1 g u  @   @   (     (  H      (        H          ! " # $ % & ' ( ) * + , -. H/ H0 H1 2 3456 P P78 P9:; P< <= H> (<?@A <BCDE HF HGpH MAX_NUM_LEVELI ConstantValue dimension numOfLevelsx[Ledu/umiacs/fmm/Point;y potentialLedu/umiacs/fmm/Potential;struct[[Ledu/umiacs/fmm/Box;DEFAULT_NUM_LEVEL currLevelnumTransJnumExp numDirect()VCodeLineNumberTableLocalVariableTablethis#Ledu/umiacs/fmm/FmmTreeNonAdaptive;(ILedu/umiacs/fmm/Potential;)VjilevelL(I[Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)VB(ILjava/util/Vector;Ljava/util/Vector;Ledu/umiacs/fmm/Potential;)VLjava/util/Vector;LocalVariableTypeTable*Ljava/util/Vector; Signaturer(ILjava/util/Vector;Ljava/util/Vector;Ledu/umiacs/fmm/Potential;)VK([Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)VN initStructparentLedu/umiacs/fmm/Box;buildn(I[Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)Ledu/umiacs/fmm/FmmTreeNonAdaptive;maxClusterThreshholdansgetIndex0([Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Point;)IzpLedu/umiacs/fmm/Point; upwardPass([D)VkB[Ledu/umiacs/fmm/Complex;thisUDthisXi$Ljava/util/Iterator;thisBox parentBoxfromLedu/umiacs/fmm/Complex;toelu[D downwardPass1 thisE4Box downwardPass2childmsolve([D)[DincneiboxregPartdrVecsinPartneineiandmethisYxvv(Ljava/util/Vector; solveDirectgetClusterThreshold()Ixlengthylength getStruct()[[Ledu/umiacs/fmm/Box;getBox(II)Ledu/umiacs/fmm/Box;eLjava/lang/Exception;indexgetNumOfLevelstoString()Ljava/lang/String;Ljava/lang/String;arrToVec+([Ledu/umiacs/fmm/Point;)Ljava/util/Vector;arr$len$arrC([Ledu/umiacs/fmm/Point;)Ljava/util/Vector;vecToArr+(Ljava/util/Vector;)[Ledu/umiacs/fmm/Point;vecC(Ljava/util/Vector;)[Ledu/umiacs/fmm/Point;getX()[Ledu/umiacs/fmm/Point;getY getNumTrans()J setNumTrans(J)Vl getNumExp setNumExp getNumDirect setNumDirect SourceFileFmmTreeNonAdaptive.java }~ li ni xi op qp tuedu/umiacs/fmm/Potential rs[Ledu/umiacs/fmm/Box;I JKedu/umiacs/fmm/Box i }L ~ MN OP Q RS TS UV WX YX!edu/umiacs/fmm/FmmTreeNonAdaptive } Z[ \ ]^_ `a bcedu/umiacs/fmm/Point de fg hi {z j kl mn o\ p qr st uv yz w\ xy zv {n |t }n ~\ t v ~ ~ \ i k  yjava/util/Vector }    |zjava/lang/Exceptionjava/lang/StringBuilder ########Level :   X points:   Y Points:  C values: Dtilde values:  D values: ########End Level  } java/lang/Objectjava/lang/Mathpow(DD)D(III)Vlog(D)Dround(F)IgetP setParent(Ledu/umiacs/fmm/Box;)VaddChild getBoxIndex(I)IaddX(Ledu/umiacs/fmm/Point;)VaddYequals(Ljava/lang/Object;)Z()Ljava/util/Vector;iterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;getCoord()Ledu/umiacs/fmm/Complex; getCenter()Ledu/umiacs/fmm/Point; getSCoeffK(Ledu/umiacs/fmm/Complex;Ledu/umiacs/fmm/Complex;)[Ledu/umiacs/fmm/Complex;edu/umiacs/fmm/Complexmultiply(D)Ledu/umiacs/fmm/Complex;addC([Ledu/umiacs/fmm/Complex;)V getXRecursivesize getParent()Ledu/umiacs/fmm/Box;getC()[Ledu/umiacs/fmm/Complex;getSSd(Ledu/umiacs/fmm/Complex;Ledu/umiacs/fmm/Complex;[Ledu/umiacs/fmm/Complex;)[Ledu/umiacs/fmm/Complex; getYRecursivegetNeighborsE47(Ledu/umiacs/fmm/FmmTreeNonAdaptive;)Ljava/util/Vector;getSR addDtilde getDtildeaddD getChildrengetDgetRR getRVector2(Ledu/umiacs/fmm/Complex;)Ledu/umiacs/fmm/Complex;real()D getNeighbors(Ljava/util/Collection;)V addElement(Ljava/lang/Object;)VindexOf(Ljava/lang/Object;)IdirectJ(Ledu/umiacs/fmm/Complex;Ledu/umiacs/fmm/Complex;)Ledu/umiacs/fmm/Complex;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder; elementAt(I)Ljava/lang/Object;(I)VtoArray(([Ljava/lang/Object;)[Ljava/lang/Object;! g hijklijmniopqprstuvijwxiyz{z|z}~6*****d**** Y &   !""#*$5% 6}w*****d** >*G* S6*2 *2Y,Sڄ*, 6 & '()#*-+?,N-e,k*q/v04B)i%Liwwiwrs}8*****d** *,*-* ** 2 567#8(9-:3;7<488i8op8qp8rs}@*****d** **,**-* ** = @AB#C,D5E;F?G4@@i@o@q@rs@o@q}R**+6*oo**** *+*,*- *2 H I J&K.L3M>NCOHPMQQR4RRopRqpRrs Ei~{<*m* S=*2H*2Y* S*dzN*22---*22<*-**d2*2*d2*2<*-**d2*2*d2*2бFT UV)WAXLYXZ\[hVnTt^_^`a`b>LPiriv3i3i 0:6# Y+,-!:"ef gi$j'f-l>'i0i0op0qp0rs-">6++2,#pq rsq t4i""p" i" =**d2**d22N-$%:&e'(:* )-*)+:*Y, a,+**-196    2.S -/j*d=k>*2X*22:01=2:*):*):* 34/*Y5 a5bxy z?{T|^}l~w~x oi T>l&?S)l ui3)E`imi~:<*=*2{*22N-61b-*7%:&N':014*):-*):-* 389*Y5 a5p:  *JU_h|R_'hJ<4U i ii~y<*2*22*22:;<*d=*2y*22N-61`-*):-<%:&D':*):* -=>;:;*Y5 a5pF #)5BKU^}\ 'i(}2gK^TKg7i+id**?M*+@*A*B*N6**d23**d22:C%:& '(:9=: * )*)D: 6     2  2EFc9 *Y, a,9 *G:HYI:J%:&k':0%:&H'(:+,K19* ))L.F9 c9 *YM aM-**- cR-~ 2Bbel 18BEHY\b#i ,1 6OYrel bLB!Aidd [F  [ S*M>,D6*1,\1+1* *2)*2)LFkcR˄,EKQ48i GiSSKU<=**d2B**d22$1>**d22C16<<* (=BDJMS4(%i=iOiUSi/* d *22N N  *  i i/* OL=*PYQ+RSRTURVRWL>*2KPYQ+R*22XRVRWLPYQ+RYRWL6*22$16PYQ+R*22$Z([R\RWLPYQ+RVRWLPYQ+R]RWL6*22C16PYQ+R*22CZ([R\RWLPYQ+RVRWLPYQ+R^RWL6*2231PYQ+R*2232_R\RWLĻPYQ+RVRWLPYQ+R`RWL6*2231PYQ+R*22:2_R\RWLĻPYQ+RVRWLPYQ+RaRWL6*2231PYQ+R*22=2_R\RWLĻPYQ+RVRWLPYQ+RbRTcRWLa+" /<^r !"#&",%@&T'h('*+,-,/0(1<2d1j4~68\ uFiFiW?i?i+?i1Sii.HY+dM+N-66-2:,J,< = >&=,@H  pii..p $  $R +(efC   /*F /*I /*5L >*5 OPz/*,R >*, UVz/*MX >*M [\zPK f 3FA200edu/umiacs/fmm/Main.class1 :kl m 9no m pq prs tu vw px vx py z{| k} ~     p  p p  v v v vr ) ( ( 9   4 4 ()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/Main;main([Ljava/lang/String;)Vargs[Ljava/lang/String;NI thresholdpxLjava/util/Vector;yu[DtLedu/umiacs/fmm/FmmTree;tt#Ledu/umiacs/fmm/FmmTreeNonAdaptive;indirect indirectNAdirectLocalVariableTypeTable*Ljava/util/Vector; Exceptions loadInput)(Ljava/util/Vector;Ljava/util/Vector;[D)VLedu/umiacs/fmm/Point;filenameLjava/lang/String;frLjava/io/BufferedReader;linecount SignatureY(Ljava/util/Vector;Ljava/util/Vector;[D)V parsePoint*(Ljava/lang/String;)Ledu/umiacs/fmm/Point;ssLjava/util/StringTokenizer; SourceFile Main.java ;<java/util/Vector ; Z[edu/umiacs/fmm/Potential edu/umiacs/fmm/Point [Ledu/umiacs/fmm/Point;  java/lang/StringBuilderError:    Adaptive:  translations,  expansions and  direct evaluations with level  NonAdaptive: HD:\My Documents\My Programming Projects\fmmdemo-adaptive\input\input.txtjava/io/BufferedReaderjava/io/FileReader ; ; Y ef UEND java/util/StringTokenizer ; ;edu/umiacs/fmm/Mainjava/lang/Objectjava/lang/Exception(I)Vedu/umiacs/fmm/FmmTreebuildY(ILjava/util/Vector;Ljava/util/Vector;Ledu/umiacs/fmm/Potential;)Ledu/umiacs/fmm/FmmTree;getNumOfLevels()ItoArray(([Ljava/lang/Object;)[Ljava/lang/Object;!edu/umiacs/fmm/FmmTreeNonAdaptiven(I[Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)Ledu/umiacs/fmm/FmmTreeNonAdaptive;solve([D)[D solveDirectjava/lang/SystemoutLjava/io/PrintStream;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;edu/umiacs/fmm/UtilgetError([D[D)D(D)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprintln(Ljava/lang/String;)V getNumTrans()J(J)Ljava/lang/StringBuilder; getNumExp getNumDirect(I)Ljava/lang/StringBuilder;(Ljava/io/Reader;)VreadLinejava/lang/Stringequals(Ljava/lang/Object;)Z addElement(Ljava/lang/Object;)Vjava/lang/Double parseDouble(Ljava/lang/String;)D'(Ljava/lang/String;Ljava/lang/String;)V nextToken(DD)V!9:;<=3*> ? @A BC= +<$=>Y:Y::Y:  Y : : : : Y  Y !Y"#$% &!>B #&,(>)h*q+z4567*=?z +DE'FG$HG !IGJK LK#MN>OPhQRqSN zTN UN VJW LWXY Z[='N(Y)Y-*+:,:,:$-./:*0,:,:$1./:+0,:,:6#2.,3R,:ޱ>Z?@AB"C1D8E>FEGHHOI^JeKkLrMuN|OPQRST?\ 8 I\e I\JKLKMN]^_`a^&bGVJWLWXYcd ef=i#4Y*56L Y+73+738M,>V W!X? #a^ gh!I\ijPK f 3?f[[edu/umiacs/fmm/Point.class1W 56 7 8 9: 5; < = => ? @@ AB AC D EFGcoordLedu/umiacs/fmm/Complex;(DD)VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/Point;xDy(Ledu/umiacs/fmm/Complex;)Vc(Ledu/umiacs/fmm/Point;)VpgetCoord()Ledu/umiacs/fmm/Complex;setCoordtoString()Ljava/lang/String;equals(Ljava/lang/Object;)ZoLjava/lang/Object; getBoxIndex(I)IlevelI SourceFile Point.java Hedu/umiacs/fmm/Complex   "java/lang/StringBuilderPoint IJ )*edu/umiacs/fmm/Point +K LMN OP QR SMT UVjava/lang/Object()Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(Ledu/umiacs/fmm/Complex;)Zreal()Djava/lang/Mathpow(DD)Dfloor(D)D imaginaryedu/umiacs/fmm/Util interleave(III)I! X**Y')  ! "F **+   #$P**Y+%&'/* (">*+ )*DY * # +,S+ M*,  '( -. %/0a-*k*k,--1234PK f 3tq<=edu/umiacs/fmm/Potential.class1\ A B C D E/F G H I J K L M NOPpI DEFAULT_P()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/Potential;(I)VdirectJ(Ledu/umiacs/fmm/Complex;Ledu/umiacs/fmm/Complex;)Ledu/umiacs/fmm/Complex;yjLedu/umiacs/fmm/Complex;xigetP()IsetPgetSRd(Ledu/umiacs/fmm/Complex;Ledu/umiacs/fmm/Complex;[Ledu/umiacs/fmm/Complex;)[Ledu/umiacs/fmm/Complex;ijfromtosCoeff[Ledu/umiacs/fmm/Complex;tsr[[Ledu/umiacs/fmm/Complex;ansgetSSssgetRRrCoeff getRCoeffK(Ledu/umiacs/fmm/Complex;Ledu/umiacs/fmm/Complex;)[Ledu/umiacs/fmm/Complex;xstar getRVectoryrVec getSCoeff getSVectorsVec SourceFilePotential.java    QR STedu/umiacs/fmm/Complex U VR WX YT ZX VX WR [Redu/umiacs/fmm/Potentialjava/lang/Objectsubtract2(Ledu/umiacs/fmm/Complex;)Ledu/umiacs/fmm/Complex;log()Ledu/umiacs/fmm/Complex;(D)Vdividemultiply(D)Ledu/umiacs/fmm/Complex;negatepowadd!  > **   F **   G +,     ! "#/*  $>* #$%&9 ?,+:**:2S2Y S6*/2d22d   S6*#2Y S6*F6*42d22`d   SɄ*:6*DYS6*%2-222S؄^'() *3,?-e,k.w/.01210456780765<; 65'n)(:(L' +(J'??) ?* ?+,8- *./P0,1&p R,+:**:6*2YS2S6*/2d22d   S6*Bd6022`2 do SЄ6*.`6*2YS*:6*DYS6*%2-222S؄n?@A!B1A7C?DKEqDwFGHGFIJKJIMNOP'QCPINOT'B5'3(zH'(4'+(J'RR) R* R+,K- =2/P0,3&R 8,+:**:6*2YS6*22d2S6*F`6*12d22d`   S̄6*)62YS*:6*DYS6*%2-222S؄jXYZ![1Z7\C]X\^^j_y`_^abcbaefgh i)h/f5l':$(p7(aL'(/'+(J'88) 8* 84,1- #2/P0,56>*N-,+S6* -+,t t S-qrst6s<v4&'>>! >7 60,86+*N6*-+, S-z{|#{)}4 '++9 +7 #:,;6?*N-YS6*!-+,  S-7=4''??! ?7 70,<67*N-+,S6*-+,t S-/54'779 77 /=,> ?@PK f 3.edu/umiacs/fmm/TestNM.class1{ AB CD E FGH A IJ K L M N OP CQ@ CR FST U VW VX VY Z C[\]()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/TestNM;main([Ljava/lang/String;)ViIargs[Ljava/lang/String;NM thresholdx[Ledu/umiacs/fmm/Point;yu[Dp getFmmError5([Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;II[D)DleveltLedu/umiacs/fmm/FmmTree;indirectdirectgetError([D[D)DtmpDerror SourceFile TestNM.java edu/umiacs/fmm/Point^ _` ab cdjava/lang/StringBuilder ef eg 34 eh ijk lm no pq redu/umiacs/fmm/Potential st uv wx yx :; zoedu/umiacs/fmm/TestNMjava/lang/Objectjava/lang/Mathrandom()D(DD)Vjava/lang/SystemoutLjava/io/PrintStream;append(I)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;(D)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprintln(Ljava/lang/String;)Vlog(D)Dround(F)Igc(I)Vedu/umiacs/fmm/FmmTreebuildc(I[Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)Ledu/umiacs/fmm/FmmTree;solve([D)[D solveDirectabs!3* ! "# $%T<= >:::6#YSR6YS 6Y   B % 7!?E#N$`#f'j(*!f &&'H&'()*'+' ,'-.}/.x01j*2' 34 noo66*+Y:::Y   & -./1"233<4E5f6!\ n-.n/.n*'n2'n01X5'3;67<281E)91 :;,I6+!+1*1g9(I( :; =>!?$;*A!4 <=%&',81,91*>=?@PK f 3?C0C C edu/umiacs/fmm/TestNvPvE.class1 G>hH IJ K LMN G OP Q R ST U IV@ IWX Y Z[ Z\ ] Z^ _ ` Sa IbcdMAX_PI()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/TestNvPvE;main([Ljava/lang/String;)Vix[Ledu/umiacs/fmm/Point;yu[Djargs[Ljava/lang/String;NeDp printFmmP5([Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;ID[D)VtLedu/umiacs/fmm/FmmTree;indirecterrorleveltdirectdirectgetError([D[D)Dtmp SourceFileTestNvPvE.java "#edu/umiacs/fmm/Pointe fg "hi jkjava/lang/StringBuilder lm ln opq rs 89 tu vwedu/umiacs/fmm/Potential "xy z{ |} ! ~} AB l s uedu/umiacs/fmm/TestNvPvEjava/lang/Objectjava/lang/Mathrandom()D(DD)Vjava/lang/SystemoutLjava/io/PrintStream;append(I)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprint(Ljava/lang/String;)Vlog(D)Dround(F)I(I)Vedu/umiacs/fmm/FmmTreebuildc(I[Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)Ledu/umiacs/fmm/FmmTree; solveDirect([D)[Dsolve(D)Ljava/lang/StringBuilder;printlnabs! !"#$3*% & '( )*$M <I 66P2h<:::6  5 YS YS R ˲Y   (%F "( -!6"H#Z$b!h&')&\ 08+! "j,-(d.--_/01!234!56 7! 89$coo66*+Y::6  V*+Y :  :  9  )%Y      %:,-.//081C2U3^4g5n671:&z U;:; ^2<0 g)=6 ;[7! ,-.-4!56/0>!/h?;8_@0 AB$,I6+!+1*1g9(I(%=> @A!B$>*D&4 C6%+!,<0,@0*=6D#$2%EFPK f 3& edu/umiacs/fmm/TestNvTime.class1 KL MN O PQR K ST U V WX PY Z M[@ M\ ]^_ ` ab ac ]d e af Wg Mhij()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/TestNvTime;main([Ljava/lang/String;)ViIx[Ledu/umiacs/fmm/Point;yu[Djargs[Ljava/lang/String;N thresholdp printFmmTime5([Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;II[D)Vlevel indirectStartLjava/util/Calendar;tLedu/umiacs/fmm/FmmTree;indirect indirectEnd indirectTJ directStartdirect directEnddirectTgetError([D[D)DtmpDerror SourceFileTestNvTime.java  edu/umiacs/fmm/Pointk lm no pqjava/lang/StringBuilder rs rt uvw xy z 56 {| }~ edu/umiacs/fmm/Potential  r |edu/umiacs/fmm/TestNvTimejava/lang/Objectjava/lang/Mathrandom()D(DD)Vjava/lang/SystemoutLjava/io/PrintStream;append(I)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprint(Ljava/lang/String;)Vgclog(D)Dround(F)Ijava/util/Calendar getInstance()Ljava/util/Calendar;(I)Vedu/umiacs/fmm/FmmTreebuildc(I[Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)Ledu/umiacs/fmm/FmmTree;solve([D)[DgetTimeInMillis()J(J)Ljava/lang/StringBuilder; solveDirectprintln(J)Vabs! !3*" # $% &'!R < = >6P2h<:::65YSYSR˲Y }"J  !&"+#4$F%X&`#f()*,#\ .8() m*+&g,++b-. /)012)3) 4) 56!oo66 :*+Y:::  e7 Y  : : : e7"F/012"3'485A6F8S9m;p<u=~>@AB#*+,+2)4)-.7)'r898a:;AX<.FS=9 SF>? u$@9 ~A. B9 C? DE!,I6+!+1*1g9(I("EF HI!J$F*L#4 FG%(),<.,A.*HGIJPK f 3"]V V edu/umiacs/fmm/TestPvE.class1 GH IJ K LMN G OP Q R S T UV IW@ IX LY Z[\ ] ^_ ^` Za b Uc ^d e Ifgh()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/TestPvE;main([Ljava/lang/String;)ViIpargs[Ljava/lang/String;N thresholdx[Ledu/umiacs/fmm/Point;yu[D getFmmError5([Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;II[D)DlevelstartLjava/util/Calendar;tLedu/umiacs/fmm/FmmTree;indirectstopdirectgetError([D[D)DtmpDerror SourceFile TestPvE.java !"edu/umiacs/fmm/Pointi jk !lm nojava/lang/StringBuilder pq pr 67 ps tuv wx yz {| }"~ edu/umiacs/fmm/Potential ! p x @A zedu/umiacs/fmm/TestPvEjava/lang/Objectjava/lang/Mathrandom()D(DD)Vjava/lang/SystemoutLjava/io/PrintStream;append(I)Ljava/lang/StringBuilder;-(Ljava/lang/String;)Ljava/lang/StringBuilder;(D)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprintln(Ljava/lang/String;)Vlog(D)Dround(F)Igcjava/util/Calendar getInstance()Ljava/util/Calendar;(I)Vedu/umiacs/fmm/FmmTreebuildc(I[Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)Ledu/umiacs/fmm/FmmTree;solve([D)[DgetTimeInMillis()J(J)Ljava/lang/StringBuilder;print solveDirectabs! !"#3*$ % &' ()#.< =N::64-YSYSR621Y - α$:  1!C"KQ%[&%(%R7*+T5,+-./+0+ ~12x32s45 67#0 zoo66:*+Y::: Y e :  $. +,-/"0'182A3F4i5r6%p z12z32z/+z,+z45d8+'S9:8B;<A9=5F4>: r?5 @A#,I6+!+1*1g9(I($:; =>!?$;*A%4 BC%*+,=5,?5*DCEFPK f 3 ]]edu/umiacs/fmm/Util.class1: - . /0 1 2345()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/Util; interleave(III)IiIansxylevel uninterleave(II)Ledu/umiacs/fmm/Complex;xIntyIntnLsetbitpossettogetbit(II)IgetError([D[D)DtmpDindirect[Ddirecterror SourceFile Util.java !" edu/umiacs/fmm/Complex 67 89edu/umiacs/fmm/Utiljava/lang/Object(DD)Vjava/lang/Mathabs(D)D!  /*    K >67dhddd>dhddd> "  ,CI 4: ?KKK  ] Y=>69ddddh`=ddddh>ǻY &  !"4#K!Q% 4<MK]]  Y xx~ )* ,   !" H x~ /0 2    #$ ,I6+!+1*1g9(I( 56 89!:$6*< 4 %&%,'(,)(**&+,PK f 3edu/umiacs/fmm/gui/PK f 3j#edu/umiacs/fmm/gui/AnimCircle.class13 * + , - . /01xDyrIcLjava/awt/Color;rr(DDIILjava/awt/Color;)VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/gui/AnimCircle;getX()DgetYgetR()IgetColor()Ljava/awt/Color;getRRgetOuterCornerXScaled(I)I proportiongetOuterCornerYScaledgetInnerCornerXScaledgetInnerCornerYScaledisFilled()Z SourceFileAnimCircle.java 2   edu/umiacs/fmm/gui/AnimCirclejava/lang/Object()V!  !**'*)***  >!! ! ! ! !/* /*! /*$ /*' /**  !C*k*g-" #!E*gk*g0" $!C*k*g3" %!E*gk*g6" &'7 *9  ()PK f 3Rݴ!edu/umiacs/fmm/gui/AnimLine.class15 + , - . / 0 123fromXDfromYtoXtoYcLjava/awt/Color;widthI(DDDDLjava/awt/Color;I)VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/gui/AnimLine;getFromX()DgetFromYgetToXgetToYgetFromXScaled(I)I proportiongetFromYScaled getToXScaled getToYScaledgetColor()Ljava/awt/Color;getWidth()I SourceFile AnimLine.java 4   edu/umiacs/fmm/gui/AnimLinejava/lang/Object()V!     '**'*)*** * "  &H'' ' ' ' ' ' /* /* /* /*   = *k"  !" ? *gk%  !# = *k(  !$ ? *gk+  !%&/*- '(/*. )*PK f 38+edu/umiacs/fmm/gui/AnimationException.class1  ()VCodeLineNumberTableLocalVariableTablethis'Ledu/umiacs/fmm/gui/AnimationException;(Ljava/lang/String;)VsLjava/lang/String; SourceFileAnimationException.java   %edu/umiacs/fmm/gui/AnimationExceptionjava/lang/Exception!3*    >*+    PK f 3{ROO*edu/umiacs/fmm/gui/AnimationWorker$1.class1,     "#$this$0$Ledu/umiacs/fmm/gui/AnimationWorker;'(Ledu/umiacs/fmm/gui/AnimationWorker;)VCodeLineNumberTableLocalVariableTablethis InnerClasses&Ledu/umiacs/fmm/gui/AnimationWorker$1; construct()Ljava/lang/Object; SourceFileAnimationWorker.javaEnclosingMethod% &' ' () *+-edu/umiacs/fmm/gui/AnimationWorker$ActualTask ActualTask $edu/umiacs/fmm/gui/AnimationWorker$1edu/umiacs/fmm/gui/SwingWorker"edu/umiacs/fmm/gui/AnimationWorkergo()V setStatus(I)VsetStatusMessage(Ljava/lang/String;)V    4 *+*6  P*d*Y*7 89 !PK f 3[#3edu/umiacs/fmm/gui/AnimationWorker$ActualTask.class1'      this$0$Ledu/umiacs/fmm/gui/AnimationWorker;'(Ledu/umiacs/fmm/gui/AnimationWorker;)VCodeLineNumberTableLocalVariableTablee'Ledu/umiacs/fmm/gui/AnimationException;this ActualTask InnerClasses/Ledu/umiacs/fmm/gui/AnimationWorker$ActualTask; SourceFileAnimationWorker.java !" #!%edu/umiacs/fmm/gui/AnimationException $% &%-edu/umiacs/fmm/gui/AnimationWorker$ActualTaskjava/lang/Object()V"edu/umiacs/fmm/gui/AnimationWorker runAnimation setStatus(I)V setCommand    r*+*+M+d+Z   %!#$&  PK f 3 }88(edu/umiacs/fmm/gui/AnimationWorker.class1               !"# $ % & '( 1) 1* +, +-. / 01 02@$3 &4 5 6 17 8 9:; <= > ?@ 1A 6B 1C DE F G HI JK HL HM HNO >P Q RS TUV EW EX EYZ E: 6[\ 6:] ^ 6_ `  6a 1 6b 6c 1d ef 1gh 6ijk 6l mno 6p 6q 6r 6s t uv 6wx Hy 6z{ 6| } 6~          A ActualTask InnerClassesstatusIcommandintervalJanim#Ledu/umiacs/fmm/gui/LayerAnimation;propertyChangeSupport"Ljava/beans/PropertyChangeSupport; statusMessageLjava/lang/String;&(Ledu/umiacs/fmm/gui/LayerAnimation;)VCodeLineNumberTableLocalVariableTablethis$Ledu/umiacs/fmm/gui/AnimationWorker; getInterval()J setInterval(J)V getCommand()I setCommand(I)Vcgo()Vworker Ledu/umiacs/fmm/gui/SwingWorker;stopprocessCommandandRepaint Exceptions sleepIntervaleLjava/lang/Exception;inextStep animateLines8(Ljava/util/Vector;Ljava/util/Vector;Ljava/awt/Color;I)VfromXDfromYtoXtoYtoXIntermediatetoYIntermediatetoPointLedu/umiacs/fmm/Point;i$Ljava/util/Iterator; fromPointkfromLjava/util/Vector;toLjava/awt/Color;el numOfLevels lineWidthLocalVariableTypeTable*Ljava/util/Vector; Signatureh(Ljava/util/Vector;Ljava/util/Vector;Ljava/awt/Color;I)V:(Ljava/util/Vector;Ledu/umiacs/fmm/Box;Ljava/awt/Color;I)VLedu/umiacs/fmm/Box;animateLinesPointtoArrR(Ljava/util/Vector;Ledu/umiacs/fmm/Box;Ljava/awt/Color;I)VanimateLinesBoxfromBfromArr(Ljava/util/Vector;P(Ljava/util/Vector;Ledu/umiacs/fmm/Box;Ljava/awt/Color;I)V:(Ledu/umiacs/fmm/Box;Ljava/util/Vector;Ljava/awt/Color;I)VR(Ledu/umiacs/fmm/Box;Ljava/util/Vector;Ljava/awt/Color;I)VtoBP(Ledu/umiacs/fmm/Box;Ljava/util/Vector;Ljava/awt/Color;I)V addCircle((Ledu/umiacs/fmm/Box;Ljava/awt/Color;I)VbrrrcenterLedu/umiacs/fmm/Complex; addCircles&(Ljava/util/Vector;Ljava/awt/Color;I)Vbv<(Ljava/util/Vector;Ljava/awt/Color;I)VrunAnimationUpwardPasschildBfromVeclstruct;>;runAnimationSExpantionthisBoxrunAnimationSSTranslationchildrenrunAnimationDownwardRecursivechildnonEmptyChildrennei4e4nei e4neidTreee4neidTreeNonEmptyrunAnimationSRTranslation e4neiNonEmptyrunAnimationRExpansion(Ledu/umiacs/fmm/Box;)VtargetsrunAnimationFinalSummation neighbors runAnimationaddPropertyChangeListener&(Ljava/beans/PropertyChangeListener;)V#Ljava/beans/PropertyChangeListener;removePropertyChangeListenergetStatusMessage()Ljava/lang/String;setStatusMessage(Ljava/lang/String;)VoldStatusMessage getStatus setStatus oldStatus SourceFileAnimationWorker.java  java/beans/PropertyChangeSupport  $edu/umiacs/fmm/gui/AnimationWorker$1   %edu/umiacs/fmm/gui/AnimationException   java/lang/Exception        edu/umiacs/fmm/Point   edu/umiacs/fmm/gui/AnimLine     Point  java/util/Vector   edu/umiacs/fmm/Box      edu/umiacs/fmm/gui/AnimCircle   ==================== Performing upward pass. java/lang/StringBuilderPerforming upward pass level  .   - C Forest leaf node        Performing multipole expansion.  /Performing multipole-to-multipole translation.  .....Level  'Performing local-to-local translation.  .....Level:     +Performing multipole-to-local translation.  .....Level 2  Performing final summation.  FMM algorithm started.  passupdown  FMM algorithm completed   java/lang/Integer"edu/umiacs/fmm/gui/AnimationWorkerjava/lang/Object-edu/umiacs/fmm/gui/AnimationWorker$ActualTask(Ljava/lang/Object;)V'(Ledu/umiacs/fmm/gui/AnimationWorker;)Vedu/umiacs/fmm/gui/SwingWorkerstart!edu/umiacs/fmm/gui/LayerAnimationrepaintjava/lang/ThreadsleepresetHighlightBoxes resetLines getFmmTree()Ledu/umiacs/fmm/FmmTree;edu/umiacs/fmm/FmmTree getStruct()Ljava/util/Vector;sizeiterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;getCoord()Ledu/umiacs/fmm/Complex;edu/umiacs/fmm/Complexreal()D imaginary(DDDDLjava/awt/Color;I)VaddLine (Ledu/umiacs/fmm/gui/AnimLine;)V elementAt(I)Ljava/lang/Object;getClass()Ljava/lang/Class;java/lang/ClasstoStringjava/lang/StringindexOf(Ljava/lang/String;)I getCenter()Ledu/umiacs/fmm/Point; addElementedu/umiacs/fmm/gui/Constants ANIM_COLOR_Sjava/awt/Colorequals(Ljava/lang/Object;)Z ANIM_COLOR_SS ANIM_COLOR_SR ANIM_COLOR_RR(DDIILjava/awt/Color;)V"(Ledu/umiacs/fmm/gui/AnimCircle;)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder; isCForestLeafaddHighlightBox getXRecursivehasCForestChildrengetCForestChildren isInCForestaddAll(Ljava/util/Collection;)Z lastElementgetX getChildrenaddHighlightBoxes(Ljava/util/Vector;)V isInDTreehasDTreeChildrengetDTreeChildren getYRecursivegetNeighborsE4,(Ledu/umiacs/fmm/FmmTree;)Ljava/util/Vector; ANIM_COLOR_RgetLevel isDTreeLeaf getNeighborsfirePropertyChange9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V!"~.**d*Z***Y* *+"# ($-%../*( >* +,/*. >* 12J Y* L+ 5 < = 5*2 @C s*** ****.*( * *2 *< Y* *>F GHIJ L)M0N4O@PERZSbUkVrW s7 ** [\  e N _a c be 9*** **** *& hijkl$n(o1p8q 9; **6d6+,+ ,6 *+: : ,:  w  :  !"9  !#9 !"9 !#9  gk$oc9gk$oc9*&Y -'(f**)DZuvwx3y4z>|E}a~}z[ QG=+}e g~ a K74+2+++*+,-.*+,-/ *+,-0 *34444441Y2:,34*+-5 >    U1Y2:,341Y+2:+:6:34*-5  <IT\ < &#UUUUU K 5 U K 54,2,+,*+,-.*+,-7 *+,-8 *34444441Y2:+34*,-5 >    U1Y2:+341Y,2:,:6:34*-5  <IT\ < &#UUUUU K 5 U K 5> *6d66,9:d6<,;:d6&,<: 6,=: d6+3!:*>Y"#,?@F"%+8;ANQ^agpRyvp(+:6:*,A'>!(((( ( r*BC*)*DC*L+=+d>D*EYFGHIJHKC+*1: 6:Lo**EYFMHNHOHKC*P*)**Q9dR*;dA*)**SiUiW*1YX:Y:26:Z34Q[W*9dR*;dA**SiUi*\"  ,Hksz),7:HTdgmq\  9mkU'FrW RmWX*BC*)*]C*L+=+^1N-z-6:**EYFMHNH_HKC*P*)**`9dR*;dA*)**SiUi*\J   ? F f osw4?i+  *BC*)*aC*L+=d>*EYFbHI_HKC+*1:6:**EYFMHNH_HKC*)*3!:c:*d*;R*;A*)**SiUiw*\?^  ")%E&h'o()*,-./01234"6R:3hsR$ 3 *)*L+=>dl*BC*eC*EYFfHI_HKC+*1:6:gh**EYFMHNH_HKCi:*d1YX::$6:  j  4*=k*=`l*)**SiUi**.*\*)*BC*mC*EYFfH`I_HKC+`*1: 6:gj**EYFMHNH_HKC3!:*n:1YX:1YX: *P:  3 6:  g 4 Q   4*d*)** <`R*<`A*)**SiUi***\:9;<>@#A)BEChDxEFGHIJKLMNOPQST$V'X+Y/[5\;]Y^~_`abcdefghij"k)m,n5o9p=rKsWt[ukwrxyz|{>} +~lhR! :  ~hpxs>~l xG -*BC*)*mC*L+=*oC+*1N--6:gj**EYFMHNH_HKC3!:*n:*P*d*)*1YX::$6:  Q  4*<R*<A*)**SiUi** *\v  &FY`%(,f  +jF2-   jE**+P*)*+jM*+,p+qk*)**SiUi** )-=D EE) )*BC*)*rC*L+=+d>+*1:6:sjt*EYFMHNH_HKC**t*P*)**Si*u:*d*)**SiUifN*\Z  ,ObHO9' H*BC*vC*ȶw**x* yz{|*}*~**BC*C*w6  (,04:@G HA * +  A * +  /* `*M*+* ,+|   /*  n$*=** YY| # $$    PK f 3n}*edu/umiacs/fmm/gui/ComputationThread.class1 9 8 8 8 8 8 8  8 8 8 8 8 8 8 8 8 8  > )  -B 8 8 8K 8LfmmTreeLedu/umiacs/fmm/FmmTree;fmmTreeNonAdaptive#Ledu/umiacs/fmm/FmmTreeNonAdaptive;errorDnumTransJnumTransNonAdaptive listenerList%Ljavax/swing/event/EventListenerList;propertyChangeSupport"Ljava/beans/PropertyChangeSupport;u[DnumExp numDirectnumDirectNonAdaptivenumExpNonAdaptive()VCodeLineNumberTableLocalVariableTablethis&Ledu/umiacs/fmm/gui/ComputationThread;(Ledu/umiacs/fmm/FmmTree;)Vfmmtree setFmmTreegenUiIrun runningErrorindirectnonadaptdirectaddPropertyChangeListener&(Ljava/beans/PropertyChangeListener;)Vl#Ljava/beans/PropertyChangeListener;removePropertyChangeListenergetError()DsetError(D)VoldError getNumTrans()J setNumTrans(J)Vn oldNumTransgetNumTransNonAdaptivesetNumTransNonAdaptiveoldNumTransAdaptivegetU()[DsetU([D)V getNumExp setNumExp oldNumExp getNumDirect setNumDirect oldNumDirectgetNumDirectNonAdaptivesetNumDirectNonAdaptiveoldNumDirectNonAdaptivegetNumExpNonAdaptivesetNumExpNonAdaptiveoldNumExpNonAdaptive SourceFileComputationThread.java MN :; <= >? @A BA CD java/beans/PropertyChangeSupport M EF GH!edu/umiacs/fmm/FmmTreeNonAdaptive M  e WN  d fg ij kl yj zl vj wl pl }l l _` c`java/lang/Double Mg numTransAdaptivejava/lang/Long Ml IAnumExpAdaptive JAnumDirectAdaptive KA LA$edu/umiacs/fmm/gui/ComputationThreadjava/lang/Thread(Ljava/lang/Object;)Vedu/umiacs/fmm/FmmTreegetNumOfLevels()IgetX()Ljava/util/Vector;getY getPotential()Ledu/umiacs/fmm/Potential;B(ILjava/util/Vector;Ljava/util/Vector;Ledu/umiacs/fmm/Potential;)Vjava/util/Vectorsizejava/lang/Mathrandomsolve([D)[D solveDirectedu/umiacs/fmm/Util([D[D)DfirePropertyChange9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V!89 :;<=>?@ABACDEFGHIAJAKALAMNO4***** * **Y* * P* $ "."3%Q 4RSMTO`***** * **Y* * *+* Y* ***P2 & "."3'8(_)Q`RS`U;VTO]!*+* Y+ +++P,- .Q!RS!:;WNOo+** <* * RP012$1*4QXY+RSZNOH* *** N** :** :*-******** !**"#**$%P:68 9 :;&<3==>H?S@^AiBtCDQ4RS~[?g\H&Z]H3M^H_`OA * +&P LMQ RS abc`OA * +'P UVQ RS abdeO/*P^Q RSfgOn$*J*'* ()Y)*)Y'*+Pgh i#jQ $RS$>?h?ijO/*PtQ RSklOn$*B** ,-Y!.-Y.+P}~ #Q $RS$mAnAojO/*PQ RSplOn$*B** /-Y!.-Y.+P #Q $RS$mAqArsO/* PQ RStuO>*+ P QRSGHvjO/*0PQ RSwlOn$*0B*0* 1-Y!.-Y.+P #Q $RS$IAxAyjO/*2PQ RSzlOn$*2B*2* 3-Y!.-Y.+P #Q $RS$JA{A|jO/*4PQ RS}lOn$*4B*4* 5-Y!.-Y.+P #Q $RS$KA~AjO/*6PQ RSlOn$*6B*6* 7-Y!.-Y.+P  # Q $RS$LAAPK f 30mK99"edu/umiacs/fmm/gui/Constants.class1x Z [ \ ] ^_ ` a b c d efgh ij k lm APP_VERSIONLjava/lang/String; ConstantValuenANIM_STATUS_MSG_SEPARATORoANIM_COLOR_HIGHLIGHTLjava/awt/Color;ANIM_STATUS_STOPPEDIdANIM_STATUS_RUNNINGANIM_STATUS_PAUSED,ANIM_STATUS_COMPLETEDANIM_COMMAND_START ANIM_COMMAND_PAUSEANIM_COMMAND_RESUMEANIM_COMMAND_FFANIM_COMMAND_FF2END(ANIM_COMMAND_STOP2ANIM_COMMAND_RESET<ANIM_COMMAND_NOCOMMANDZ ANIM_COLOR_S ANIM_COLOR_SS ANIM_COLOR_SR ANIM_COLOR_RR ANIM_COLOR_RANIM_DIRECTION_UPANIM_DIRECTION_DOWNANIM_PROPORTIONANIM_MAX_COLOR_STEPSIZEANIM_ARROW_STEPSANIM_INTERVAL_PLAYJ ANIM_INTERVAL_FF4X DEFAULT_NDEFAULT_TRUNCATION_NUMBERDEFAULT_CLUSTER_NUMBER ICON_PLAYLjavax/swing/ImageIcon;()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/gui/Constants; SourceFileConstants.java PQ p  q 5java/awt/Color Pr 6 7 8 s 9javax/swing/ImageIconedu/umiacs/fmm/gui/Constants+/edu/umiacs/fmm/gui/resources/execute16.gift uv Pw NOjava/lang/Object1.2.8====================  LIGHT_GRAYred(III)Vbluejava/lang/Class getResource"(Ljava/lang/String;)Ljava/net/URL;(Ljava/net/URL;)V!  !"#$%&'()*+,-./0123456789:;<=>?@0A&BCDFCGIJKLMNOPQR3*S T UVWQRXYY Y̷ YS' ().*?+E=XYPK f 3- &&"edu/umiacs/fmm/gui/FmmDemo$1.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$1;propertyChange#(Ljava/beans/PropertyChangeEvent;)Vevt Ljava/beans/PropertyChangeEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$1java/lang/Object!java/beans/PropertyChangeListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$000?(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/beans/PropertyChangeEvent;)V   4 *+* 4   A *+ 56    PK f 3圕E#edu/umiacs/fmm/gui/FmmDemo$10.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$10;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$10java/lang/Objectjava/awt/event/ActionListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$900;(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/awt/event/ActionEvent;)V   4 *+*    A *+     PK f 3DXX#edu/umiacs/fmm/gui/FmmDemo$11.class1'    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$11;propertyChange#(Ljava/beans/PropertyChangeEvent;)Vevt Ljava/beans/PropertyChangeEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  $ %&edu/umiacs/fmm/gui/FmmDemo$11java/lang/Object!java/beans/PropertyChangeListeneredu/umiacs/fmm/gui/FmmDemopanelToolbar1ActionPerformed(Ljava/awt/event/ActionEvent;)V()V access$000?(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/beans/PropertyChangeEvent;)V   4 *+* \   A *+ ]^    PK f 3<"K00#edu/umiacs/fmm/gui/FmmDemo$12.class1   ()VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$12;run SourceFile FmmDemo.javaEnclosingMethod   edu/umiacs/fmm/gui/FmmDemo edu/umiacs/fmm/gui/FmmDemo$12java/lang/Objectjava/lang/Runnablemain([Ljava/lang/String;)V setVisible(Z)V   /* u    : Y v w   PK f 3Q"edu/umiacs/fmm/gui/FmmDemo$2.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$2;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$2java/lang/Objectjava/awt/event/ActionListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$100;(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/awt/event/ActionEvent;)V   4 *+* =   A *+ >?    PK f 3=H"edu/umiacs/fmm/gui/FmmDemo$3.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$3;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$3java/lang/Objectjava/awt/event/ActionListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$200;(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/awt/event/ActionEvent;)V   4 *+* C   A *+ DE    PK f 3]t?"edu/umiacs/fmm/gui/FmmDemo$4.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$4;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$4java/lang/Objectjava/awt/event/ActionListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$300;(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/awt/event/ActionEvent;)V   4 *+* S   A *+ TU    PK f 3uP&&"edu/umiacs/fmm/gui/FmmDemo$5.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$5;propertyChange#(Ljava/beans/PropertyChangeEvent;)Vevt Ljava/beans/PropertyChangeEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$5java/lang/Object!java/beans/PropertyChangeListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$400?(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/beans/PropertyChangeEvent;)V   4 *+* _   A *+ `a    PK f 3Q"edu/umiacs/fmm/gui/FmmDemo$6.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$6;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$6java/lang/Objectjava/awt/event/ActionListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$500;(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/awt/event/ActionEvent;)V   4 *+* r   A *+ st    PK f 39?"edu/umiacs/fmm/gui/FmmDemo$7.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$7;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$7java/lang/Objectjava/awt/event/ActionListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$600;(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/awt/event/ActionEvent;)V   4 *+* ~   A *+     PK f 3|"edu/umiacs/fmm/gui/FmmDemo$8.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$8;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$8java/lang/Objectjava/awt/event/ActionListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$700;(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/awt/event/ActionEvent;)V   4 *+*    A *+     PK f 3}-"edu/umiacs/fmm/gui/FmmDemo$9.class1&    this$0Ledu/umiacs/fmm/gui/FmmDemo;(Ledu/umiacs/fmm/gui/FmmDemo;)VCodeLineNumberTableLocalVariableTablethis InnerClassesLedu/umiacs/fmm/gui/FmmDemo$9;actionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent; SourceFile FmmDemo.javaEnclosingMethod! "#  # $%edu/umiacs/fmm/gui/FmmDemo$9java/lang/Objectjava/awt/event/ActionListeneredu/umiacs/fmm/gui/FmmDemoinitComponents()V access$800;(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/awt/event/ActionEvent;)V   4 *+*    A *+     PK f 3ԙsCC edu/umiacs/fmm/gui/FmmDemo.class1J + + + + + + + + + + , + + + + + + + +     + + + < ! + $ + ' + * + - + 0 + 3 + 6 + 9 + < > + A + D + + + I + + + + O ! $ ' * U * X - + \  + + +   c 0 0 i 0  n 3 r 6 v u 6 z 9 } 9 6! <"# A A D$% & D'( D) D*+  D A,-./0 1 D234  A!567 D89  >:;<=  +> +? -@ -A -B +C +D +E FG +H !I 9J 3K LM NO L'P L8Q L* 3R 3S 3TU +V WX *Y WZ *[ !\ *I *] *^ *_ '` Fa bc bde f *g hi 'g +j $g +k lmn opq r s lt uv uTw xVWXYZ +y lz{ p|} ~ 3 3 3 W    3 3    ! -g   '   + +  W 9  ' W ! ! + FcomputationThread1&Ledu/umiacs/fmm/gui/ComputationThread; dialogAbout1'Ledu/umiacs/fmm/gui/dialog/DialogAbout;dialogClickPoints1-Ledu/umiacs/fmm/gui/dialog/DialogClickPoints; dialogInput1'Ledu/umiacs/fmm/gui/dialog/DialogInput;dialogSettings1*Ledu/umiacs/fmm/gui/dialog/DialogSettings; jMenuBar1Ljavax/swing/JMenuBar; jMenuFileLjavax/swing/JMenu; jMenuHelpjMenuItemAboutLjavax/swing/JMenuItem; jMenuItemExitjMenuItemImportjMenuItemRegenjMenuItemSettingsjPanel1Ljavax/swing/JPanel; jSeparator1Ljavax/swing/JSeparator; lblStatusLjavax/swing/JLabel; panelMain1Ledu/umiacs/fmm/gui/PanelMain; panelStatus1 Ledu/umiacs/fmm/gui/PanelStatus; panelToolbar1!Ledu/umiacs/fmm/gui/PanelToolbar;treeLedu/umiacs/fmm/FmmTree;animationCompletedZ computedErrorDnumTransAdaptiveJnumTransNonAdaptivenumExpAdaptivenumExpNonAdaptivenumDirectAdaptivenumDirectNonAdaptiveframeIconImageLjava/awt/Image;()VCodeLineNumberTableLocalVariableTablethisLedu/umiacs/fmm/gui/FmmDemo;initComponents!dialogClickPoints1ActionPerformed(Ljava/awt/event/ActionEvent;)VevtLjava/awt/event/ActionEvent;reinit:(Ljava/util/Vector;Ljava/util/Vector;Ljava/util/Vector;I)VsourceLjava/util/Vector;targetusILocalVariableTypeTable*Ljava/util/Vector;&Ljava/util/Vector; Signature~(Ljava/util/Vector;Ljava/util/Vector;Ljava/util/Vector;I)VdialogInput1ActionPerformeddoubleVecToDoubleArr(Ljava/util/Vector;)[Ddi$Ljava/util/Iterator;ans[Di*(Ljava/util/Vector;)[DjMenuItemImportActionPerformedjMenuItemRegenActionPerformed jMenuItemSettingsActionPerformedjMenuItemAboutActionPerformed#jMenuItemAboutActionPerformedHelper computationThread1PropertyChange#(Ljava/beans/PropertyChangeEvent;)V Ljava/beans/PropertyChangeEvent;&computationThread1PropertyChangeHelperpanelMain1PropertyChangepanelMain1PropertyChangeHelperpopsAdaptopsReg newStatusjMenuItemExitActionPerformedpanelToolbar1ActionPerformed actionCommandLjava/lang/String;main([Ljava/lang/String;)Vargs[Ljava/lang/String; initFmmTreex[Ledu/umiacs/fmm/Point;y1([Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;)V2([Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;I)Vq potentialLedu/umiacs/fmm/Potential;'(Ljava/util/Vector;Ljava/util/Vector;)VW(Ljava/util/Vector;Ljava/util/Vector;)V((Ljava/util/Vector;Ljava/util/Vector;I)VX(Ljava/util/Vector;Ljava/util/Vector;I)VpointVecToArray+(Ljava/util/Vector;)[Ledu/umiacs/fmm/Point;vecC(Ljava/util/Vector;)[Ledu/umiacs/fmm/Point; access$000?(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/beans/PropertyChangeEvent;)Vx0x1 access$100;(Ledu/umiacs/fmm/gui/FmmDemo;Ljava/awt/event/ActionEvent;)V access$200 access$300 access$400 access$500 access$600 access$700 access$800 access$900 SourceFile FmmDemo.java f f f f f  f ef vf  ]^ PQ RS TU VU WU XU YU ZU  +/edu/umiacs/fmm/gui/resources/logo16x16.gif   [\ d^ JK==================== NApplication initialized. Please generate source and target points to proceed. $edu/umiacs/fmm/gui/ComputationThread -.%edu/umiacs/fmm/gui/dialog/DialogAbout ] /0(edu/umiacs/fmm/gui/dialog/DialogSettings 56%edu/umiacs/fmm/gui/dialog/DialogInput 34+edu/umiacs/fmm/gui/dialog/DialogClickPoints 12javax/swing/JLabel FGedu/umiacs/fmm/gui/PanelToolbar LMjavax/swing/JPanel BCedu/umiacs/fmm/gui/PanelMain HIedu/umiacs/fmm/gui/PanelStatusjavax/swing/JMenuBar 78javax/swing/JMenu 9:javax/swing/JMenuItem @= ?= A=javax/swing/JSeparator DE >= ;: <=edu/umiacs/fmm/gui/FmmDemo$1 InnerClasses ]  edu/umiacs/fmm/gui/FmmDemo$2 edu/umiacs/fmm/gui/FmmDemo$3 java/awt/BorderLayout ]   ]?  edu/umiacs/fmm/Potential ] @A BC'Source and target points generated. (N= %D, p= E) Using clustering parameter q: F (auto-generated) ]C G^  HIedu/umiacs/fmm/gui/FmmDemojavax/swing/JFramejava/awt/ToolkitgetDefaultToolkit()Ljava/awt/Toolkit;java/lang/ObjectgetClass()Ljava/lang/Class;java/lang/Class getResource"(Ljava/lang/String;)Ljava/net/URL;getImage (Ljava/net/URL;)Ljava/awt/Image; appendStatus(Ljava/lang/String;)V(Ljava/awt/Frame;Z)V(Ledu/umiacs/fmm/gui/FmmDemo;)VaddPropertyChangeListener&(Ljava/beans/PropertyChangeListener;)VsetLocationRelativeTo(Ljava/awt/Component;)VaddActionListener"(Ljava/awt/event/ActionListener;)VgetContentPane()Ljava/awt/Container;(II)Vjava/awt/Container setLayout(Ljava/awt/LayoutManager;)VsetDefaultCloseOperation(I)VsetTitle setIconImage(Ljava/awt/Image;)V(Ljava/lang/String;II)VsetFont(Ljava/awt/Font;)VsetText setBorder(Ljavax/swing/border/Border;)Vadd)(Ljava/awt/Component;Ljava/lang/Object;)V(Ljava/awt/Container;I)V(IIII)V(Ljava/awt/Insets;)VsetPreferredSize(Ljava/awt/Dimension;)V*(Ljava/awt/Component;)Ljava/awt/Component;(Ljava/net/URL;)VsetIcon(Ljavax/swing/Icon;)VsetActionCommand0(Ljavax/swing/JMenuItem;)Ljavax/swing/JMenuItem; setMnemonic(C)VsetToolTipText((Ljavax/swing/JMenu;)Ljavax/swing/JMenu; setJMenuBar(Ljavax/swing/JMenuBar;)Vpack getSources()Ljava/util/Vector; getTargetsgetS()Ijava/util/VectorsizesetU([D)V doCommand getBtnStart()Ljavax/swing/JButton;javax/swing/JButton setEnabled(Z)Vedu/umiacs/fmm/gui/Constants ICON_PLAYLjavax/swing/ImageIcon; getBtnStop getBtnCForest getBtnDtreeedu/umiacs/fmm/FmmTreegetX setSource(Ljava/util/Vector;)VgetY setTargetgetU()[D getSource getTargetgetClusterNumberiterator()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object; doubleValue()D setVisiblejava/awt/event/ActionEventgetActionCommand()Ljava/lang/String;java/beans/PropertyChangeEventgetPropertyNamejava/lang/Stringequals(Ljava/lang/Object;)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder; getNewValuetoString longValue()JintValue getPlayIcon()Ljavax/swing/ImageIcon;getBtnFF getBtnFFEnd getPotential()Ledu/umiacs/fmm/Potential;getP(D)Ljava/lang/StringBuilder;(J)Ljava/lang/StringBuilder;setBtnCForestEnabledsetBtnDTreeEnabledjava/lang/Systemexitjava/awt/EventQueue invokeLater(Ljava/lang/Runnable;)VgetNjava/lang/Mathrandom(DD)Vbuildc(I[Ledu/umiacs/fmm/Point;[Ledu/umiacs/fmm/Point;Ledu/umiacs/fmm/Potential;)Ledu/umiacs/fmm/FmmTree; setFmmTree(Ledu/umiacs/fmm/FmmTree;)V(I)Ljava/lang/StringBuilder;getTruncationNumbergetQgenUtoArray(([Ljava/lang/Object;)[Ljava/lang/Object;!+,-./0123456789:;:<=>=?=@=A=BCDEFGHIJKLMNOPQRSTUVUWUXUYUZU[\"]^_X* * * * * * * * * ***** `: $).AENWa Xbcd^_ 4*!Y"#*$Y*%&*'Y*()**Y+,*-Y./*0Y12*3Y45*6Y78*9Y:;*Y?@*AYBC*DYEF*DYEG*DYEH*IYJK*DYEL*AYBM*DYEN*#OY*PQ*&*R*)*S*,*T*,UY*VW*/XY*YZ*[\Y]^*_*`a**b*2cYd ef*2gh*2iYjk*[*2lm*5nY*op*[*5qm*8rY*8st*8uYvYwxy*;zY{|*;}Y*~*8*;W*zY{*8*W*[*8m*C*CcYd e*FcYd e*FY**F*F*FY**C*FW*GcYd e*GY**G*G*GY**C*GW*HcYd e*HY**HS*H*HY**C*HW*C*KW*LcYd e*LY**LE*L*L*LY**C*LW*@*CW*M*McYd e*NcYd e*NY**N*NY**M*NW*@*MW**@*`NS !%"0#;$F%Q&\'g(r)}*+,-./0139:;< BH*J/K5L=MPNYOgPtRXZ\]^dfg ik!l4mGn^ogppqwyz{|} -9EXox'/3a 4bcef_S**/*/*/` abcghij_|+, * *+,--+*#*-*;*5*5*5*5*5*5*5*;*,*¶*,*Ķ*,*#ƶDZ`J&2;FS_kva4bcklmlnlopq krmrnstuvf_Y!**,*,*,*)˷`  a!bc!ghwx_5+M>+:϶9,R,` (03a>(yS$z{5bc5nl.|} ,~pq 5nstf_A *,ѱ` a bc ghf_[**;+Ҷ*5`abcghf_A *)ӱ` a bc ghf_=*Ա` abcgh^_7 *&ձ` a  bc_>*+ֱ` abcg_p+ضٙC* +*Yܶ+޶߶ݶ*+϶е+ٙ*++ٙ*+t+ٙ*+W+ٙ*+:+ٙ*++ٙ*+`J   8 ; I Xfuabcg_>*+` abcg_+ +ٙ+=O*5*5*5*5*5*5*_*>*i*iia*a7*i*iia*a7**Y*ݶ*Y***ݶ*Y***ݶ**YdS*5*5*5*5*5*5**H+ٙ*+޶߶*+ٙ*5*5*;`#!"#'$.%?&J'U(`)k*t+,-./0 1d2m3w4z56789:;<>?@BCDJa>pUU'pbcgf_=` MNabcghf_8+M,ٙ*,ٙ*)ӧ~,ٙ*# Y* Q*# \, ٙO, ٙB,ٙ*,ѧ.,ٙ*/,ٙ ,ٙ*;,`NRSTVW#Y+Z7[F`MaZbgcsd{efgilna bcgh _9 Y` t ya  ^_P*)L*)M>*))+YS,YS*+,`" #3CIOa*1~pPbc E:_P*+,*)˷`  a bc_:ȻY:*+,*;***Y+*) !ݶ*Y"Y#ݶY*$%ݶݶ*!Y*&#*#'`&  "+]a4bcp _l*+,*)˷`  a bcllqrrt_x**+(*,(` a*bcllopqrrt_R +)*`a bc lq  rt_:*+ `ac_:*+ `ach_:*+`ach_:*+`ach_:*+`ac_:*+`ach_:*+`ach_:*+`ach_:*+`ach_:*+`achb OUXn} PK f 3&襜)edu/umiacs/fmm/gui/LayerAnimation$1.class1+     !"#this$0#Ledu/umiacs/fmm/gui/LayerAnimation;&(Ledu/umiacs/fmm/gui/LayerAnimation;)VCodeLineNumberTableLocalVariableTablethis InnerClasses%Ledu/umiacs/fmm/gui/LayerAnimation$1;propertyChange#(Ljava/beans/PropertyChangeEvent;)Vevt Ljava/beans/PropertyChangeEvent; SourceFileLayerAnimation.javaEnclosingMethod$ %&  & '() *#edu/umiacs/fmm/gui/LayerAnimation$1java/lang/Object!java/beans/PropertyChangeListener!edu/umiacs/fmm/gui/LayerAnimation initFields()V access$000G(Ledu/umiacs/fmm/gui/LayerAnimation;)Ljava/beans/PropertyChangeSupport; java/beans/PropertyChangeSupportfirePropertyChange    4 *+* 7   D *+ : ;   PK f 3)"##'edu/umiacs/fmm/gui/LayerAnimation.class1 a b a a  a a a a a a  a    a a   a  a a a a b      % %    ,   % 2 2 4 %!=L a"# a$ : :% :& :' %( :) *+ :, :- :. 2/ 20 21 22 23 24 25 26 78 %9: P P;?ə a< a= %> %? 7@ 7A B C D E  FGHI proportionIcLjava/awt/Color;highlightBoxesLjava/util/Vector; Signature(Ljava/util/Vector;lines1Ljava/util/Vector;circles3Ljava/util/Vector; direction currLevelfmmTreeLedu/umiacs/fmm/FmmTree;aw$Ledu/umiacs/fmm/gui/AnimationWorker;statuspropertyChangeSupport"Ljava/beans/PropertyChangeSupport;()VCodeLineNumberTableLocalVariableTablethis#Ledu/umiacs/fmm/gui/LayerAnimation;(Ledu/umiacs/fmm/FmmTree;)V initFieldssetAnimationWorkerCommand(I)Vcommand getDirection()I setDirectiond getCurrLevel setCurrLevellgetHighlightBoxes()Ljava/util/Vector;setHighlightBoxes(Ljava/util/Vector;)VLocalVariableTypeTable+(Ljava/util/Vector;)VresetHighlightBoxesaddHighlightBox(Ledu/umiacs/fmm/Box;)VbLedu/umiacs/fmm/Box;addHighlightBoxesgetLinessetLines4(Ljava/util/Vector;)V resetLinesaddLine (Ledu/umiacs/fmm/gui/AnimLine;)VLedu/umiacs/fmm/gui/AnimLine; getCircles setCircles6(Ljava/util/Vector;)V resetCircles addCircle"(Ledu/umiacs/fmm/gui/AnimCircle;)VLedu/umiacs/fmm/gui/AnimCircle; getProportion setProportionpgetHighlightColor()Ljava/awt/Color;setHighlightColor(Ljava/awt/Color;)V getFmmTree()Ledu/umiacs/fmm/FmmTree; setFmmTreeinitComponentspaintComponent(Ljava/awt/Graphics;)VcornerLjava/awt/Point;widthilinecirclegLjava/awt/Graphics;g2Ljava/awt/Graphics2D; drawCircle7(Ljava/awt/Graphics2D;Ledu/umiacs/fmm/gui/AnimCircle;)V drawArrow6(Ljava/awt/Graphics2D;Ledu/umiacs/fmm/gui/AnimLine;F)VtmpPolyLjava/awt/Polygon;i1i2g2dstrokeFfromXDtoXfromYtoY fromXScaled toXScaled fromYScaled toYScaledaDiryCor(ID)IlendirxCorrunstop setInterval(J)VinJ getInterval()JaddPropertyChangeListener&(Ljava/beans/PropertyChangeListener;)V#Ljava/beans/PropertyChangeListener;removePropertyChangeListener access$000G(Ledu/umiacs/fmm/gui/LayerAnimation;)Ljava/beans/PropertyChangeSupport;x0 SourceFileLayerAnimation.java wx yz deJ Kg fg java/beans/PropertyChangeSupport yL rs z zjava/util/Vector li hi ni"edu/umiacs/fmm/gui/AnimationWorker yM tu#edu/umiacs/fmm/gui/LayerAnimation$1 InnerClasses N pe qe OL PQ RSjava/awt/Dimension yS TU Vzjava/awt/BorderLayout WX YZ java/awt/Graphics2D[ \_ `a bc de f ghedu/umiacs/fmm/Boxi jk lmn oe pe qredu/umiacs/fmm/gui/AnimLine sjava/awt/BasicStroke t yu vw edu/umiacs/fmm/gui/AnimCircle xy zy { |r }~ g y y  m m m m y y y y  rjava/awt/Polygon S     z z !edu/umiacs/fmm/gui/LayerAnimationjavax/swing/JPaneljava/io/Serializableedu/umiacs/fmm/gui/ConstantsANIM_COLOR_HIGHLIGHT(Ljava/lang/Object;)V&(Ledu/umiacs/fmm/gui/LayerAnimation;)V setCommand addElementaddAll(Ljava/util/Collection;)ZsetSize(II)VsetPreferredSize(Ljava/awt/Dimension;)Vrepaint setLayout(Ljava/awt/LayoutManager;)V setOpaque(Z)Vjava/awt/RenderingHintsKEY_ANTIALIASINGKeyLjava/awt/RenderingHints$Key;VALUE_ANTIALIAS_ONLjava/lang/Object;setRenderingHint2(Ljava/awt/RenderingHints$Key;Ljava/lang/Object;)VsetPaint(Ljava/awt/Paint;)Vsize elementAt(I)Ljava/lang/Object;edu/umiacs/fmm/gui/UtilgetBoxNECorner'(Ledu/umiacs/fmm/Box;I)Ljava/awt/Point;getSize()Djava/awt/PointxyfillRect(IIII)VgetColorgetWidth(F)V setStroke(Ljava/awt/Stroke;)VgetOuterCornerXScaled(I)IgetOuterCornerYScaledgetRfillOvalisFilled()Zjava/awt/ColorWHITEgetInnerCornerXScaledgetInnerCornerYScaledgetRRgetFromXgetToXgetFromYgetToYgetFromXScaled getToXScaledgetFromYScaled getToYScaledjava/lang/Mathatan2(DD)DdrawLineaddPoint drawPolygon(Ljava/awt/Polygon;)V fillPolygoncos(D)Dsingojava/awt/RenderingHints$Key!abc defghijklijmnijopeqerstuvewx(yz{r,****Y*** * |"% &#''(+)} ,~y{|,****Y**+* * |"* +#,'-+.},~,rsz{{=* Y * Y * Y *Y**Y*|1 23!5-6<=} =~{A *| @A} ~ e{/*|C} ~{>*| FG}~e{/*|I} ~{>*| LM}~e{/*|O} ~{P*+| RS}~hi hkjz{: * Y | U V}  ~{A *+| XY} ~ {T *+W| [ \} ~ i  kj{/* |^} ~{P*+ | ab}~li lmjz{: * Y | d e}  ~{A * +| gh} ~ {/*|j} ~{P*+| mn}~ni nojz{: * Y | p q}  ~{A *+| st} ~ f{/*|v} ~{a***Y*|yz {|}}~e{/*|} ~{>*+| }~fg{/*|} ~{>*+| }~rsz{X"* Y!"*#*Y| !} "~{*+$+%M,&'(,*)>**G*+,:*-:.*k6,/0d``1>* *9* +2:,3),4Y567*,89>***+::*,;ޱ|V )6AOgmz}p 61A&OeOe#oAe%e~ {W+,<)+,*=,*>,?h,?h@,A*+B)+,*C,*D,Eh,Eh@|(/6V} W~WW{! ,F9,G9,H9,I9 ,*J6 ,*K6 ,*L6,*M6gw cN9+  O  +4Y 67PYQ: % j`6%`6 R ScU`ScV`R U`V`R SgU`SgV`R R+W+X|^ ",6@P\jv}eye ~     "e ,e 6e@eP {= 'Yk|} e  {= 'Zk|} e z{6*[| } ~z{> *\* | }  ~{A *]| } ~ {2*^|} ~{A *+_|