File:  [LON-CAPA] / loncom / html / adm / dragmath / applet / classes / jep.jar
Revision 1.1: download - view: text, annotated - select for diffs
Fri May 30 16:04:40 2008 UTC (16 years, 3 months ago) by www
Branches: MAIN
CVS tags: HEAD
Bug #5713: Dragmath

PKM7META-INF/MANIFEST.MFYɎڲT3xO
c%`w66Lc_Ws΅L4Z;;bZ8UłeOtH|~tȢxoo"/L
ꭋͅo@{ M7ĩӏ:TBPC~|]o7{eQ
U
Ͻ?}{Kϟ?}$~{+̓&_
P
}I6_&WyE
%I	<m;D"@R<klUB76NA^-A=K97	IyO2Rk%l$\
&ٱX+x$Ԋ*)/0!18kXfqfRm/Ѣ&_xW*"n9I'E9y
@MEZM38{P*|8	yHs	u$u)o&PVd_٨kV'qVNϞťulPxw*3`['3:P&Io0ב5kd[oE>>ZPzV><'L4+j3r'e0j͗p%֫$q
KJ5>RbW{v7Y)tk8:qb7kQ%qh; 9]EC'r-O3O]Rq y(0A™;]yx	h;suD"|.!|
W;	Y*\(e7t>ȱ+G[vlT/HMMq0Jrh-l7XEehuk=asH<K3CܙA\kG;BQJ{81}T6n.~0|tA	}L?B܉l8zќM?47r2+*sG4Arn>-/HRTuKgY麃To=	j",AujWN~<O!.}"o[gq/>+3u#N٬X' I:S'=XJMW
wuB5pȺ%8@vT/Ǣ@7E&#-$n_4{MM}AkG=Y嬲k*2 pc|
L$LINW,Bˬxn>+kY(BPuMBثH=]!oS7F*4!?`t~5=<!qXR
?$).lHlu`yϦ\T`+KLNXD8`e&(bF:]AT*}b.,؁1^7ZYk+!yFx)tʙ/ŜbX]fp3_kTg>IA93x6SX6FWP+W<2Wc2Is!'~2Hخ%'STXvbY햕/Uf+[y!_?>Lt\EԞ+>F/&oZ:o`!xuXs;ϫhc~_Z1#],cƅhG{OSvjpFu2yA
aT<5odZR݅e\Pۘ|9/U=]1M<
DtU[߶	A>,lq{)_>[2mu*2;YP3tX;bXyO;D^4nh]͑=ktrD2U1'5YR-1?[ރنސE$FR4=YsC+| i
P3e+F!{lE|O%"'
!chTGz)7~*gksm	UI|dqsUV	fYJ6o\AyGF0hYw^,Sմ#dE"AÇC.}L0S>a#ϝ
GȨ|1Az]B0-O NlbH;$Ww>dn౿Z~%5=YgoTH]-)Oew8=bhse]Rxg@΢w&%$	IdilEe*z3Qu&(<pELUS}C]pZ=@	
!)M/l,tU4MZ`@-xBĖHco2	خF`v88{P'r2^A.:DN7RX`>z+HۃF50T`ƈ%4iƂ=)	!rH|7wXuW/"|<8s.m"\}x4"T?zC׻(!=՞N>K^.uaE?o<4fk
k/(kic6W+k6(_W0|a,DKt/ǭ׎_0qߔJ97l>;jyKU/윀,4e1\-	K`cz>GJm.23ξ潵w2dihGZ5CYn0_2~mݪUk<F}kD-̡1ߡ=TmsVǦjښms;)Gq7n	),1LyAD0yUtP&|x(:8NvAbtO^%zq̼U-R2uNy;>G='{kʄߩv[r;PK+ PKM7META-INF/SIGNFILE.SFYңV;P/CQrD/@;f!1^f=\v+z87ɛyzvbfU',?Yg/CV~dAퟟ``.(?ƀ3==|//?)Yvnh?e志 J!m|P.}&nToS"SRL	=z?= Ϲ{?0秣4^e^%kdLq'&TEE\v'Ğ9/Ĩr"w[P RX.
i*BĞr7ή
F[=)*IIL+UXt9ng.EV+)4z,+žAapg4k㣛ZDPo0.gXYQZE"۳^g$^Ejps6}ƀʶ{g]ԆzOgwShKYP1\ßgm_-\;zZ~y<q8%X=)B7aq5aV4Ust2soi3n)nA~wIYBrMӃ4vfi
Ͻ_5/cϽ{q.=
 ٣/lWy79.۾JoƐ[cCg63\ZnC_nT"i-D;ppx P<_}	k[]BE3.L+ws1-9ѳ(̥ӾvQu
~FRKAɧuHSz̅	㹊Lၠ7#lu2f
zX:/Ĥ\INfk,I+uza!Ʃ0Ch;m]Vͫpu-i$X.i-p#o>&wu>9-wiU)q`vdQ|&^kObmHlԁ
3;c.*h dT}؞$duU%٤]*e}McL.wWk71-H:z]"@(e	y7ILLf5ʛ,(D<Gu}Āw͋(c8;2`W/GX
`?\u7'GBFvLOj[_g[O z
EMW
yUYƐw*:\xO0,>:_-ܺF\oм#ש'\>Ⱥ{mBUG2CO1zNZcO)?]UXB0
C_/JU.A<*λGO	C-[&sY
)%4Z]7%Iޑ"zOc0RӣDxQ
^ꗯ#lxpCxrx3?ȗ4;]R=hz~|K/EkΝGҪD0ŮoKc-Bn71>sÆ{V2dĈpFi:ԇ{}gkiɜD6妧gh8}kl|6ct2:S8>ȼzIz|K$`L1-iRM!,0e2<gAXo_bZ75~hIFcraIos<
J̍܉&cBsj냦q7N#aØ5+^Gf}ϙud=cj.ꆥ´:?r`iԨxŌ\=
n̺k)`/;ƪ΅CorZ?ʸPʆF<>cz/
ҌWBv&#Htn2['yMa\6t=شR^^1NaDn[pC/r[-5YyIP%ίl2 g)(͚8dymaAV%YV|5(qGQońHپ?2n!	\~?)^Ào(TuӔƲv*?\Z"tMx`ggK3wպܑg>:b?~o[V'Dk)JDXiV+&]Q;T{9Lm@`}gEPߘ.4?&8b>d6l5oG\b=2Zخ5Ǜ}
IYEUr/<E扺8aِ,*Ca<(`)K6u>B\Y!i6Sc|$-mth؄;92LGu>h,w[v0%	ϣ-mYf'iHs6,Yꍥ4/W0noFg#4'y_}16DwdTO$vGoHEʕ=Z0pe!(%_lC+>C0^OE`B0'{Zr-PdC\sŕAV,~aptG˂)
Mt5ʊwIF]v
5ѯdo!PW3t>ѥ3)9;:A\n {<
5})ϭ9kx`$_0ܼu&^S齚{Jٔ,{Zʲzxr:xr |6g?vɜN-חf+kelr7l%gO~kvxSJp]A-q7$ʗ&qe4)IA$0
4*/A
PAf"Na3N6~<WG۪	A8}­b\:xc˽Y}壈,'EQ"]";rkiݏxOl]$PTIwPK— PKM7META-INF/SIGNFILE.DSA3hbƩiAKAK+#!'63+7B&|&l \i#P
;P9f`CY؄B
@aм<;B$%QRR`_XW^RЇō0K@$,,Z^Zi 'k`n`id`hndd`%kBMہXЌ@<Sc#FR!͠^s<yMp{{r
2]cGF.og\on5={f%`P:{ۏI~l2Q~.;d"%6[uډ׵Rb{у8(~Qe3&lZCWӾ?\zm{VǘY9e_V~p۲7F]aX
19zN,{h#VRӫ`:9J'-hwR%йè&u5T0X;!g7<B9}G!wW!ôS/s5.2]'ӈ>ZΝ,yiH)_ə])V|ƍ3W&j~SCi;~}#={o!Qr>eˆ\o6zr6&ehlai뵟iva'\iиpOhARn*+ӡ~_M(Kȁ_S&շ~m8x}PKE$PK
#|7	META-INF/PK
"|7org/PK
"|7
org/nfunk/PK
#|7org/nfunk/jep/PK
#|7org/nfunk/jep/evaluation/PK
#|7org/nfunk/jep/function/PK
#|7org/nfunk/jep/type/PK
"|7/org/nfunk/jep/ASTConstant.class0B

,

-	./01
23
4
5
6
789valueLjava/lang/Object;<init>(I)VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/ASTConstant;idI(Lorg/nfunk/jep/Parser;I)VpLorg/nfunk/jep/Parser;setValue(Ljava/lang/Object;)VvalgetValue()Ljava/lang/Object;	jjtAcceptC(Lorg/nfunk/jep/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;visitorLorg/nfunk/jep/ParserVisitor;data
Exceptions:toString()Ljava/lang/String;
SourceFileASTConstant.java;<=java/lang/StringBuffer>
Constant: ?@ ?A()org/nfunk/jep/ASTConstantorg/nfunk/jep/SimpleNodeorg/nfunk/jep/ParseExceptionorg/nfunk/jep/ParserVisitorvisitA(Lorg/nfunk/jep/ASTConstant;Ljava/lang/Object;)Ljava/lang/Object;()Vappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;,(Ljava/lang/Object;)Ljava/lang/StringBuffer;!
>*
I*+
 >*+
 /*!"G	+*,% 		#$	%&'()AY*	
)*+PK
"|7vd==org/nfunk/jep/ASTFunNode.class0W
=	>
?@A	B	C
DE
DFG
	HI
	JK
	LMNpfmc,Lorg/nfunk/jep/function/PostfixMathCommandI;nameLjava/lang/String;opIDLorg/nfunk/jep/Operator;<init>(I)VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/ASTFunNode;idI(Lorg/nfunk/jep/Parser;I)VpLorg/nfunk/jep/Parser;	jjtAcceptC(Lorg/nfunk/jep/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;visitorLorg/nfunk/jep/ParserVisitor;dataLjava/lang/Object;
ExceptionsOsetFunctionA(Ljava/lang/String;Lorg/nfunk/jep/function/PostfixMathCommandI;)Vname_inpfmc_insetOperator(Lorg/nfunk/jep/Operator;)VoptoString()Ljava/lang/String;getPFMC.()Lorg/nfunk/jep/function/PostfixMathCommandI;getNamegetOperator()Lorg/nfunk/jep/Operator;
isOperator()Z
SourceFileASTFunNode.java PQRS4563java/lang/StringBufferT
Function "UV"23org/nfunk/jep/ASTFunNodeorg/nfunk/jep/SimpleNodeorg/nfunk/jep/ParseExceptionorg/nfunk/jep/ParserVisitorvisit@(Lorg/nfunk/jep/ASTFunNode;Ljava/lang/Object;)Ljava/lang/Object;org/nfunk/jep/Operator()Vappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;!
G**"
# R*+*)* !"#$G	+*,1 		%&	'()*+,Q*+*,9:
; -./0V*+*+*+BC
DE123F	Y
*
K45/*R63/*Y78/*`9:7
*g
;<PK
"|7ȐBkkorg/nfunk/jep/ASTStart.class0&

 !<init>(I)VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/ASTStart;idI(Lorg/nfunk/jep/Parser;I)VpLorg/nfunk/jep/Parser;	jjtAcceptC(Lorg/nfunk/jep/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;visitorLorg/nfunk/jep/ParserVisitor;dataLjava/lang/Object;
Exceptions"
SourceFile
ASTStart.java#$%org/nfunk/jep/ASTStartorg/nfunk/jep/SimpleNodeorg/nfunk/jep/ParseExceptionorg/nfunk/jep/ParserVisitorvisit>(Lorg/nfunk/jep/ASTStart;Ljava/lang/Object;)Ljava/lang/Object;!>*	


I*+	

 
G	+*,	
 			PK
"|7T33org/nfunk/jep/ASTVarNode.class0H
1	
2
345
678
9:
;

7<
=>?varLorg/nfunk/jep/Variable;<init>(I)VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/ASTVarNode;idI(Lorg/nfunk/jep/Parser;I)VpLorg/nfunk/jep/Parser;	jjtAcceptC(Lorg/nfunk/jep/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;visitorLorg/nfunk/jep/ParserVisitor;dataLjava/lang/Object;
Exceptions@setVar(Lorg/nfunk/jep/Variable;)VvariablegetVar()Lorg/nfunk/jep/Variable;getName()Ljava/lang/String;toStringtempLjava/lang/String;
SourceFileASTVarNode.javaABCD*+java/lang/StringBufferEVariable: "FG",+org/nfunk/jep/ASTVarNodeorg/nfunk/jep/SimpleNodeorg/nfunk/jep/ParseExceptionorg/nfunk/jep/ParserVisitorvisit@(Lorg/nfunk/jep/ASTVarNode;Ljava/lang/Object;)Ljava/lang/Object;org/nfunk/jep/Variable()Vappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;!
G**
I*+
 G	+*,# 		 	!"#$%&:*+-'()/*.*+2*5,+VY	*
		L+
=?-./0PK
#|7%ʧuorg/nfunk/jep/EvaluatorI.class0	
eval((Lorg/nfunk/jep/Node;)Ljava/lang/Object;
Exceptions
SourceFileEvaluatorI.javaorg/nfunk/jep/EvaluatorIjava/lang/Objectorg/nfunk/jep/ParseExceptionPK
#|7/ 	s,,$org/nfunk/jep/EvaluatorVisitor.class0
-g	,h	,ij
g	,klm
n
opq
rs
tu
gv
w
-x
yz
{|
}~
}z

}
}

z

stackLjava/util/Stack;symTabLorg/nfunk/jep/SymbolTable;debugZ
ConstantValuetrapNullValues<init>()VCodeLineNumberTableLocalVariableTablethis Lorg/nfunk/jep/EvaluatorVisitor;(Lorg/nfunk/jep/SymbolTable;)VstgetValueC(Lorg/nfunk/jep/Node;Lorg/nfunk/jep/SymbolTable;)Ljava/lang/Object;topNodeLorg/nfunk/jep/Node;	symTab_in
Exceptionseval((Lorg/nfunk/jep/Node;)Ljava/lang/Object;nodevisit@(Lorg/nfunk/jep/SimpleNode;Ljava/lang/Object;)Ljava/lang/Object;Lorg/nfunk/jep/SimpleNode;dataLjava/lang/Object;>(Lorg/nfunk/jep/ASTStart;Ljava/lang/Object;)Ljava/lang/Object;Lorg/nfunk/jep/ASTStart;@(Lorg/nfunk/jep/ASTFunNode;Ljava/lang/Object;)Ljava/lang/Object;valLorg/nfunk/jep/ASTFunNode;pfmc,Lorg/nfunk/jep/function/PostfixMathCommandI;@(Lorg/nfunk/jep/ASTVarNode;Ljava/lang/Object;)Ljava/lang/Object;messageLjava/lang/String;Lorg/nfunk/jep/ASTVarNode;varLorg/nfunk/jep/Variable;tempA(Lorg/nfunk/jep/ASTConstant;Ljava/lang/Object;)Ljava/lang/Object;Lorg/nfunk/jep/ASTConstant;isTrapNullValues()ZsetTrapNullValues(Z)Vb
SourceFileEvaluatorVisitor.java9:8523java/util/Stack01org/nfunk/jep/ParseExceptiontopNode parameter is null9:Stack corruptedjava/lang/StringBufferNo visit method for (Start node encountered during evaluation"No function class associated with )org/nfunk/jep/function/SpecialEvaluationI*org/nfunk/jep/function/CallbackEvaluationICould not evaluate : .the variable was not found in the symbol tableBvariable not setorg/nfunk/jep/EvaluatorVisitorjava/lang/Objectorg/nfunk/jep/ParserVisitororg/nfunk/jep/EvaluatorI(Ljava/lang/String;)VremoveAllElementsorg/nfunk/jep/Node	jjtAcceptC(Lorg/nfunk/jep/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;size()Ipop()Ljava/lang/Object;append,(Ljava/lang/String;)Ljava/lang/StringBuffer;getClass()Ljava/lang/Class;java/lang/ClassgetName()Ljava/lang/String;toStringorg/nfunk/jep/ASTFunNodegetPFMC.()Lorg/nfunk/jep/function/PostfixMathCommandI;evaluate(Lorg/nfunk/jep/Node;Ljava/lang/Object;Lorg/nfunk/jep/ParserVisitor;Ljava/util/Stack;Lorg/nfunk/jep/SymbolTable;)Ljava/lang/Object;B(Lorg/nfunk/jep/Node;Lorg/nfunk/jep/EvaluatorI;)Ljava/lang/Object;push&(Ljava/lang/Object;)Ljava/lang/Object;childrenAccept*org/nfunk/jep/function/PostfixMathCommandIgetNumberOfParametersjjtGetNumChildrensetCurNumberOfParameters(I)Vrun(Ljava/util/Stack;)Vorg/nfunk/jep/ASTVarNodegetVar()Lorg/nfunk/jep/Variable;org/nfunk/jep/Variableorg/nfunk/jep/ASTConstant!,-./01234567859:;T****Y<41	678=>?9@;^***+*Y<:1	<=>=>?A3BC;@+
Y	*,*
+*W*
Y
	*<"YZ_af#q.r8v= @>?@DE@F3GHI;I+*W*<
	=>?JEGKL;_!YY+	<= !>?!JM!NOGKP;H
Y	<= 
>?
JQ
NOGKR;++N-!YY+	--+,***--+*:*W+*,M- 
-+!"-*#,<B-4IP]gjq{=4]
SO>?JTNOUVGKW;#+$N-<Y%+&':YY(	-):*A<Y%+&':YY*	*W,<*
	&BHTq=H&XYqXY>?JZNO[\HQ]OGK^;P*++W,<
= >?J_NO`a;/*<=>?bc;>*<
'(=>?d5efPK
"|7^!org/nfunk/jep/FunctionTable.class0.
	%
	&'(
)
	*
+,-serialVersionUIDJ
ConstantValueqcQ<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/FunctionTable;putR(Ljava/lang/String;Lorg/nfunk/jep/function/PostfixMathCommandI;)Ljava/lang/Object;sLjava/lang/String;pfmc,Lorg/nfunk/jep/function/PostfixMathCommandI;8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;oLjava/lang/Object;pget@(Ljava/lang/String;)Lorg/nfunk/jep/function/PostfixMathCommandI;&(Ljava/lang/Object;)Ljava/lang/Object;
SourceFileFunctionTable.javajava/lang/String*org/nfunk/jep/function/PostfixMathCommandI " !org/nfunk/jep/FunctionTablejava/util/Hashtable!	

3*
E*+, K
*+,) 


 !=	*+1		 "=	*+<		#$PK
"|7**org/nfunk/jep/JEP.class0
&	'	(	)	*	+,
&	-.

&	/
0
12
&	34
5
6	789:
;
<	=
>	?	@AB
 &
CD
#&EF
&&
#GHI
*&JK
-&LM
0&NO
3&PQ
6&RS
9&TU
<&VW
?&XY
B&Z[
E&\]
H&^_
K&`a
N&bc
Q&de
T&fg
W&hi
Z&jk
]&lm
`&no@	!TD-
cp
q@
Wir
lst
o&u
r&vw
u&x
y
z
{
|}
~
#z





&

;


l
l

&








debugZ
ConstantValuetraverseallowUndeclaredallowAssignmentimplicitMulsymTabLorg/nfunk/jep/SymbolTable;funTabLorg/nfunk/jep/FunctionTable;	errorListLjava/util/Vector;parserLorg/nfunk/jep/Parser;topNodeLorg/nfunk/jep/Node;ev Lorg/nfunk/jep/EvaluatorVisitor;
numberFactory"Lorg/nfunk/jep/type/NumberFactory;opSetLorg/nfunk/jep/OperatorSet;<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/JEP;((ZZZLorg/nfunk/jep/type/NumberFactory;)Vtraverse_inallowUndeclared_inimplicitMul_innumberFactory_in(Lorg/nfunk/jep/JEP;)Vj
initSymTab
initFunTabaddStandardFunctionsaddStandardConstants
addComplexaddFunctionA(Ljava/lang/String;Lorg/nfunk/jep/function/PostfixMathCommandI;)VfunctionNameLjava/lang/String;function,Lorg/nfunk/jep/function/PostfixMathCommandI;addConstant'(Ljava/lang/String;Ljava/lang/Object;)VnamevalueLjava/lang/Object;addVariable'(Ljava/lang/String;D)Ljava/lang/Double;DobjectLjava/lang/Double;2(Ljava/lang/String;DD)Lorg/nfunk/jep/type/Complex;reimLorg/nfunk/jep/type/Complex;removeVariable&(Ljava/lang/String;)Ljava/lang/Object;getVarValuesetVarValuevalgetVar,(Ljava/lang/String;)Lorg/nfunk/jep/Variable;removeFunctionsetTraverse(Z)VgetTraverse()ZsetImplicitMulgetImplicitMulsetAllowUndeclaredgetAllowUndeclaredsetAllowAssignmentgetAllowAssignmentparseExpression((Ljava/lang/String;)Lorg/nfunk/jep/Node;eLjava/lang/Throwable;Lorg/nfunk/jep/ParseException;vLorg/nfunk/jep/ParserVisitor;
expression_inreaderLjava/io/Reader;parse
expressionsrLjava/io/StringReader;node
Exceptionsevaluate((Lorg/nfunk/jep/Node;)Ljava/lang/Object;getValue()DcgetComplexValue()Lorg/nfunk/jep/type/Complex;getValueAsObject()Ljava/lang/Object;resultLjava/lang/RuntimeException;hasErrorgetErrorInfo()Ljava/lang/String;iIstr
getTopNode()Lorg/nfunk/jep/Node;getSymbolTable()Lorg/nfunk/jep/SymbolTable;getFunctionTable()Lorg/nfunk/jep/FunctionTable;getEvaluatorVisitor()Lorg/nfunk/jep/EvaluatorI;getNumberFactory$()Lorg/nfunk/jep/type/NumberFactory;getOperatorSet()Lorg/nfunk/jep/OperatorSet;	getParser()Lorg/nfunk/jep/Parser;
SourceFileJEP.java&org/nfunk/jep/type/DoubleNumberFactoryorg/nfunk/jep/OperatorSetjava/util/Vectororg/nfunk/jep/EvaluatorVisitororg/nfunk/jep/Parserjava/io/StringReaderorg/nfunk/jep/SymbolTableorg/nfunk/jep/VariableFactoryorg/nfunk/jep/FunctionTablesinorg/nfunk/jep/function/Sinecosorg/nfunk/jep/function/Cosinetanorg/nfunk/jep/function/Tangentasinorg/nfunk/jep/function/ArcSineacos org/nfunk/jep/function/ArcCosineatan!org/nfunk/jep/function/ArcTangentatan2"org/nfunk/jep/function/ArcTangent2sinhorg/nfunk/jep/function/SineHcoshorg/nfunk/jep/function/CosineHtanhorg/nfunk/jep/function/TanHasinhorg/nfunk/jep/function/ArcSineHacosh!org/nfunk/jep/function/ArcCosineHatanhorg/nfunk/jep/function/ArcTanHlog org/nfunk/jep/function/Logarithmln'org/nfunk/jep/function/NaturalLogarithmexporg/nfunk/jep/function/Exppoworg/nfunk/jep/function/Powersqrt!org/nfunk/jep/function/SquareRootabsorg/nfunk/jep/function/Absmodorg/nfunk/jep/function/Moduluspijava/lang/Doubleorg/nfunk/jep/type/Complexorg/nfunk/jep/function/Real org/nfunk/jep/function/Imaginaryargorg/nfunk/jep/function/Argcmod
java/lang/Throwableorg/nfunk/jep/ParseExceptionSyntax errororg/nfunk/jep/ParserDumpVisitor
java/lang/Numberjava/lang/StringBufferError during evaluation: java/lang/RuntimeException: 
org/nfunk/jep/JEPjava/lang/Object(Lorg/nfunk/jep/SymbolTable;)V(Ljava/lang/String;)V(Ljava/io/Reader;)V"(Lorg/nfunk/jep/VariableFactory;)VputR(Ljava/lang/String;Lorg/nfunk/jep/function/PostfixMathCommandI;)Ljava/lang/Object;(D)V>(Ljava/lang/String;Ljava/lang/Object;)Lorg/nfunk/jep/Variable;(DD)VmakeVarIfNeededremove&(Ljava/lang/Object;)Ljava/lang/Object;org/nfunk/jep/VariableremoveAllElementsparseStream9(Ljava/io/Reader;Lorg/nfunk/jep/JEP;)Lorg/nfunk/jep/Node;
getMessage
addElement(Ljava/lang/Object;)Vorg/nfunk/jep/Node	jjtAcceptC(Lorg/nfunk/jep/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;C(Lorg/nfunk/jep/Node;Lorg/nfunk/jep/SymbolTable;)Ljava/lang/Object;doubleValueappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;toStringgetClass()Ljava/lang/Class;java/lang/ClassgetNameisEmptysize()I	elementAt(I)Ljava/lang/Object;,(Ljava/lang/Object;)Ljava/lang/StringBuffer;!
)j*******Y	*
Y*
**Y*Y**YY:QR	STUVW(X3Y7Z;[F\U]ibjz******Y		*	*
Y*
**Y*Y**YY*WBop	qrstu+w1y<z@{D|O}^~ry4zzzzzb***+*+*+*+*+*+*+*+		*+*+*+:	!)19AIQYabbA*Y Y!"
:*#Y$
U*%&Y'(W*)*Y+(W*,-Y.(W*/0Y1(W*23Y4(W*56Y7(W*89Y:(W*;<Y=(W*>?Y@(W*ABYC(W*DEYF(W*GHYI(W*JKYL(W*MNYO(W*PQYR(W*STYU(W*VWYX(W*YZY[(W*\]Y^(W*_`Ya(WV"3DUfw!2CTU[)*bcYdfgW*hcYifgW()X*klYmgW*noYp(W*qrYs(W*tuYv(W*w]Y^(W$5FWXM*+,(W
	

 M*+,gW

 hcY(f:*+xW
 *
tlY(m:*+xW/014M*+,xW
=
> =	*+yJ		@*+z{TL
*+,|
b	c 


=	*+zl		=	*+}w		>*
/*>*
/*>*
/*>*
/*7Y+M*~**,****N*-*-**/*(YN*-W:**	),iuxF	),-29JSaiuxz>-&zi	/Y+M*~*,*N*Y*-	!-*//	&A
*+*$

B*L++l+lM,,+++&	13
578&9+;6<>? 	B=
0*L++l+l+lY+m"IK	LMNOP.R0+
h****LMM*Y,M*Y,,+		<*
c	fqhj:k<m=odpfr4=)hf:*|@*:L=*(Y+*L+
6<> 0
4@/*/*/*/*/*	 !/*"#/*$%PK
"|7Du		"org/nfunk/jep/JJTParserState.class0i
BC
B	D	E	F	G	H
I
JK
L
MN
O
P
Q
RSTUV
W
XYZnodesLjava/util/Stack;marksspImknode_createdZ<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/JJTParserState;nodeCreated()ZresetrootNode()Lorg/nfunk/jep/Node;pushNode(Lorg/nfunk/jep/Node;)VnLorg/nfunk/jep/Node;popNodepeekNode	nodeArity()IclearNodeScope
openNodeScopecloseNodeScope(Lorg/nfunk/jep/Node;I)Vcnum(Lorg/nfunk/jep/Node;Z)Va	condition
SourceFileJJTParserState.java#$java/util/Stack !"[$\]org/nfunk/jep/Node^_`ajava/lang/Integerb6ca3.#de$f0g:h$/056org/nfunk/jep/JJTParserStatejava/lang/ObjectremoveAllElements	elementAt(I)Ljava/lang/Object;push&(Ljava/lang/Object;)Ljava/lang/Object;pop()Ljava/lang/Object;intValuepeek(I)VjjtOpenjjtSetParentjjtAddChildjjtClose  !"#$%c%**Y*Y**&$'%()*+%/*& '(),$%S*	*	**&&'()*'()-.%6*
&/'()/0%P*+W*Y`&4	56'()123.%`.*YdZ***
*
&;<#>'.()4.%5*&C'()56%4
**d&I'
()70%e%***W**
&NOQ$R'%()%1280%b"*Y*W**+&VWX!Y'"()"129:%A**
Yd=*N-++-+*+*&&	abcd%e0g6h;i@j'*;2A()A12A<9=%fN*>**
Yd>*:+++*+***
*&6
st	uv"w(x0y<{B|G}O`e'4(;2	C>f()f12f?"@APK
"|7A|"org/nfunk/jep/JavaCharStream.class0
	-	-	-	-
	-
	

	-	-	-	-	-


-
-	-
-
-
-
-
-
.
-
-
 
 
-
-
-
-
'
)
)
)
staticFlagZ
ConstantValuebufposIbufsize	available
tokenBegininputStreamLjava/io/Reader;nextCharBuf[CbuffermaxNextCharIndnextCharIndinBuftabSizehexval(C)ICodeLineNumberTableLocalVariableTablecC
Exceptions
setTabSize(I)VthisLorg/nfunk/jep/JavaCharStream;i
getTabSize(I)I
ExpandBuff(Z)VtLjava/lang/Throwable;
wrapAround	newbufferFillBuff()VeLjava/io/IOException;ReadByte()C
BeginTokenAdjustBuffSizereadCharbackSlashCnt	getColumn()I
DeprecatedgetLinegetEndColumn
getEndLinegetBeginColumngetBeginLinebackupamount<init>(Ljava/io/Reader;III)Vdstream	startlinestartcolumn
buffersize(Ljava/io/Reader;II)V(Ljava/io/Reader;)VReInit-(Ljava/io/InputStream;Ljava/lang/String;III)VLjava/io/InputStream;encodingLjava/lang/String;(Ljava/io/InputStream;III)V,(Ljava/io/InputStream;Ljava/lang/String;II)V(Ljava/io/InputStream;II)V*(Ljava/io/InputStream;Ljava/lang/String;)V(Ljava/io/InputStream;)VGetImage()Ljava/lang/String;	GetSuffix(I)[ClenretDone
SourceFileJavaCharStream.javajava/io/IOExceptionjW@454<;7434java/lang/Throwablejava/lang/Error~j64=4>489:;WhJVW?4^[PQ]WZ[AB!Invalid escape character in inputjkrkjava/io/InputStreamReaderj|j{jsjxrsrxjava/lang/Stringjjava/lang/StringBuffer~org/nfunk/jep/JavaCharStreamjava/lang/Object$java/io/UnsupportedEncodingExceptionjava/lang/System	arraycopy*(Ljava/lang/Object;ILjava/lang/Object;II)V
getMessage(Ljava/lang/String;)Vjava/io/Readerread([CII)Iclose([CII)Vappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;toString!-./0123454647489:;<;=4>4?4@4%ABC0f			

YDJ
 "&)
,
/258EFGHIJC:*DIEKLM4NOC9*DJEKLM4PQC,*`MI**,**d*,**d**,*Y**d`+**,**d*,*Y*dN
Y-**Y`Z
*}	D>NRT%U;W@YU]k^p`}fcehijE*RSKLT0U;VWCd*
**Z****dY<*Y*Y`M**Yd*,JKD2o
ps1v8w@zJ{K}L~S]bE -M4LXYdKLHZ[CR *Y`Z****4DE KLH\[CI*6*Yd*Y`Z******4***D&	#(0:?DEIKLH]WCc*
*%****
@*8*
***
"**
d***
D.%-8CRZbEcKL^[C"0*.*Yd*Y`Z****4*Y`Z*
****Y<[U\=*Y`Z*
****Y<[U\3u%~*YdZ
**d"*\N*\*Y<u**x*x*x*Y<UN
Y*d\uD##(2DH]_qu"$+.E4
XY
XY__40KLVFGH`aC,DEKLbcaC,DEKLbdaC,DEKLeaC,D#EKLfaC,D'EKLgaC,D+EKLhJCf&*Y`*YdZ*Y*`D0
12%3E&KL&i4jkC@*******+**Z
**D.7;	DEFG8#:.;6<?=E4@KL@l9@m4@n4@o4jpCW*+D
B
CE*KLl9m4n4jqCC*+D
G
HEKLl9rkCL*+*
***Z
*****ZZ**ZD"LNP!Q)R2TAUKVE4LKLLl9Lm4Ln4Lo4rpCW*+D
[
\E*KLl9m4n4rqCC*+D
`
aEKLl9jsC"*, Y+! Y+,"D
e!fE>"KL"lt"uv"m4"n4"o4HwjxCh* Y+!D
klE4KLltm4n4o4jyCc
*+,#D
qrE4
KL
lt
uv
m4
n4HwjzCW*+$D
w
xE*KLltm4n4j{CN*+,#D
|}E KLltuvHwj|CC*+$D

EKLltrsC"*, Y+! Y+,"D
!E>"KL"lt"uv"m4"n4"o4HwrxCg* Y+!D
E4KLltm4n4o4ryCc
*+,%D
E4
KL
lt
uv
m4
n4HwrzCW*+&D

E*KLltm4n4r{CN*+,%D
E KLltuvHwr|CC*+&D

EKLlt}~Ca**'Y****d`()Y*'Y****d(+'Y**`(+,D&EaKLCZM*`**d`,8***ddd,*dd*,*dd*`,D#AXE ZKLZ4V;WC=**D
EKLPK
"|70m		org/nfunk/jep/Node.class0jjtOpen()VjjtClosejjtSetParent(Lorg/nfunk/jep/Node;)VjjtGetParent()Lorg/nfunk/jep/Node;jjtAddChild(Lorg/nfunk/jep/Node;I)VjjtGetChild(I)Lorg/nfunk/jep/Node;jjtGetNumChildren()I	jjtAcceptC(Lorg/nfunk/jep/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
Exceptions
SourceFile	Node.javaorg/nfunk/jep/Nodejava/lang/Objectorg/nfunk/jep/ParseException	

PK
#|7@org/nfunk/jep/Operator.class03

&
&	'	(	)*
&+
,-
./0nameLjava/lang/String;symbolpfmc,Lorg/nfunk/jep/function/PostfixMathCommandI;<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/Operator;A(Ljava/lang/String;Lorg/nfunk/jep/function/PostfixMathCommandI;)VS(Ljava/lang/String;Ljava/lang/String;Lorg/nfunk/jep/function/PostfixMathCommandI;)V	getSymbol()Ljava/lang/String;getNamegetPFMC.()Lorg/nfunk/jep/function/PostfixMathCommandI;setPFMC/(Lorg/nfunk/jep/function/PostfixMathCommandI;)VtoString
SourceFile
Operator.javajava/lang/StringBufferOperator: "12"#org/nfunk/jep/Operatorjava/lang/Objectappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;!
3*
^**+*,*+$%&' h**+*-*,0123*/*5/*7 /*8!":*+9#FY	*	
	;$%PK
"|7Iorg/nfunk/jep/OperatorSet.class0
U

	T	T	T	T	T	T
	T	T
	T
	T
!	T
%
	T
*	T
.	T
2	T	T
9	T
=	T
A	T
E	T
I	T
M	T
T	

OP_GTLorg/nfunk/jep/Operator;OP_LTOP_EQOP_LEOP_GEOP_NEOP_ANDOP_OROP_NOTOP_ADDOP_SUBTRACT	OP_UMINUSOP_MULTIPLY	OP_DIVIDEOP_MOD
OP_UDIVIDEOP_POWER	OP_ASSIGNOP_DOTOP_CROSSOP_LIST
OP_ELEMENT<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/OperatorSet;getOperators()[Lorg/nfunk/jep/Operator;ops[Lorg/nfunk/jep/Operator;printOperatorsiIgetAdd()Lorg/nfunk/jep/Operator;getSubtract	getUMinusgetMultiply	getDividegetModgetPowergetEQgetNEgetGEgetGTgetLEgetLTgetAndgetOrgetNot	getAssigngetDotgetCrossgetList
getElement
SourceFileOperatorSet.javamnorg/nfunk/jep/Operator>"org/nfunk/jep/function/ComparativemmVW<XW==YW<=ZW>=[W!=\W&&org/nfunk/jep/function/Logical]W||^W!org/nfunk/jep/function/Not_W+org/nfunk/jep/function/Add`W-org/nfunk/jep/function/SubtractaWUMinusorg/nfunk/jep/function/UMinusmbW*org/nfunk/jep/function/MultiplycW/org/nfunk/jep/function/DividedW%org/nfunk/jep/function/ModuluseWUDivide^-1fW^org/nfunk/jep/function/PowergW=org/nfunk/jep/function/AssignhW.org/nfunk/jep/function/DotiW^^org/nfunk/jep/function/CrossjWLISTorg/nfunk/jep/function/ListkW[]org/nfunk/jep/function/ElelWtuorg/nfunk/jep/OperatorSetjava/lang/Object(I)VA(Ljava/lang/String;Lorg/nfunk/jep/function/PostfixMathCommandI;)VS(Ljava/lang/String;Ljava/lang/String;Lorg/nfunk/jep/function/PostfixMathCommandI;)Vjava/lang/SystemoutLjava/io/PrintStream;toString()Ljava/lang/String;java/io/PrintStreamprintln(Ljava/lang/String;)V!TUVWXWYWZW[W\W]W^W_W`WaWbWcWdWeWfWgWhWiWjWkWlWmnoI**YY*YY	*Y
Y*YY
*YY*YY*YY*YY*YY*YY*Y !Y"#*Y$ %Y&'(*Y)*Y+,*Y-.Y/0*Y12Y34*Y56'7*Y89Y:;*Y<=Y>?*Y@AYBC*YDEYFG*YHIYJK*YLMYNOpb;.C X!m"$%&()*,-&.:0J2^4r5678<qrstuoY*SY*	SY*SY*
SY*SY*SY*SY*SY*SY	*SY
*#SY*(SY*,SY
*0SY*4SY*;SY*?SY*CSY*GSY*KSY*OSL+p
@Fqrsvwxnon *PL=+Q+2RSpKL
MLNq yz rsvw{|o/*pPqrs}|o/*#pQqrs~|o/*(pRqrs|o/*,pSqrs|o/*0pTqrs|o/*4pUqrs|o/*;pVqrs|o/*pXqrs|o/*pYqrs|o/*pZqrs|o/*p[qrs|o/*
p\qrs|o/*	p]qrs|o/*p_qrs|o/*p`qrs|o/*paqrs|o/*?pbqrs|o/*Cpcqrs|o/*Gpdqrs|o/*Kpeqrs|o/*OpfqrsPK
"|7q"org/nfunk/jep/ParseException.class0f
"ghi
jk	4l	4m	4n	4o	4p
"q
"rs

q

tu

vwxy	z{	z|	z}
4~	z

	z





serialVersionUIDJ
ConstantValueq`Lt%^specialConstructorZcurrentTokenLorg/nfunk/jep/Token;expectedTokenSequences[[I
tokenImage[Ljava/lang/String;eolLjava/lang/String;<init>.(Lorg/nfunk/jep/Token;[[I[Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/ParseException;currentTokenValexpectedTokenSequencesVal
tokenImageVal()V(Ljava/lang/String;)Vmessage
getMessage()Ljava/lang/String;jIiexpectedmaxSizeretvaltokgetErrorInfoeLjava/lang/Exception;add_escapes&(Ljava/lang/String;)Ljava/lang/String;schCstrLjava/lang/StringBuffer;
SourceFileParseException.javaDOline.separator
BC:;<=>?@ADNQRjava/lang/StringBuffer R...    
Encountered "=TC]^
" at line T	, column T.Was expecting:Was expecting one of: at column java/lang/ExceptionUnexpected "" at column \b\t\n\f\r\"\'\\0000\uorg/nfunk/jep/ParseExceptionjava/lang/SystemgetProperty8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;append,(Ljava/lang/String;)Ljava/lang/StringBuffer;toStringorg/nfunk/jep/Tokennextkindimage	beginLine(I)Ljava/lang/StringBuffer;beginColumnjava/lang/Stringlength()IcharAt(I)Cjava/lang/Integer(II)Ljava/lang/String;	substring(C)Ljava/lang/StringBuffer;!4"5678:;<=>?@ABCDEF&****+*,	*-
G!"#$ %%&H*&IJ&K=&L?&MADNFK***G345HIJDOFV*+**G89:HIJPCQRF**L=>*	*	2*	2=6*	2.
Y+*
*	2.2L*	2*	2d.
Y+L
Y+*LeN*:6g
Y-N
Y-*
2N+
Y-*N:
Y-**N
Y-*N*	&
Y-*N#
Y- *N
Y-+N-G~cdfghi'j/l>mclio|prhtuvwxyz|}$v*]xHR27STUTjUTIJVCWT%XCY=ZRFj|*2
Y*!*L*L=>*	*	2*	2=6*	2.
Y+*
*	2.2L*	2*	2d.
Y+L
Y+*Le#N*:6g
Y-N
Y-*
2N+
Y-*N:
Y-$*N-/0"Gr0169;FQYh	),GNTzH\	1[\\7ST=UTjUT|IJ9CVC;AWTXCY=]^F(
YM6+%+&	RU	_
is
}"'\,'W,(W,)W,*W,+W,,Wu,-Wk,.Wa+&Y> 	~H
Y/0:,
Y1%d%2W	,3W,Gjlovy#H>(_CV`aUT(IJ(bC XcdePK
"|76Aorg/nfunk/jep/Parser$1.class0

SourceFileParser.java	Syntheticorg/nfunk/jep/Parser$1InnerClassesjava/lang/Objectorg/nfunk/jep/Parser 	
PK
"|7Sڽh??+org/nfunk/jep/Parser$LookaheadSuccess.class0

<init>()VCodeLineNumberTableLocalVariableTablethisLookaheadSuccessInnerClasses'Lorg/nfunk/jep/Parser$LookaheadSuccess;(Lorg/nfunk/jep/Parser$1;)Vx0Lorg/nfunk/jep/Parser$1;	Synthetic
SourceFileParser.java%org/nfunk/jep/Parser$LookaheadSuccessjava/lang/Errororg/nfunk/jep/Parser$1org/nfunk/jep/Parser0/*	

9*	

PK
"|7#.wworg/nfunk/jep/Parser.class09





	
	
		
			










"	
	


		









7




7 
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
0
1
2
3
4	56
7
8
9
:
;
<
=
>
?
@
A
B
C
D	E	F
GH
I
J
K
L
M
NO
m
P
QH
QR
mS	T
QUVW
X
GYZ[
7\]
^
_Z`ab
cdefg

h
i
j
klmno	p	q	r	s
tu
v
w
x
y
z
{
|
}
~


































		
























	
	
0


	






	InnerClassesLookaheadSuccessjjtreeLorg/nfunk/jep/JJTParserState;jepLorg/nfunk/jep/JEP;symTabLorg/nfunk/jep/SymbolTable;opSetLorg/nfunk/jep/OperatorSet;initialTokenManagerStateItoken_source"Lorg/nfunk/jep/ParserTokenManager;jj_input_streamLorg/nfunk/jep/JavaCharStream;tokenLorg/nfunk/jep/Token;jj_nt
jj_scanpos
jj_lastposjj_lalookingAheadZjj_semLAjj_ls'Lorg/nfunk/jep/Parser$LookaheadSuccess;parseStream9(Ljava/io/Reader;Lorg/nfunk/jep/JEP;)Lorg/nfunk/jep/Node;CodeLineNumberTableLocalVariableTablenodeLorg/nfunk/jep/Node;eLorg/nfunk/jep/TokenMgrError;thisLorg/nfunk/jep/Parser;streamLjava/io/Reader;jep_in
Exceptionsrestart&(Ljava/io/Reader;Lorg/nfunk/jep/JEP;)V
continueParse()Lorg/nfunk/jep/Node;addToErrorList(Ljava/lang/String;)VerrorStrLjava/lang/String;setInitialTokenManagerState(I)Vstate
replaceEscape&(Ljava/lang/String;)Ljava/lang/String;metacCkinputStrlenpi	metacharscharsoutputLjava/lang/StringBuffer;Start()Lorg/nfunk/jep/ASTStart;jjte000Ljava/lang/Throwable;jjtn000Lorg/nfunk/jep/ASTStart;jjtc000
Expression()VAssignExpressionjjte001jjtn001Lorg/nfunk/jep/ASTFunNode;jjtc001RightExpressionOrExpression
AndExpressionEqualExpressionjjte002jjtn002jjtc002RelationalExpressionjjte003jjtn003jjtc003jjte004jjtn004jjtc004AdditiveExpressionMultiplicativeExpressionjjte005jjtn005jjtc005jjte006jjtn006jjtc006UnaryExpressionPowerExpressionUnaryExpressionNotPlusMinusidentStringListExpressionLValueArrayAccessVariableLorg/nfunk/jep/ASTVarNode;FunctionreqArgumentsArgumentList(ILjava/lang/String;)VfunctionNamecount
Identifier()Ljava/lang/String;tAnyConstanttempvalueLjava/lang/Object;Lorg/nfunk/jep/ASTConstant;RealConstant()Ljava/lang/Object;Ljava/lang/Exception;jj_2_1(I)Zlsxlajj_2_2jj_2_3jj_2_4jj_2_5jj_2_6jj_2_7jj_2_8jj_2_9jj_3R_40()Zjj_3R_37xspjj_3R_57jj_3R_49jj_3_8jj_3R_21jj_3R_48jj_3R_46jj_3R_18jj_3R_56jj_3R_52jj_3R_35jj_3R_34jj_3R_39jj_3R_10jj_3R_20jj_3_1jj_3R_16jj_3R_54jj_3R_15jj_3R_53jj_3R_51jj_3R_14jj_3R_36jj_3R_64jj_3R_25jj_3R_13jj_3R_33jj_3R_12jj_3R_47jj_3_9jj_3R_63jj_3R_43jj_3_7jj_3R_32jj_3R_27jj_3R_31jj_3_4jj_3_5jj_3R_30jj_3R_29jj_3R_44jj_3R_23jj_3R_28jj_3R_45jj_3R_22jj_3R_61jj_3R_38jj_3R_11jj_3R_60jj_3R_55jj_3R_42jj_3R_62jj_3R_17jj_3_2jj_3R_26jj_3R_59jj_3R_41jj_3_6jj_3_3jj_3R_24jj_3R_9jj_3R_19jj_3R_58jj_3R_50<init>(Ljava/io/InputStream;)VLjava/io/InputStream;*(Ljava/io/InputStream;Ljava/lang/String;)V&Ljava/io/UnsupportedEncodingException;encodingReInit(Ljava/io/Reader;)V%(Lorg/nfunk/jep/ParserTokenManager;)Vtmjj_consume_token(I)Lorg/nfunk/jep/Token;kindoldToken
jj_scan_tokengetNextToken()Lorg/nfunk/jep/Token;getTokenindexgenerateParseException ()Lorg/nfunk/jep/ParseException;errortokmessenable_tracingdisable_tracing
SourceFileParser.java!"A9:org/nfunk/jep/ParseExceptionNo expression entered&org/nfunk/jep/TokenMgrErrormtnrbf\"'	

\"'java/lang/StringBufferAmorg/nfunk/jep/ASTStart*wx@A	java/lang/Throwable$java/lang/RuntimeExceptionjava/lang/Error{xBA|xGAorg/nfunk/jep/ASTFunNodebA%Syntax Error (assignment not enabled)HAIAJANAUAVA	]A}x~x^A
2Syntax Error (implicit multiplication not enabled)
x_AoAxcA(fAdAaAxorg/nfunk/jep/ASTVarNodelm !Unrecognized symbol ""%&"#$%&'!!! Unrecognized function "hix(x
Function "" illegal number of arguments )" requires 
 parametersorg/nfunk/jep/ASTConstant,-*tu+,-./java/lang/Exception
Can't parse "
%org/nfunk/jep/Parser$LookaheadSuccessx
org/nfunk/jep/JJTParserState0org/nfunk/jep/JavaCharStream1$java/io/UnsupportedEncodingException2 org/nfunk/jep/ParserTokenManager3org/nfunk/jep/Token4135A66781Parse error at <unknown location>.  Encountered: org/nfunk/jep/Parserjava/lang/Object!org/nfunk/jep/ParserTreeConstantsorg/nfunk/jep/ParserConstantsorg/nfunk/jep/Parser$1org/nfunk/jep/NodejjtGetChild(I)Lorg/nfunk/jep/Node;
getMessageorg/nfunk/jep/JEPgetSymbolTable()Lorg/nfunk/jep/SymbolTable;getOperatorSet()Lorg/nfunk/jep/OperatorSet;	errorListLjava/util/Vector;java/util/Vector
addElement(Ljava/lang/Object;)VdefaultLexStatejava/lang/Stringlength()IindexOf(II)I	substring(II)Ljava/lang/String;append,(Ljava/lang/String;)Ljava/lang/StringBuffer;charAt(I)C(I)I(C)Ljava/lang/StringBuffer;(I)Ljava/lang/String;toString
openNodeScope(Lorg/nfunk/jep/Node;)VcloseNodeScope(Lorg/nfunk/jep/Node;Z)VclearNodeScopepopNode(Lorg/nfunk/jep/Node;I)VgetAllowAssignmentorg/nfunk/jep/OperatorSet	getAssign()Lorg/nfunk/jep/Operator;setOperator(Lorg/nfunk/jep/Operator;)VgetOrgetAndgetNEgetEQgetLTgetGTgetLEgetGEgetAddgetSubtractimplicitMulgetMultiplygetDotgetCross	getDividegetMod	getUMinusgetNotgetPowerfunTabLorg/nfunk/jep/FunctionTable;imageorg/nfunk/jep/FunctionTablecontainsKey(Ljava/lang/Object;)ZgetList
getElementorg/nfunk/jep/SymbolTablegetVar,(Ljava/lang/String;)Lorg/nfunk/jep/Variable;setVar(Lorg/nfunk/jep/Variable;)VallowUndeclaredmakeVarIfNeededget@(Ljava/lang/String;)Lorg/nfunk/jep/function/PostfixMathCommandI;*org/nfunk/jep/function/PostfixMathCommandIgetNumberOfParameterssetFunctionA(Ljava/lang/String;Lorg/nfunk/jep/function/PostfixMathCommandI;)VcheckNumberOfParameters(I)Ljava/lang/StringBuffer;setValuegetNumberFactory$()Lorg/nfunk/jep/type/NumberFactory; org/nfunk/jep/type/NumberFactorycreateNumber&(Ljava/lang/String;)Ljava/lang/Object;(Lorg/nfunk/jep/Parser$1;)V,(Ljava/io/InputStream;Ljava/lang/String;II)V(Ljava/lang/Throwable;)V!(Lorg/nfunk/jep/JavaCharStream;)Vnextreset(Ljava/io/Reader;II)V
tokenImage[Ljava/lang/String;!	

u2*+,**N-
Y-NY-	
$%
%&4&222 !"o!*+
*,**
**!
"# $ !!!#$~ *L++LY+	
:;<=>   %&D*+
CD'()*J**MN
O+,-]
+=>::Y:+\Y6\+W`D+`66		\WW	W`>+ W!JXY[\^`&a3c>fHiQjWo_pjsww{|~f
H4./Q+0	1(23"s45(6(}789:xT"Y#L=*$+%*&e*'*()-#**W**W**WY+*$+,=+N*$+,-*()y*(),"**W**W**WY+*$+,=N*$+,-**WY+N*$+.=*$/W-0-0---1:*$+,n-}--nB}BDB,	@FIPSYajlnr}%,18=BH*6;<T	K=>I? @Ap.*23
*4 *5
*6**WY+	%-. BAj7Y8L=*$+%*9**W*'*$+:=*;
Y<+*=>X*$+:LN*$+.=*$/W-0-0---1:*$+:L\-L\j	"+-7ALP\]ainv}*]6C<	DEF GA3*?
 HA{*@*()7Y8L=*$+%**W*@*$+:=+*A>X*$+:LN*$+.=*$/W-0-0---1:*$+:U5Vf-5Vfn

"+-5<@IKV,Z-fgks x"$%'(*,-1*g6C<+DE-F IA{*B*()7Y8L=*$+%**W*B*$+:=+*C>X*$+:LN*$+.=*$/W-0-0---1:*$+:U5Vf-5Vfn47:<">+?-@5B<C@DIEKFVVZWfGgHkIsJxLNOQRTVW[*g6C<+DE-F JA*D*()Y*()A7Y8L=*$+%**W*D*$+:=+*E>*$+:wN*$+.=*$/W-0-0---1:*$+:7Y8N6*$-%**W*D*$-:6-*F>*$-::*$-.6*$/W0	0	1:*$-:**WY+_-_ -_ a_4^a$e'g*iLkUlWm_ofpjqsrustuvwy{|~ "'/5=EKSY_frxH6C<UDEWF"=K<LEM NAO*G*()$!!$!!*()#I7Y8L=*$+%**W*G*$+:=+*H>s*$+:gN*$+.=*$/W-0-0---1:*$+:7Y8N6*$-%**W*G*$-:6-*I>*$-::*$-.6*$/W0	0	1:*$-:7Y8:6*$%**W*G*$:6*J>F*$:9:*$.6*$/W0	0	1:
*$:7Y8:6*$%**W*G*$:6*K>*$::	*$.6*$/W	0		0				1:

*$:
**WY+o-o0-o0qo-8\n-8\n`,/2\egovz$027?EMU[ciov	

",/8?CMP\/a0n p!u"~#%'(*+-/0569
6C<eDEgF2=K<LEM>O<PEQp>R<	,SE/T UA*L*()Y*()A7Y8L=*$+%**W*L*$+:=+*M>*$+:wN*$+.=*$/W-0-0---1:*$+:7Y8N6*$-%**W*L*$-:6-*N>*$-::*$-.6*$/W0	0	1:*$-:**WY+_-_ -_ a_4<?$C'E*GLIUJWK_MfNjOsPuQabRSTUWYZ\]_abghiklmno p"q'r/s5u=wExKzS{Y}_frxH6C<UDEWF"=K<LEM VA
*O*P*Q7Y8L=*$+%*R*$+:=*S
YT+*U>X*$+:LN*$+.=*$/W-0-0---1:*$+:V*()2%,22R7Y8L=*$+%**W*O*$+:=+*U>*$+:N*$+.=*$/W-0-0---1:*$+:7Y8N6*$-%* *W*O*$-:6-*V>[*$-:O:*$-.6*$/W0	0	1:*$-:7Y8:6*$%*%*W*O*$:6*W>*$::*$.6*$/W0	0	1:
*$:7Y8:6*$%*!*W*O*$:6*X>*$::	*$.6*$/W	0		0				1:

*$:
7Y8:	6
*$	%*"*W*O*$	:6
	*Y>
~*$	:q:
*$	.6
*$/W0	0	1:

*$	:**WY+'Ue-'Ue(-_(a_- DV- DV-686`-`.'+46JUYefjrw
()-5:BINUZ_eqz}
 '+58D
IVX]flt|
() !"#*$0&6(=)J.T/W0`2g3k4u5x6FG789:<>?ABDFGLMQf6C<DEF)6K<LEM=O<zPE}QX>R<SET>W<	XEY>Z<T[E	W\
 ]Az*()U!/#**W*OF7Y8L=*$+%**W*O*$+:=+*Z>*$+:N*$+.=*$/W-0-0---1:*$+:7Y8N6*$-%*#*W*O*$-:6-*[>~*$-:r:*$-.6*$/W0	0	1:*$-:*\
*R**WY+Ijz-Ijz
-I
KI5T(V/W3X6Z?[A\I^P_T`]a_bjrnszc{defhjkmnprsxyz|}~
'/5=CIP\dkqyH{6C<?DEAF=K<LEMz ^Aj*]*()$7Y8L=*$+%*$*W*O*$+:=+*^>X*$+:LN*$+.=*$/W-0-0---1:*$+:/P`-/P`f%'/6:CEPT`aemrz*a6C<%DE'F _A^_L*())")")"*`*2a
*b*c)*c)*d*cef
*gg*()O,,&H(3*h-*(*W*'*)*W*i**WY+R,03<Cry`( aA}7Y8L=*$+%+*j>*&*W*'*()**W*'*'*WX*$+,LN*$+.=*$/W-0-0---1:*$+,_o-_oj	%)DGJQX_copt|	
*p6;<	=E? bAF*2k
*b8*() *h**WY+"	!0$4%7'=(E+F cAR*h*i7Y8L=*$+%*$+:=+*l>*$+:N*$+:-1AABA6
./0124$5&61859A8F9Q< RADE?F dA_LmYnM>*$,%*oL*$,,>*
+p,*
+qr8*s,*
+tr*Yu+v!w^*$,,R:*$,.>*$/W0	0	1:*$,,u-un?@ABDE$F&G1H@JJKYMu_y`PQRSUWXZ[]_`c4;C<`(DeF fA<_M7Y8N6*$-%*oM*d,f'*d,xy<-,*d,xz*Y{,v!w*(*W*,|*)*Wa*$-,U:*$-.6*$/W0	0	1:*$-,-rfghijlm,o=qPtlvswyxyz{|~>=C<g`(DEF hio>_:*}<*'*()**W*'>*d,x~sY,!:*wLGY,!:Y!:*wR036=AGL`~4gj(k'( lmG*()-#**L**L**WY++e" '*14:B 'n1nG oAYL=*$+%*()rXrXr"**N*$+,=-e-ed:*:++*:*$+,=+**WY+^*$+,R:*$+.=*$/W0	0	1:*$+,-!	<CLNaiorxHC/nap(xqr;;<	=s? tuz*()-	#**L*	*L**WY+*+eM%NM*Y+ev!w,BSV6
 '*14: B#S'V$W%Y&x)>'n1nSqrW!vzY!qr wxl"****Z*M
./  y""z{xl"****Z*M
34  y""z|xl"****Z*M
89  y""z}xl"****Z*M
=>  y""z~xl"****Z*M
BC  y""zxl"****Z*M
GH  y""zxl"****Z*M
LM  y""zxl"****Z*M
QR  y""zxl"****Z*M
VW  y""z;
*
[\
`*L**+*abcdfH**jklH**pqr9*
v	w9*
{	|H**4*L*)*+**+**+*&	$)24/F**	H**4*L*)*+**+**+*&	$)24/H**d *L**+* _**L**+	`*L**+*9*
	9*
	H*"*H**H*!*H**`*L**+*H*%*_**L**+	H**}5*&**L**+*'(3 5H* *$%&9*
*	+H**/01H**567_**L**+;	>?AO*L**+FGHd *L**+*	MNOPR 9*
V	WW!*(**)[\]^!_**L**+b	efh9*
l	mL*L*A*+*5*+*)*+**+**+*6
rstuvw$x)y0z5{<|A}JLG9*
	9*
	9*
	_**L**+	*L**+*~*+***c)*c)*d*cef**
*™)*+*Ù*+*ę*+*řB"Z_mry~9*ƙ
	H**Ǚ_*Ǚ*L*ș*+	H**əd**ʙ*(*˙*)	(*9*̙
	H**ə`*L*͙*+*Ι_*ə*L*ϙ*+	H*$*\*Й*L*љ*+	H*ҙ*
	U*ҙ**	H**9*ә
	9*
"	#9*ԙ
'	(9*ʙ
,	-`*L*ՙ*+*234579*֙
;	<H**@ABH*#*FGH?*+ױ
TUo**Yڵ$***Y۵*Y+,޵ߧ
N0Y-*Y*߷*Y***Z(%47*
V
P%WAXPY[Zn[*8	ooo(?*+
^_I*+,
N0Y-**߶*Y***Z(*$ab#c.dAeHf*	III(a**Yڵ$***Y۵*Y+*Y*߷*Y***Z(*
h
P%i3jBkMl`maa;*+**߶*Y***Z(*$p
qr s3t:u;;I**Yڵ$***Y۵*+*Y***Z(&	w
P%x*y5zH{IIo+*+*Y***Z(*$~#*++W*M**(Z**((**(*Z(*)***(*,*""5@EMR WWR x~**E*Yd*****ZZ!***Z***)****ܿ&	:MXe|~~g5**(Z**((**(*Z(*05>*
**M>%,,M,*ZM,)6<*'4>>+n}7*L+)2+eMYY,! 7/(A+A+PK
#|7.WFForg/nfunk/jep/Parser.jjt/***************************************************************

@header@
@date@
@copyright@
@license@

This file contains the grammar from which the parser is
generated. The parser generation tools being used are JavaCC
and its component JJTree. JJTree processes the .jjt file and
generates the .jj file. This file is then used be JavaCC to
generate the final java classes.

Knowledge of parser generation is definitely beneficial if you
are planning to make changes to this file. Although many parts
are self explanatory, it is helpful to know how the grammar is
handled by JJTree and JavaCC.

You can follow the structure of the grammar by starting in the
line which reads "ASTStart Start() #Start : {}". From there you
will be able to trace the same path the parser follows when
parsing an expression.

The concept of precedence is very important. Since this is a
recursive descent parser, it is easy to see which operators have
higher order of precedence. The following table outlines the
order incorporated in this grammar.

Order of precedence (from lowest to highest):

   ||               or  (logical)
   &&               and (logical)
   ==  !=           equal, not equal
   <   >   <=  >=   less, greater, less or equal, greater or equal
   +   -            addition, subtraction
   *   /   %        multiplication, division, modulus
   !   +   -        not, unary +/-
   ^                power

The order of precedence is greatly inspired by the operator
precedence of the C language. See "The C Programming Language"
Kernighan & Richie 2nd Ed p.53. Java also uses a very similar
precedence. Note that the '^' operator is used for bitwise 
exclusive OR in Java and C, but represents the power operator
in this grammar.

***************************************************************/



/***************************************************************
OPTIONS
***************************************************************/
options {
	JAVA_UNICODE_ESCAPE = true;
	MULTI = true;
	VISITOR = true;
	VISITOR_EXCEPTION = "ParseException";
	NODE_DEFAULT_VOID = true;
//	NODE_PACKAGE = "org.nfunk.jep.parser";
//	BUILD_NODE_FILES=false;
	STATIC = false;
//	DEBUG_TOKEN_MANAGER = true;
//	DEBUG_PARSER = true;
//	DEBUG_LOOKAHEAD = true;
}


/***************************************************************
PARSER BEGIN
***************************************************************/

PARSER_BEGIN(Parser)
package org.nfunk.jep;

import java.util.Vector;
import org.nfunk.jep.function.*;
import org.nfunk.jep.type.*;

public class Parser {
	private JEP     jep;
	private SymbolTable symTab;
	private OperatorSet opSet;
	private int initialTokenManagerState = DEFAULT;
	
	public Node parseStream(java.io.Reader stream, JEP jep_in)
							throws ParseException {
		restart(stream,jep_in);
		// Parse the expression, and return the 
		enable_tracing();
		try
		{
			Node node = Start();
			if (node == null) throw new ParseException("No expression entered");
			return node.jjtGetChild(0);
		}
		catch(TokenMgrError e) {
			throw new ParseException(e.getMessage());
		}
	}

	/** 
	 * Restart the parse with the given stream.
	 * @since 2.3.0 beta 1
	 */
	public void restart(java.io.Reader stream, JEP jep_in)
	{
		ReInit(stream);
   		//this.token_source.SwitchTo(initialTokenManagerState);
		jep = jep_in;
		symTab = jep.getSymbolTable();
		opSet = jep.getOperatorSet();
	}
	/**
	 * Continue parsing without re-initilising stream.
	 * Allows reentrance of parser so that strings like
	 * "x=1; y=2; z=3;" can be parsed.
	 * When a semi colon is encountered parsing finishes leaving the rest of the string unparsed.
	 * Parsing can be resumed from the current position by using this method.
	 * For example
	 * <pre>
	 * XJep j = new XJep();
	 * Parser parse = j.getParse();
	 * StringReader sr = new StringReader("x=1; y=2; z=3;");
	 * parse.restart(sr,j);
	 * Node node;
	 * try {
	 * while((node = j.continueParse())!=null) {
	 *    j.println(node);
	 * } }catch(ParseException e) {}
	 * </pre>
	 */
	public Node continueParse() throws ParseException
	{
		try
		{
			Node node = Start();
			if (node == null) return null;
			return node.jjtGetChild(0);
		}
		catch(TokenMgrError e) {
			throw new ParseException(e.getMessage());
		}
	}

	private void addToErrorList(String errorStr) {
		jep.errorList.addElement(errorStr);		
	}

	/**
	 * Sets the initial state that the token manager is in.
	 * Can be used to change how x.x is interpreted, either as a single
	 * identifier (DEFAULT) or as x <DOT> x (NO_DOT_IN_IDENTIFIERS)
	 * @param state the state to be in. Currently the only legal values are DEFAULT and NO_DOT_IN_IDENTIFIER
	 */
	public void setInitialTokenManagerState(int state)
	{
		initialTokenManagerState = state;
		token_source.defaultLexState = state;
	}
	/**
	 * Translate all escape sequences to characters. Inspired by Rob Millar's
	 * unescape() method in rcm.util.Str fron the Web Sphinx project.
	 *
	 * @param inputStr String containing escape characters.
	 * @return String with all escape sequences replaced.
	 */
	private String replaceEscape(String inputStr) {
		int len = inputStr.length();
		int p = 0;
		int i;
		String metachars = "tnrbf\\\"'";
		String chars = "\t\n\r\b\f\\\"'";
		
		StringBuffer output = new StringBuffer();
		
		while ((i = inputStr.indexOf('\\', p)) != -1) {
			output.append(inputStr.substring(p, i));
			
			if (i+1 == len) break;
			
			// find metacharacter
            char metac = inputStr.charAt(i+1);
            
            // find the index of the metac
            int k = metachars.indexOf(metac);
            if (k == -1) {
            	// didn't find the metachar, leave sequence as found.
            	// This code should be unreachable if the parser
            	// is functioning properly because strings containing
            	// unknown escape characters should not be accepted.
            	output.append('\\');
                output.append(metac);
            } else {
            	// its corresponding true char
                output.append(chars.charAt(k));   
            }

			// skip over both escape character & metacharacter
            p = i + 2;
		}

		// add the end of the input string to the output
        if (p < len)
            output.append(inputStr.substring(p));
            
        return output.toString();
	}
}

PARSER_END(Parser)

/***************************************************************
SKIP
***************************************************************/

<*> SKIP :
{
  " "
  | "\t"
  | "\n"
  | "\r"

  | <"//" (~["\n","\r"])* ("\n"|"\r"|"\r\n")>
  | <"/*" (~["*"])* "*" (~["/"] (~["*"])* "*")* "/">
}


/***************************************************************
TOKENS
***************************************************************/

<*> TOKEN : /* LITERALS */
{
	< INTEGER_LITERAL:
		<DECIMAL_LITERAL>
	>
|
	< #DECIMAL_LITERAL: ["0"-"9"] (["0"-"9"])* >
|
	< FLOATING_POINT_LITERAL:
		(["0"-"9"])+ "." (["0"-"9"])* (<EXPONENT>)?
		| "." (["0"-"9"])+ (<EXPONENT>)?
		| (["0"-"9"])+ <EXPONENT>
	>
|
	< #EXPONENT: ["e","E"] (["+","-"])? (["0"-"9"])+ >
|
	< STRING_LITERAL:
		"\""
		( (~["\"","\\","\n","\r"])
		| ("\\" ["n","t","b","r","f","\\","'","\""]	)
		)*
		"\""
	>
}

/* IDENTIFIERS 
	
	Letters before version 2.22
	< #LETTER: ["_","a"-"z","A"-"Z"] >

	In Ver 2.3.0.1 presence of . in an identifier is switchable.
	In the DEFAULT lexical state identifiers can contain a .
	In the NO_DOT_IN_IDENTIFIERS state identifiers cannot contain a .
	the state can be set by using
	Parser.setInitialTokenManagerState
*/

<DEFAULT> TOKEN:
{
	<INDENTIFIER1: <LETTER1>(<LETTER1>|<DIGIT1>|".")*>
	|
	< #LETTER1:
	[
		"\u0024",           // $
		"\u0041"-"\u005a",  // A - Z
		"\u005f",           // _
		"\u0061"-"\u007a",  // a - z
		"\u00c0"-"\u00d6",  // Upper case symbols of Latin-1 Supplement
		"\u00d8"-"\u00f6",  // Lower case symbols of Latin-1 Supplement
		"\u00f8"-"\u00ff",  // More lower case symbols of Latin-1 Supplement
		"\u0100"-"\u1fff",  // Many languages (including Greek)
		"\u3040"-"\u318f",  // Hiragana, Katakana, Bopomofo, Hangul Compatibility Jamo
		"\u3300"-"\u337f",  // CJK Compatibility
		"\u3400"-"\u3d2d",  // CJK Unified Ideographs Extension A
		"\u4e00"-"\u9fff",  // CJK Unified Ideographs
		"\uf900"-"\ufaff"   // CJK Compatibility Ideographs
	]
	>	
|
	< #DIGIT1: ["0"-"9"] >
}

<NO_DOT_IN_IDENTIFIERS> TOKEN:
{
	<INDENTIFIER2: <LETTER2>(<LETTER2>|<DIGIT2>)*>
	|
	< #LETTER2:
	[
		"\u0024",           // $
		"\u0041"-"\u005a",  // A - Z
		"\u005f",           // _
		"\u0061"-"\u007a",  // a - z
		"\u00c0"-"\u00d6",  // Upper case symbols of Latin-1 Supplement
		"\u00d8"-"\u00f6",  // Lower case symbols of Latin-1 Supplement
		"\u00f8"-"\u00ff",  // More lower case symbols of Latin-1 Supplement
		"\u0100"-"\u1fff",  // Many languages (including Greek)
		"\u3040"-"\u318f",  // Hiragana, Katakana, Bopomofo, Hangul Compatibility Jamo
		"\u3300"-"\u337f",  // CJK Compatibility
		"\u3400"-"\u3d2d",  // CJK Unified Ideographs Extension A
		"\u4e00"-"\u9fff",  // CJK Unified Ideographs
		"\uf900"-"\ufaff"   // CJK Compatibility Ideographs
	]
	>	
	|
	< #DIGIT2: ["0"-"9"] >
}

/* OPERATORS */
<*> TOKEN:
{
	< ASSIGN:"="  > // rjm
|	< SEMI:	";" >	// rjm
|	< COMMA: "," >	// rjm
|	< GT:   ">"  >
|	< LT:   "<"  >
|	< EQ:   "==" >
|	< LE:   "<=" >
|	< GE:   ">=" >
|	< NE:   "!=" >
|	< AND:  "&&" >
|	< OR:   "||" >
|	< PLUS: "+"  >
|	< MINUS:"-"  >
|	< MUL:  "*"  >
|	< DOT:  "."  >	// rjm
|	< DIV:  "/"  >
|	< MOD:  "%"  >
|	< NOT:  "!"  >
|	< POWER:"^"  >
|	< CROSS:"^^" > // rjm
|	< LSQ:	"["  >	// rjm
|	< RSQ:	"]"	 >	// rjm
|	< LRND:	"("  >	// rjm
|	< RRND:	")"	 >	// rjm
|	< COLON: ":" >	// rjm
}


/***************************************************************
GRAMMAR START
***************************************************************/

ASTStart Start() #Start :
{
}
{
	Expression() ( <EOF> | <SEMI> ) { return jjtThis; }
	|  ( <EOF> | <SEMI> )
	{
		// njf - The next line is commented out in 2.3.0 since
		//       two "No expression entered" errors are reported
		//       in EvaluatorVisitor and Console (one from here
		//       the other from ParseStream() )
		//       Decided to just return null, and handle the error
		//       in ParseStream.
		// addToErrorList("No expression entered");
		return null;
	}
}

// Expresions can be like
// x=3
// x=y=3 parsed as x=(y=3)

void Expression() : {}
{
	LOOKAHEAD(LValue() <ASSIGN>)		// need to prevent javacc warning with left recusion
	AssignExpression() // rjm changes from OrExpresion
	|
	RightExpression()
}

void AssignExpression() : {} // rjm addition
{
	
	( LValue() <ASSIGN> Expression()
		{
			if (!jep.getAllowAssignment()) throw new ParseException(
        	"Syntax Error (assignment not enabled)");
			
			jjtThis.setOperator(opSet.getAssign());
		}
	  )
	  #FunNode(2)
}

void RightExpression() :
{
}
{
	OrExpression()
}

void OrExpression() :
{
}
{
	AndExpression()
	(
	  ( <OR> AndExpression()
		{
			jjtThis.setOperator(opSet.getOr());
		}
	  ) #FunNode(2)
	)*
}


void AndExpression() :
{
}
{
	EqualExpression()
	(
	  ( <AND> EqualExpression()
		{
			jjtThis.setOperator(opSet.getAnd());
		}
	  ) #FunNode(2)
	)*
}



void EqualExpression() :
{
}
{
	RelationalExpression()
	(
	  ( <NE> RelationalExpression()
	    {
	    jjtThis.setOperator(opSet.getNE());
	    }
	  ) #FunNode(2)
	|
	  ( <EQ> RelationalExpression()
	    {
	      jjtThis.setOperator(opSet.getEQ());
	    }
	  ) #FunNode(2)
	)*
}



void RelationalExpression() :
{
}
{
  AdditiveExpression()
  (
    ( <LT> AdditiveExpression()
      {
	    jjtThis.setOperator(opSet.getLT());
      }
	) #FunNode(2)
	|
    ( <GT> AdditiveExpression()
      {
        jjtThis.setOperator(opSet.getGT());
      }
    ) #FunNode(2)
    |
    ( <LE> AdditiveExpression()
      {
	    jjtThis.setOperator(opSet.getLE());
      }
	) #FunNode(2)
	|
    ( <GE> AdditiveExpression()
      {
        jjtThis.setOperator(opSet.getGE());
      }
    ) #FunNode(2)
  )*
}


void AdditiveExpression() :
{
}
{
  MultiplicativeExpression()
  (
    ( <PLUS> MultiplicativeExpression()
      {
        jjtThis.setOperator(opSet.getAdd());
      }
    ) #FunNode(2)
    |
    ( <MINUS> MultiplicativeExpression()
      {
        jjtThis.setOperator(opSet.getSubtract());
      }
    ) #FunNode(2)
  )*
}


void MultiplicativeExpression() :
{
}
{
  UnaryExpression()
  (
    (       
      PowerExpression()
      {
        if (!jep.implicitMul) throw new ParseException(
        	"Syntax Error (implicit multiplication not enabled)");
        	
        jjtThis.setOperator(opSet.getMultiply());
      }
    ) #FunNode(2)
    |
    ( <MUL> UnaryExpression()
      {
        jjtThis.setOperator(opSet.getMultiply());
      }
    ) #FunNode(2)
    |
    ( <DOT> UnaryExpression()
      {
        jjtThis.setOperator(opSet.getDot());
      }
    ) #FunNode(2)
    |
    ( <CROSS> UnaryExpression()
      {
        jjtThis.setOperator(opSet.getCross());
      }
    ) #FunNode(2)
	|
    ( <DIV> UnaryExpression()
      {
        jjtThis.setOperator(opSet.getDivide());
      }
    ) #FunNode(2)
    |
    ( <MOD> UnaryExpression()
      {
        jjtThis.setOperator(opSet.getMod());
      }
    ) #FunNode(2)
  )*
}


void UnaryExpression() :
{
}
{
  ( <PLUS> UnaryExpression())
|
  ( <MINUS> UnaryExpression()
    {
	  jjtThis.setOperator(opSet.getUMinus());
    }
  ) #FunNode(1)
|
  ( <NOT> UnaryExpression()
    {
	  jjtThis.setOperator(opSet.getNot());
    }
  ) #FunNode(1)
|
  PowerExpression()
}


void PowerExpression() :
{
}
{
  UnaryExpressionNotPlusMinus()
  [
  ( <POWER> UnaryExpression()
    {
      jjtThis.setOperator(opSet.getPower());
    }
  ) #FunNode(2)
  ]
}


void UnaryExpressionNotPlusMinus() :
{
	String identString = "";
	int type;
}
{
	AnyConstant()
	|
	LOOKAHEAD(ArrayAccess())
	ArrayAccess()
	|
	LOOKAHEAD({ (getToken(1).kind == INDENTIFIER1 || getToken(1).kind == INDENTIFIER2) &&
				  jep.funTab.containsKey(getToken(1).image) })
	Function()
	|
	Variable()
	|
	<LRND> Expression() <RRND>
	|
//	LOOKAHEAD(<LSQ> Expression() <COLON>)
//	RangeExpression()
//	|
	ListExpression()
}

void ListExpression() #FunNode:
{
	jjtThis.setOperator(opSet.getList());
}
{
	<LSQ> Expression() ( <COMMA> Expression() )* <RSQ> 
}

/*
void RangeExpression()  #FunNode:
{
	jjtThis.setOperator(opSet.getRange());
}
{
	<LSQ> Expression() ( <COLON> Expression() )+ <RSQ>
}
*/

void LValue() :
{
}
{
	LOOKAHEAD(ArrayAccess())
	ArrayAccess()
	| 	Variable()
}

void ArrayAccess() : 
{
}
{
	Variable() ListExpression()
	{
     jjtThis.setOperator(opSet.getElement());
	} #FunNode(2)

}
void Variable() :
{
	String identString = "";
}
{
	(identString = Identifier()
	{
		if (symTab.containsKey(identString)) {
			jjtThis.setVar(symTab.getVar(identString));
		} else {
			if (jep.allowUndeclared) {
				jjtThis.setVar(symTab.makeVarIfNeeded(identString));
			} else {
				addToErrorList("Unrecognized symbol \"" + identString +"\"");
			}
		}
	}
	) #VarNode
}



void Function() :
{
	int reqArguments = 0;
	String identString = "";
}
{
	( identString = Identifier()
		{
			if (jep.funTab.containsKey(identString)) {
				//Set number of required arguments
				reqArguments =
					((PostfixMathCommandI)jep.funTab.get(identString)).getNumberOfParameters();
				jjtThis.setFunction(identString,
					(PostfixMathCommandI)jep.funTab.get(identString));
			} else {
				addToErrorList("!!! Unrecognized function \"" + identString +"\"");
			}
		}
		
		<LRND> ArgumentList(reqArguments, identString) <RRND>
		
	) #FunNode
}

void ArgumentList(int reqArguments, String functionName) :
{
	int count = 0;
	String errorStr = "";
}
{
	[
	Expression() { count++; }
	(
		<COMMA>
		Expression() { count++; }
	)*
	]
    {
    	if(reqArguments == -1) {
    		if(!((PostfixMathCommandI)jep.funTab.get(functionName)).checkNumberOfParameters(count))
    		{
				errorStr = "Function \"" + functionName +"\" illegal number of arguments " + count;
				addToErrorList(errorStr);
			}
    	}
    	else if (reqArguments != count) {
			errorStr = "Function \"" + functionName +"\" requires "
			           + reqArguments + " parameter";
			if (reqArguments!=1) errorStr += "s";
			addToErrorList(errorStr);
		}
    }
}



String Identifier() :
{
  Token t;
}
{
	( t = <INDENTIFIER1> |	t = <INDENTIFIER2> ) { return t.image; }
}


void AnyConstant() #Constant:
{
	Token t;
	Object value;
}
{
	t=<STRING_LITERAL> {
		// strip away double quotes at end of string
		String temp = (t.image).substring(1,t.image.length()-1);
		
		// replace escape characters
		temp = replaceEscape(temp);
		
		jjtThis.setValue(temp);
	}
	|
	value = RealConstant() {
		jjtThis.setValue(value);
//	}
//	|
//	value = Array() {
//		jjtThis.setValue(value);
	}
}

/*
Vector Array() :
{
	Object value;
	Vector result = new Vector();
}
{
	<LSQ>
	value = RealConstant()
	{
		result.addElement(value);
	}
	(
		<COMMA>
		value = RealConstant()
		{
			result.addElement(value);
		}
	)* 
	<RSQ>
	{
		return result;
	}
}
*/




Object RealConstant() :
{
  Token t;
  Object value;
}
{
	(t=<INTEGER_LITERAL>	|	t=<FLOATING_POINT_LITERAL>)
	{
		try {
			value = jep.getNumberFactory().createNumber(t.image);
		} catch (Exception e) {
			value = null;
			addToErrorList("Can't parse \"" + t.image + "\"");
		}
	
		return value;
	}
}
PK
"|7~#org/nfunk/jep/ParserConstants.class0	.EOFI
ConstantValueINTEGER_LITERALDECIMAL_LITERALFLOATING_POINT_LITERAL	EXPONENT
STRING_LITERALINDENTIFIER1LETTER1
DIGIT1INDENTIFIER2LETTER2DIGIT2ASSIGNSEMICOMMAGTLTEQLEGENEANDORPLUSMINUSMULDOT DIV!MOD"NOT#POWER$CROSS%LSQ&RSQ'LRND(RRND)COLON*NO_DOT_IN_IDENTIFIERSDEFAULT
tokenImage[Ljava/lang/String;<clinit>()VCodeLineNumberTable
SourceFileParserConstants.javajava/lang/String<EOF>" ""\t""\n""\r"<token of kind 5><token of kind 6><INTEGER_LITERAL><DECIMAL_LITERAL><FLOATING_POINT_LITERAL>
<EXPONENT><STRING_LITERAL><INDENTIFIER1>	<LETTER1><DIGIT1><INDENTIFIER2>	<LETTER2><DIGIT2>"="";"","">""<""==""<="">=""!=""&&""||""+""-""*"".""/""%""!""^""^^""[""]""("")"":"org/nfunk/jep/ParserConstantsjava/lang/Object./(0123412561278129:12;<12=>12?@12AB12CD12EF12GH12IJ12KL12MN12OP12QR12ST12UV12WX12YZ12[\12]^12_`12ab12cd12ef12gh12ij12kl12mn12op12qr12st12uv12wx12yz12{|123}12~+YSYSYSYSYSYSYSY	SY
SY	SY
SY
SYSY
SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY!SY "SY!#SY"$SY#%SY$&SY%'SY&(SY')SY(*SY)+SY*,S-/PK
#|7{B

%org/nfunk/jep/ParserDumpVisitor.class0]
5	67
58
9
:	;<
=
>?
@A
BC
DC
EC
FC
GCHIJindentI<init>()VCodeLineNumberTableLocalVariableTablethis!Lorg/nfunk/jep/ParserDumpVisitor;indentString()Ljava/lang/String;isbLjava/lang/StringBuffer;visit@(Lorg/nfunk/jep/SimpleNode;Ljava/lang/Object;)Ljava/lang/Object;nodeLorg/nfunk/jep/SimpleNode;dataLjava/lang/Object;
ExceptionsK>(Lorg/nfunk/jep/ASTStart;Ljava/lang/Object;)Ljava/lang/Object;Lorg/nfunk/jep/ASTStart;@(Lorg/nfunk/jep/ASTFunNode;Ljava/lang/Object;)Ljava/lang/Object;Lorg/nfunk/jep/ASTFunNode;@(Lorg/nfunk/jep/ASTVarNode;Ljava/lang/Object;)Ljava/lang/Object;Lorg/nfunk/jep/ASTVarNode;A(Lorg/nfunk/jep/ASTConstant;Ljava/lang/Object;)Ljava/lang/Object;Lorg/nfunk/jep/ASTConstant;
SourceFileParserDumpVisitor.javajava/lang/StringBuffer  LMNOPQLR): acceptor not unimplemented in subclass?STUVWXYZ[\org/nfunk/jep/ParserDumpVisitorjava/lang/Objectorg/nfunk/jep/ParserVisitororg/nfunk/jep/ParseExceptionappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;toStringjava/lang/SystemoutLjava/io/PrintStream;,(Ljava/lang/Object;)Ljava/lang/StringBuffer;java/io/PrintStreamprintln(Ljava/lang/String;)Vorg/nfunk/jep/SimpleNodechildrenAcceptC(Lorg/nfunk/jep/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;org/nfunk/jep/ASTStartorg/nfunk/jep/ASTFunNodeorg/nfunk/jep/ASTVarNodeorg/nfunk/jep/ASTConstant!8
**

r$YL=*+W+ !"!$ 
 $!"#$=Y*	+
*Y`+*,
M*Yd,( **+1,;- ==%&='()*#+8Y*	+
*Y`+*,M*Yd,12%3,465 88%,8'()*#-8Y*	+
*Y`+*,M*Yd,9:%;,<6= 88%.8'()*#/8Y*	+
*Y`+*,M*Yd,AB%C,D6E 88%08'()*#18Y*	+
*Y`+*,M*Yd,IJ%K,L6M 88%28'()*34PK
"|7?g[==&org/nfunk/jep/ParserTokenManager.class0	$
%
&	'	(	)
*+	,-
.
/
0 
1	2	3	4	5	6
7
8
9
:
;(@$  @D
<
=
>
?
@
A
B	C	D	E	F	G	H	I	J
K	LM	N	O
P
Q
RST
`KU
`V
`WX
`Y
_Z
[\	[]	^
*_	[`
*a
b
*c&
d
e	f	g
*h
*ij
_k?lmnopqrstuvwxyz{|}~	~	debugStreamLjava/io/PrintStream;	jjbitVec0[J	jjbitVec2	jjbitVec3	jjbitVec4	jjbitVec5	jjbitVec6	jjbitVec7	jjbitVec8jjnextStates[IjjstrLiteralImages[Ljava/lang/String;
lexStateNames
jjnewLexState	jjtoTokenjjtoSkipinput_streamLorg/nfunk/jep/JavaCharStream;jjrounds
jjstateSetcurCharCcurLexStateIdefaultLexState
jjnewStateCntjjroundjjmatchedPos
jjmatchedKindsetDebugStream(Ljava/io/PrintStream;)VCodeLineNumberTableLocalVariableTablethis"Lorg/nfunk/jep/ParserTokenManager;dsjjStopStringLiteralDfa_1(IJ)Iposactive0JjjStartNfa_1jjStopAtPos(II)IkindjjStartNfaWithStates_1(III)IeLjava/io/IOException;statejjMoveStringLiteralDfa0_1()IjjMoveStringLiteralDfa1_1(J)IjjCheckNAdd(I)VjjAddStates(II)VstartendjjCheckNAddTwoStatesstate1state2jjCheckNAddStatesjjMoveNfa_1lhiBytei1l1i2l2
startStatecurPosstartsAtijjStopStringLiteralDfa_0jjStartNfa_0jjStartNfaWithStates_0jjMoveStringLiteralDfa0_0jjMoveStringLiteralDfa1_0jjMoveNfa_0jjCanMove_0(IIIJJ)ZjjCanMove_1<init>!(Lorg/nfunk/jep/JavaCharStream;)Vstream"(Lorg/nfunk/jep/JavaCharStream;I)VlexStateReInitReInitRounds()VSwitchTojjFillToken()Lorg/nfunk/jep/Token;tLorg/nfunk/jep/Token;imLjava/lang/String;getNextTokenmatchedTokene1
error_lineerror_columnerror_afterEOFSeenZspecialToken<clinit>
SourceFileParserTokenManager.javajava/io/IOException		

org/nfunk/jep/TokenMgrErrorjava/lang/StringBuffer(Error: Ignoring invalid lexical state : . State unchanged.		java/lang/String=;,><==<=>=!=&&||+-*./%!^^^[]():NO_DOT_IN_IDENTIFIERSDEFAULT org/nfunk/jep/ParserTokenManagerjava/lang/Objectorg/nfunk/jep/ParserConstantsorg/nfunk/jep/JavaCharStreamreadChar()Cjava/lang/Systemoutappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;(I)Ljava/lang/StringBuffer;toString()Ljava/lang/String;(Ljava/lang/String;I)Vorg/nfunk/jep/TokennewToken(I)Lorg/nfunk/jep/Token;GetImageimage
BeginTokenbackup
getEndLinegetEndColumn(ZIIILjava/lang/String;CI)V!:*+
1. 	 	

 *-/ 111L** ` T**	` 
! '**	**
	:`*`

%&
'()4''''
x*m!%&()*+,-./:
;<=+>9[G]O^W|e*#**"**(*)***** *!
**********&*'*$***n-013579;=?ACEGI!K'L/N5O=QCRKTSV[XaYi[q]xc**

N*W*&,=>^|	w*	*	*	*	/*	*%	**
VbfcdegHjRkZndolpvq~rstuxy|} 	i)* .*!*"*Y#Z`#O* *!O
())d*"*Y#Z`#$.O Q*%*%
 X*$.%	 Q*$.%*$`.%	86*$#6*"O&6*Y!`Z!&*'*@^
*y7*".?#:?\o?)=Qh}?aw??	***(*/*)~*	6*)^*/*	,J*$6*%-*"*
)*.*%*			6*(-	*%*			6*%*"*
)/	*
)1	}*
)r*"ib6[*$O6*%;3	-6*%*/*	,5	*)7	6*
6*
*"*Y#Z`#O***(9	*(}**t*
,i;	^*(S9	H*(=*/4-6&*	6*)*	6*%*	*(*.		6*(*			6*(-	z*%q*	c		6*%O*	D* !(9-	.*#%%*			6*#%*
*?~y7*".c!cccccccccccc!c,,cccccc7cccM=	6*%?	*,A	*
)*\y*"*Y#Z`#OdC	Y*
)N*,E*(:*(/?	$*,?	*,@*z6z6	
?~y7
*~z6
*?~y7
*".jj	

E6*%m	

F]*
,R	

FB*,9	

F)*(	

F*(&**	&6*#Y6$*Z#dY6**
:
	'+4<
 *3>GNR[dox&-
69@
DJMX[bflox !$%(),-01458*95<@=K@[AbDmEpFwG{HIKLMNOPRSVWXYZ[]^_`abdeh"i%j,k0l6m9oDpOsZtcwnxqyxz|{|DORY]cfq|$+4AL+6FQX_ejnq<Pt$4+-	4$
AL
1. 	 	
 *-/ 111L** G`H '**	**
	:`*`H


4''''
x*m!%&()*+,-./:
;<=+>9[G]O^W|e*#*I*"*I*(*)***** J*!
J*****I**I**I*&*'*$*I*I*Hn

!#!%'&/(5)=+C,K.S0[2a3i5q7xc**

N*GW*&,=>^|	w*	*	*	*	/*	*%	**K
V<@=>?AHDREZHdIlJvK~LMNORSVW\ 	86*$#6*"O&6*Y!`Z!&*'*@^
*y7*".?#:?\o?)=Qh}?aw??	***(*/*)~*	6*)^*/*	,J*$6*%-*"*
)*.*%*			6*(-	*%*			6*%*"*
)/	*
)1	}*
)r*"ib6[*$O6*%;L	-6*%*/*	,5	*)7	6*
6*
*"*Y#Z`#O***(9	*(}**t*
,i;	^*(S9	H*(=*/4-6&*	6*)*	6*%*	*(*.		6*(*			6*(-	z*%q*	c		6*%O*	D* !(9-	.*#%%*			6*#%*
*?~y7*".c!cccccccccccc!c,,cccccc7cccM=	6*%?	*,A	*
)*\y*"*Y#Z`#OdC	Y*
)N*,E*(:*(/?	$*,?	*,@*z6z6	
?~y7
*~z6
*?~y7
*".jj	

E6*%m	

F]*
,R	

FB*,9	

F)*(	

F*(&**	&6*#Y6$*Z#dY6**
:
ab	cdeh'i+j4l<orstu
xz{ |*~3>GNR[dox&-69@DJMX[bflox*5@K[bmpw{	"
%,069DOZcnqx| #%'*D.O/R0Y1]2c3f5q6|9:=>ABEFHILMOPSTX\$]+^4_A`Lcghijklnorsv+w6{F|QX_ejnq<Pt$4+-	4$
AL
7&N/	O/!	'3547777730F1Y3l=P/	Q/	R/	S/	T/	U/!	&	4GZm4	
{+*V*W*$
 *H
"*X*Y*+
"	 %*++	Q*+Z*[
 

`**Z#	**YX*+
*'
]*\!$<Yd<* ]O	Q*+^*[
 
p0$_Y`Yabcdecfg*X	*/00
|.*hL+*ij*2M+,
*
k,l+, .&o	
M6**
m:**nN-*Xe*
o*  p
*y	**
mݧ:*&*	*r6J*
o*  p
*y	**
mݧ:H*&*	*s6*&r*	`*
*	ddot*z/
*?~y	"*nNu*.*u*.X-u*.*u*.X*
v6*
w6:6*
W*
o::	6x
*
k:*
*
6*
ox
*
k:_Y*X*y
@nq

aqt
3
!@H`nv| !"$%&'*,-.01 2,3.7:8I<R=[>^?a@qJtAvByCDEFIKLMO
sv5	R[^a !JYzPY|PY|PY|POY	PY	PY|PY|PNY~PYPYPYPUY	PY	PY	PYPPY	PY|PY|PY|PQY|PY|PYPY	PRY|PY|PY	PY	PSYPY	PY	PY	PT
YOYOYOYOYOYOY OY!OY
OY	OY
OYOY	OY
OYOYOYOYOYOY"OY#O$+YxSYSYSYSYSYSYSYSYSY	SY
SYSYSY
SYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY!SY"SY#SY$SY%SY&SY'SY(SY)SY*SjYSYS+
YOYOYOYOYOYOYOYOYOY	OY
OYOYOY
OYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOYOY OY!OY"OY#OY$OY%OY&OY'OY(OY)OY*OuYPtYP:8VnUHY1="#PK
"|7(t99'org/nfunk/jep/ParserTreeConstants.class0' !"#	$%&JJTSTARTI
ConstantValueJJTVOID
JJTFUNNODE
JJTVARNODEJJTCONSTANTjjtNodeName[Ljava/lang/String;<clinit>()VCodeLineNumberTable
SourceFileParserTreeConstants.javajava/lang/StringStartvoidFunNodeVarNodeConstant!org/nfunk/jep/ParserTreeConstantsjava/lang/Object	

9!YSYSYSYSYSPK
"|7QXX!org/nfunk/jep/ParserVisitor.class0
visit@(Lorg/nfunk/jep/SimpleNode;Ljava/lang/Object;)Ljava/lang/Object;
Exceptions>(Lorg/nfunk/jep/ASTStart;Ljava/lang/Object;)Ljava/lang/Object;@(Lorg/nfunk/jep/ASTFunNode;Ljava/lang/Object;)Ljava/lang/Object;@(Lorg/nfunk/jep/ASTVarNode;Ljava/lang/Object;)Ljava/lang/Object;A(Lorg/nfunk/jep/ASTConstant;Ljava/lang/Object;)Ljava/lang/Object;
SourceFileParserVisitor.javaorg/nfunk/jep/ParserVisitorjava/lang/Objectorg/nfunk/jep/ParseException	
PK
"|7|{org/nfunk/jep/SimpleNode.class0u
L	M
N	O	P	QR
STUVW	XYZ
L
[
\
\	S]
^
_`ab
cdparentLorg/nfunk/jep/Node;children[Lorg/nfunk/jep/Node;idIparserLorg/nfunk/jep/Parser;<init>(I)VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/SimpleNode;i(Lorg/nfunk/jep/Parser;I)VpjjtOpen()VjjtClosejjtSetParent(Lorg/nfunk/jep/Node;)VnjjtGetParent()Lorg/nfunk/jep/Node;jjtAddChild(Lorg/nfunk/jep/Node;I)VcjjtGetChild(I)Lorg/nfunk/jep/Node;jjtGetNumChildren()I	jjtAcceptC(Lorg/nfunk/jep/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;visitorLorg/nfunk/jep/ParserVisitor;dataLjava/lang/Object;
ExceptionsechildrenAccepttoString()Ljava/lang/String;&(Ljava/lang/String;)Ljava/lang/String;prefixLjava/lang/String;dump(Ljava/lang/String;)VgetId
SourceFileSimpleNode.java + !org/nfunk/jep/Nodefghijk9:lmnjava/lang/StringBufferopBCqrBDstHorg/nfunk/jep/SimpleNode GHjava/lang/Objectorg/nfunk/jep/ParseExceptionjava/lang/System	arraycopy*(Ljava/lang/Object;ILjava/lang/Object;II)Vorg/nfunk/jep/ParserVisitorvisit@(Lorg/nfunk/jep/SimpleNode;Ljava/lang/Object;)Ljava/lang/Object;!org/nfunk/jep/ParserTreeConstantsjjtNodeName[Ljava/lang/String;append,(Ljava/lang/String;)Ljava/lang/StringBuffer;outLjava/io/PrintStream;java/io/PrintStreamprintln! !"F
**#	$
%&
' ("Q**+#
$ %&)'*+"+#!$%&,+"+#$$%&-.":*+#&$%&/01"/*#'$%&23"@**`'*`N*-**-*+S#"*+,-$.3/81?2$*$4@%&@/@'56";*2#5$%&'78";**#9$%&9:"G	+*,	#?$ 	%&	;<	=>?@A:"(*">**2+,
W,#EFG F&J$*	'(%&(;<(=>?@BC"3	*2#S$	%&BD"JY
+*#T$%&EFGH"I*+*9=*.*2N--Y
+ϱ#"[\^`'a+bB^Hf$*'/&4'I%&IEFI8"/*#l$%&JKPK
"|7q,org/nfunk/jep/SymbolTable$StObservable.class0 	

this$0Lorg/nfunk/jep/SymbolTable;	Synthetic<init>(Lorg/nfunk/jep/SymbolTable;)VCodeLineNumberTableLocalVariableTablethisStObservableInnerClasses(Lorg/nfunk/jep/SymbolTable$StObservable;stSetChanged()VgetSymbolTable()Lorg/nfunk/jep/SymbolTable;
SourceFileSymbolTable.java	&org/nfunk/jep/SymbolTable$StObservablejava/util/Observable
setChangedorg/nfunk/jep/SymbolTable!	
>
*+*


$3*

/*

PK
"|7u{bzorg/nfunk/jep/SymbolTable.class0
6{|
}	5~	5
5
6

5

{









5
6

5


5
5







/{
/
5
/
StObservableInnerClassesserialVersionUIDJ
ConstantValuevfLorg/nfunk/jep/VariableFactory;obeservable(Lorg/nfunk/jep/SymbolTable$StObservable;<init>"(Lorg/nfunk/jep/VariableFactory;)VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/SymbolTable;varFac()Vget&(Ljava/lang/Object;)Ljava/lang/Object;keyLjava/lang/Object;
DeprecatedgetValuevarLorg/nfunk/jep/Variable;getVar,(Ljava/lang/String;)Lorg/nfunk/jep/Variable;nameLjava/lang/String;put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;valsetVarValue'(Ljava/lang/String;Ljava/lang/Object;)VcreateVariable>(Ljava/lang/String;Ljava/lang/Object;)Lorg/nfunk/jep/Variable;addVariableaddConstantmakeVarIfNeededtoString()Ljava/lang/String;eLjava/util/Enumeration;sbLjava/lang/StringBuffer;clearValuesgetVariableFactory!()Lorg/nfunk/jep/VariableFactory;addObserver(Ljava/util/Observer;)VargLjava/util/Observer;countObservers()IdeleteObserverdeleteObservers
hasChanged()ZaddObserverToExistingVariablesenclearNonConstantstmpLjava/util/Vector;
SourceFileSymbolTable.javaBJ&org/nfunk/jep/SymbolTable$StObservableB@A>?PLKLorg/nfunk/jep/VariablePjava/lang/String`]java/lang/NullPointerExceptionjava/lang/StringBuffer	Variable  does not exist.abB\]J\Tjava/lang/IllegalStateException already exists.WX^]s1Attempt to change the value of constant variable s
jknopkqJrsjava/util/VectorJborg/nfunk/jep/SymbolTablejava/util/Hashtable(Lorg/nfunk/jep/SymbolTable;)V()Ljava/lang/Object;setValue(Ljava/lang/Object;)Zappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;(Ljava/lang/String;)Vorg/nfunk/jep/VariableFactorystSetChangednotifyObservers(Ljava/lang/Object;)V
setValidValue(Z)V
setIsConstant
isConstantelements()Ljava/util/Enumeration;java/util/EnumerationhasMoreElementsnextElementaddcleargetName!569:;<>?@ABCDV**Y**+EJKLFGHI?BJDC**Y*ENNFGHKLD:*+ESFGHMNOPLDZ*+M,,	EZ	[\F GHMN	QRSTD=	*+EcF	GH	UVWXDH
*+
,EkF 
GH
MN
YNOZ[D4*+N-
-,W
YY+Eu	v
wxzF*4GH4UV4YN	+QR\]Do*+,N**--E
F*GHUVYN
QR\TDd*+M**,,E	F GHUV	QR^]DB*+N-#YY+*+,N*+-W--E	
-4;@F*BGHBUVBYN	9QR_]D^*+,N- -EF*GHUVYNQR`]DG*+N---!YY"+-,W-*+,N*+-W-E&		
/57>EF*GGHGUVGYN	>QR`TDl*+M,,*+#M*+,W,E	F GHUV	QRabD8YL*$M,% ,&N+-'W+(W+E )3F* QR
&cd8GH0efgJDk!*$L+%+&M,E F QRcd!GHhiD/*EFGH!jkDA	*+)E

F	GH	lm!noD2**EFGH!pkDA	*++E
F	GH	lm!qJD6*,E
FGH!rsD2*-EFGH!tkDu!*$M,%,&N-+.E$%& (F*QRud!GH!lmvJDZ/Y0L*$M,%,&N-!	+-1W*2+3M,%,&N*-4-WE&	+,- .0041B2L3Y5F> 
QR
#udL
QR9 udZGHRwxyz8
57PK
"|7rorg/nfunk/jep/Token.class0"
	 
!kindI	beginLinebeginColumnendLine	endColumnimageLjava/lang/String;nextLorg/nfunk/jep/Token;specialToken<init>()VCodeLineNumberTableLocalVariableTablethistoString()Ljava/lang/String;newToken(I)Lorg/nfunk/jep/Token;ofKind
SourceFile
Token.java
org/nfunk/jep/Tokenjava/lang/Object!	

/*/*:BY
KMPK
#|7Æ

!org/nfunk/jep/TokenMgrError.class0T
U
VW
VXY
Z[\]^_`ab
cd
ef
Vg
hi
jklmn
Vo
%pqrs
&t
&U
&u	%v
%w
%xyz
LEXICAL_ERRORI
ConstantValueSTATIC_LEXER_ERRORINVALID_LEXICAL_STATE
LOOP_DETECTED	errorCode
addEscapes&(Ljava/lang/String;)Ljava/lang/String;CodeLineNumberTableLocalVariableTablesLjava/lang/String;chCistrretvalLjava/lang/StringBuffer;LexicalError+(ZIIILjava/lang/String;C)Ljava/lang/String;EOFSeenZlexState	errorLineerrorColumn
errorAftercurChar
getMessage()Ljava/lang/String;thisLorg/nfunk/jep/TokenMgrError;<init>()V(Ljava/lang/String;I)Vmessagereason(ZIIILjava/lang/String;CI)V
SourceFileTokenMgrError.javajava/lang/StringBufferLM{|}~\b\t\n\f\r\"\'\\0000I\uLexical error at line 	, column .  Encountered: <EOF> "23 (), 	after : "HIL1(?@LNorg/nfunk/jep/TokenMgrErrorjava/lang/Errorjava/lang/Stringlength()IcharAt(I)Cappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;java/lang/IntegertoString(II)Ljava/lang/String;	substring(C)Ljava/lang/StringBuffer;(I)Ljava/lang/StringBuffer;valueOf(C)Ljava/lang/String;(Ljava/lang/String;)V!%&'()*+(),-()./()01(234#YL>**	QT	^
hr
|"'\+W+W+W+	W+
W~+Wt+Wj+
W`*Y= 	~HY:+YdW	+W+5j)+,h/k1r2u4|578:;=>@ACDFGIJKM+R64(78V9:
;(#<8=>?@4nY1Y5b6>nABnC(nD(nE(nF8nG:HI4/*5s6JKLM43* 5
z{6JKLN4Q*+!*"5~
6 JKO8P(LQ4*#$5
6RJKABC(D(E(F8G:P(RSPK
#|7[eorg/nfunk/jep/Variable.class0N
5	6	7	8	9
:
;
<
=>

5

?@

AB
CADEFnameLjava/lang/String;valueLjava/lang/Object;
isConstantZ
validValue<init>(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/Variable;'(Ljava/lang/String;Ljava/lang/Object;)VgetName()Ljava/lang/String;()Z
setIsConstant(Z)VbgetValue()Ljava/lang/Object;
hasValidValue
setValidValuevalsetValue(Ljava/lang/Object;)ZobjectsetValueRawtoString
SourceFile
Variable.javaG%1/HGIJjava/lang/StringBufferKL: null2$: M (Constant)org/nfunk/jep/Variablejava/util/Observable()V
setChangednotifyObservers(Ljava/lang/Object;)Vappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;java/lang/Object!j****+**(	 )*+, !"|&****+*,*,2	 345%6 & !&&#$/*7 !%/*9 !&':*: !()*/*; !+%/*= !,'B**@ !-./U*+**+	P
QRS !01/U***+b	cde !02$s*
*
Y*
*)
Y**
Y**qr%s,tRvs !34PK
#|7ntFJJ#org/nfunk/jep/VariableFactory.class0(
	 !
"
#$%defaultValueLjava/lang/Object;<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/VariableFactory;createVariable>(Ljava/lang/String;Ljava/lang/Object;)Lorg/nfunk/jep/Variable;nameLjava/lang/String;valuevarLorg/nfunk/jep/Variable;,(Ljava/lang/String;)Lorg/nfunk/jep/Variable;getDefaultValue()Ljava/lang/Object;setDefaultValue(Ljava/lang/Object;)V
SourceFileVariableFactory.java
	org/nfunk/jep/Variable
&
'org/nfunk/jep/VariableFactoryjava/lang/Object'(Ljava/lang/String;Ljava/lang/Object;)V(Ljava/lang/String;)V!	
8
**


XY+,N-


*	
Y*Y+*Y+
$%'/*
.>*+

67	PK
#|7i-org/nfunk/jep/evaluation/CommandElement.class0@
8	9	:	;	<	=>?VARI
ConstantValueCONSTFUNCtypevarNameLjava/lang/String;pfmc,Lorg/nfunk/jep/function/PostfixMathCommandI;nParamvalueLjava/lang/Object;<init>()VCodeLineNumberTableLocalVariableTablethis)Lorg/nfunk/jep/evaluation/CommandElement;getPFMC.()Lorg/nfunk/jep/function/PostfixMathCommandI;getType()IgetValue()Ljava/lang/Object;
getVarName()Ljava/lang/String;getNumParamsetPFMC/(Lorg/nfunk/jep/function/PostfixMathCommandI;)VcommandIsetType(I)VisetValue(Ljava/lang/Object;)Vobject
setVarName(Ljava/lang/String;)VstringsetNumParam
SourceFileCommandElement.java

'org/nfunk/jep/evaluation/CommandElementjava/lang/Object!	





/* !/*"#/*!$%/*(&'/*/(#/*6)*>*+
=>+,->*
DE.
/0>*+
KL123>*+
RS45->*
YZ.
67PK
#|7N22/org/nfunk/jep/evaluation/CommandEvaluator.class0c
34
3	5
6	7	8
9:
9;	<
9=>?>@
9A
BC
D
9E
FGH
I
JKL	nCommandsInParamcommand)Lorg/nfunk/jep/evaluation/CommandElement;stackLjava/util/Stack;pfmc,Lorg/nfunk/jep/function/PostfixMathCommandI;i<init>()VCodeLineNumberTableLocalVariableTablethis+Lorg/nfunk/jep/evaluation/CommandEvaluator;evaluateY([Lorg/nfunk/jep/evaluation/CommandElement;Lorg/nfunk/jep/SymbolTable;)Ljava/lang/Object;commands*[Lorg/nfunk/jep/evaluation/CommandElement;symTabLorg/nfunk/jep/SymbolTable;
Exceptions
SourceFileCommandEvaluator.java#$java/util/StackM$"NOPQR !SPTUVWXYZ[\]^]\_`Pjava/lang/Exception0CommandEvaluator.evaluate(): Stack size is not 1#ab_)org/nfunk/jep/evaluation/CommandEvaluatorjava/lang/ObjectremoveAllElements'org/nfunk/jep/evaluation/CommandElementgetType()IgetPFMC.()Lorg/nfunk/jep/function/PostfixMathCommandI;getNumParam*org/nfunk/jep/function/PostfixMathCommandIsetCurNumberOfParameters(I)Vrun(Ljava/util/Stack;)V
getVarName()Ljava/lang/String;org/nfunk/jep/SymbolTablegetValue&(Ljava/lang/Object;)Ljava/lang/Object;push()Ljava/lang/Object;size(Ljava/lang/String;)Vpop! !"#$%B**Y&'()*+%F+>****+*2*]G**	
*
**
*
(*,*W**W*Y`q*
Y*&F!#
&'(!*D-O1_3l4o89=QSTV'*(),-./012PK
#|7ږ1org/nfunk/jep/evaluation/ExpressionCompiler.class0
AB
A	C
DEF
GH
IJKJL
MN
A
O
MP
Q
MR
S
T
UV
W
XY
Z[\]commandsLjava/util/Vector;<init>()VCodeLineNumberTableLocalVariableTablethis-Lorg/nfunk/jep/evaluation/ExpressionCompiler;compile@(Lorg/nfunk/jep/Node;)[Lorg/nfunk/jep/evaluation/CommandElement;nodeLorg/nfunk/jep/Node;temp*[Lorg/nfunk/jep/evaluation/CommandElement;enLjava/util/Enumeration;iI
Exceptions^visit@(Lorg/nfunk/jep/ASTFunNode;Ljava/lang/Object;)Ljava/lang/Object;Lorg/nfunk/jep/ASTFunNode;dataLjava/lang/Object;c)Lorg/nfunk/jep/evaluation/CommandElement;@(Lorg/nfunk/jep/ASTVarNode;Ljava/lang/Object;)Ljava/lang/Object;Lorg/nfunk/jep/ASTVarNode;A(Lorg/nfunk/jep/ASTConstant;Ljava/lang/Object;)Ljava/lang/Object;Lorg/nfunk/jep/ASTConstant;@(Lorg/nfunk/jep/SimpleNode;Ljava/lang/Object;)Ljava/lang/Object;Lorg/nfunk/jep/SimpleNode;>(Lorg/nfunk/jep/ASTStart;Ljava/lang/Object;)Ljava/lang/Object;Lorg/nfunk/jep/ASTStart;
SourceFileExpressionCompiler.javajava/util/Vector_`abcd'org/nfunk/jep/evaluation/CommandElementefghijklmbnopqrstduovwxyz{|}~kw+org/nfunk/jep/evaluation/ExpressionCompilerjava/lang/Objectorg/nfunk/jep/ParserVisitororg/nfunk/jep/ParseExceptionremoveAllElementsorg/nfunk/jep/Node	jjtAcceptC(Lorg/nfunk/jep/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;size()Ielements()Ljava/util/Enumeration;java/util/EnumerationhasMoreElements()ZnextElement()Ljava/lang/Object;org/nfunk/jep/ASTFunNodechildrenAcceptsetType(I)VgetPFMC.()Lorg/nfunk/jep/function/PostfixMathCommandI;setPFMC/(Lorg/nfunk/jep/function/PostfixMathCommandI;)VjjtGetNumChildrensetNumParam
addElement(Ljava/lang/Object;)Vorg/nfunk/jep/ASTVarNodegetName()Ljava/lang/String;
setVarName(Ljava/lang/String;)Vorg/nfunk/jep/ASTConstantgetValuesetValue!B**Y !"#$%D*+*W*M*	N6-
,-S, "#&/ B"!4D"#D&')()#!*+&,-./01.+*,WY
N--+-+*-, &()*+$,,.!*."#.&2.3456./07wY
N--+*-, 23
457!*"#&8345609wY
N--+*-, ;<
=>@!*"#&:34560;@, D! "#&<340=@, H! "#&>34?@PK
#|7JU%org/nfunk/jep/evaluation/package.html<body>
An experimental fast evaluator which "compiles" an expression into a set
of CommandElement objects rather than traversing the parse tree. These classes
are still experimental and are not used by default for evaluation.
</body>
PK
#|7\'yy org/nfunk/jep/function/Abs.class0F
%	&
'
()
*
(+,-
.
/0
1
2345
678<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/Abs;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionsabs&(Ljava/lang/Object;)Ljava/lang/Object;
SourceFileAbs.java9:;<=>!"?"org/nfunk/jep/type/Complexjava/lang/Double!@Ajava/lang/NumberB@C!Dorg/nfunk/jep/ParseExceptionInvalid parameter typeEorg/nfunk/jep/function/Abs)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;push()D(D)VdoubleValuejava/lang/Math(D)D(Ljava/lang/String;)V!<
**	
_*++M+*,W
 
 !"}9+Y+	
+Y+

Y$&(*/-99 #$PK
#|7JRS org/nfunk/jep/function/Add.class0n
?	@
A
BC	D
E
BFG
HI
J
KLM
?
N
OPQ
RS

T
U
V
W
XYZ<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/Add;run(Ljava/util/Stack;)VparamLjava/lang/Object;stackLjava/util/Stack;sumiI
Exceptionsadd8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;param1param28(Ljava/lang/Number;Ljava/lang/Number;)Ljava/lang/Double;d1Ljava/lang/Number;d2V(Lorg/nfunk/jep/type/Complex;Lorg/nfunk/jep/type/Complex;)Lorg/nfunk/jep/type/Complex;c1Lorg/nfunk/jep/type/Complex;c2L(Lorg/nfunk/jep/type/Complex;Ljava/lang/Number;)Lorg/nfunk/jep/type/Complex;cd
SourceFileAdd.java[,\%]^_`,./aborg/nfunk/jep/type/Complex.6java/lang/Number.:.2java/lang/Stringjava/lang/StringBuffercdeforg/nfunk/jep/ParseExceptionInvalid parameter typegjava/lang/Doublehijkilimorg/nfunk/jep/function/Add)org/nfunk/jep/function/PostfixMathCommandnumberOfParameters
checkStackjava/util/Stackpop()Ljava/lang/Object;curNumberOfParameterspush&(Ljava/lang/Object;)Ljava/lang/Object;append,(Ljava/lang/String;)Ljava/lang/StringBuffer;toString()Ljava/lang/String;(Ljava/lang/String;)VdoubleValue()D(D)Vreim(DD)V!<
** 	!
"#$%/*++M6*+N*-,M+,W &	"$
&
)+."0(3.5!4
&'/"#/()
%*'
"+,-./++,*+,	,
f*+,
+
+,*,+
,
7*+
,
+
#,
Y+
,
Y 6
DFGH"I/K6M=NJOQP^RlSV! "#0'1'-.2OY+,c Z! "#3454.6XY+,c+,c ^! "#7898.:SY+,c+ b! "#;8<4=>PK
#|7M
&org/nfunk/jep/function/ArcCosine.class0G
%	&
'
()
*
(+,
-./
	0
12

345
678<init>()VCodeLineNumberTableLocalVariableTablethis"Lorg/nfunk/jep/function/ArcCosine;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionsacos&(Ljava/lang/Object;)Ljava/lang/Object;
SourceFileArcCosine.java9:;<=>!"?"org/nfunk/jep/type/Complex!@java/lang/Numberjava/lang/DoubleABC!DEorg/nfunk/jep/ParseExceptionInvalid parameter typeF org/nfunk/jep/function/ArcCosine)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;push()Lorg/nfunk/jep/type/Complex;doubleValue()Djava/lang/Math(D)D(D)V(Ljava/lang/String;)V!<
**	
_*++M+*,W !
"# 
 !"v2+++	
Y+	
Y)+-/(222 #$PK
#|7gg'org/nfunk/jep/function/ArcCosineH.class0S
,	-
.
/0
1
/23
45
	6
78
79:

;
<=>
?@A<init>()VCodeLineNumberTableLocalVariableTablethis#Lorg/nfunk/jep/function/ArcCosineH;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionsacosh&(Ljava/lang/Object;)Ljava/lang/Object;resDtempLorg/nfunk/jep/type/Complex;val
SourceFileArcCosineH.javaBCDEFG#$H$org/nfunk/jep/type/Complex#Ijava/lang/NumberJKLMNONjava/lang/DoublePQorg/nfunk/jep/ParseExceptionInvalid parameter typeR!org/nfunk/jep/function/ArcCosineH)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;push()Lorg/nfunk/jep/type/Complex;doubleValue()Djava/lang/Mathsqrt(D)Dlog(D)V(DD)V(Ljava/lang/String;)V!<
**	
_*++M+*,W 
!" 
 !"#$^+++	A+	
I((((kgc9
YY+	
:Y*
(*,./$031=5N6T:43
%&N'(6)&^^ !"*+PK
#|7ğkZ$org/nfunk/jep/function/ArcSine.class0G
%	&
'
()
*
(+,
-./
	0
12

345
678<init>()VCodeLineNumberTableLocalVariableTablethis Lorg/nfunk/jep/function/ArcSine;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionsasin&(Ljava/lang/Object;)Ljava/lang/Object;
SourceFileArcSine.java9:;<=>!"?"org/nfunk/jep/type/Complex!@java/lang/Numberjava/lang/DoubleABC!DEorg/nfunk/jep/ParseExceptionInvalid parameter typeForg/nfunk/jep/function/ArcSine)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;push()Lorg/nfunk/jep/type/Complex;doubleValue()Djava/lang/Math(D)D(D)V(Ljava/lang/String;)V!<
**	
_*++M+*,W
 
 !"v2+++	
Y+	
Y$&(*(-22 #$PK
#|7tZ%org/nfunk/jep/function/ArcSineH.class0N
)	*
+
,-
.
,/0
12
	3
45
467

89:
;<=<init>()VCodeLineNumberTableLocalVariableTablethis!Lorg/nfunk/jep/function/ArcSineH;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionsasinh&(Ljava/lang/Object;)Ljava/lang/Object;valDres
SourceFile
ArcSineH.java>?@ABC"#D#org/nfunk/jep/type/Complex"Ejava/lang/NumberFGHIJKJjava/lang/DoubleLorg/nfunk/jep/ParseExceptionInvalid parameter typeMorg/nfunk/jep/function/ArcSineH)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;push()Lorg/nfunk/jep/type/Complex;doubleValue()Djava/lang/Mathsqrt(D)Dlog(D)V(Ljava/lang/String;)V!<
**	
_*++M+*,W 
!" 
 !"#A+++	$+	
I(((kcc9
YY(*,./-074*$%-
&%AA !'(PK
#|7@7bb$org/nfunk/jep/function/ArcTanH.class0T
/	0
1
23
4
256
78
	9
:;@<
=
>?@
ABC<init>()VCodeLineNumberTableLocalVariableTablethis Lorg/nfunk/jep/function/ArcTanH;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionsatanh&(Ljava/lang/Object;)Ljava/lang/Object;resDtempLorg/nfunk/jep/type/Complex;val
SourceFileArcTanH.javaDEF GHI&'J'org/nfunk/jep/type/Complex&Kjava/lang/NumberLMNOPjava/lang/DoubleQRorg/nfunk/jep/ParseExceptionInvalid parameter typeSorg/nfunk/jep/function/ArcTanH)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;push()Lorg/nfunk/jep/type/Complex;doubleValue()Djava/lang/Mathlog(D)D(D)V(DD)V(Ljava/lang/String;)V!<
**	
 _*++M+*,W 
!" !"
#$%&'a+++	D+	
I(#((c(go
o9YY(:Y*
(*,./,0<1F5Q6W:4<
()Q*+9,)aa#$%-.PK
#|7-Г'org/nfunk/jep/function/ArcTangent.class0G
%	&
'
()
*
(+,
-./
	0
12

345
678<init>()VCodeLineNumberTableLocalVariableTablethis#Lorg/nfunk/jep/function/ArcTangent;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionsatan&(Ljava/lang/Object;)Ljava/lang/Object;
SourceFileArcTangent.java9:;<=>!"?"org/nfunk/jep/type/Complex!@java/lang/Numberjava/lang/DoubleABC!DEorg/nfunk/jep/ParseExceptionInvalid parameter typeF!org/nfunk/jep/function/ArcTangent)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;push()Lorg/nfunk/jep/type/Complex;doubleValue()Djava/lang/Math(D)D(D)V(Ljava/lang/String;)V!<
**	
_*++M+*,W
 
 !"v2+++	
Y+	
Y#%')(,22 #$PK
#|7sqCNN(org/nfunk/jep/function/ArcTangent2.class0D
$	%
&
'()
*+
,-
.
'/01
234<init>()VCodeLineNumberTableLocalVariableTablethis$Lorg/nfunk/jep/function/ArcTangent2;run(Ljava/util/Stack;)VyDxinStackLjava/util/Stack;param2Ljava/lang/Object;param1
Exceptions
SourceFileArcTangent2.java56789:java/lang/Number;<java/lang/Double=>?@ABorg/nfunk/jep/ParseExceptionInvalid parameter typeC"org/nfunk/jep/function/ArcTangent2)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;doubleValue()Djava/lang/Mathatan2(DD)D(D)Vpush&(Ljava/lang/Object;)Ljava/lang/Object;(Ljava/lang/String;)V!<
**	
P*++M+N-2,+-9,9+Y	
W
Y
&	
 "$&%/&E)O*>&/PP
FA !"#PK
#|7<- org/nfunk/jep/function/Arg.class0D
'	(
)
*+
,
*-./
0
12	345

678ONELjava/lang/Double;<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/Arg;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionsarg&(Ljava/lang/Object;)Ljava/lang/Number;<clinit>
SourceFileArg.java9:;<=>"#?@org/nfunk/jep/type/Complexjava/lang/Double"ABjava/lang/Numberorg/nfunk/jep/ParseExceptionInvalid parameter typeCorg/nfunk/jep/function/Arg)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;push&(Ljava/lang/Object;)Ljava/lang/Object;()D(D)V(Ljava/lang/String;)V!<
**	
_*++M+*,W 
!" 
 !
"#o++Y+	
+
Y&')*!,++ !
$$Y
%&PK
#|7;#org/nfunk/jep/function/Assign.class0U
+	,-./0
1-2345
	6
789
:;<=>?@<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/Assign;evaluateB(Lorg/nfunk/jep/Node;Lorg/nfunk/jep/EvaluatorI;)Ljava/lang/Object;vnLorg/nfunk/jep/ASTVarNode;varLorg/nfunk/jep/Variable;nodeLorg/nfunk/jep/Node;pvLorg/nfunk/jep/EvaluatorI;rhsValLjava/lang/Object;lhsNode
Exceptions
SourceFileAssign.javaABCDEorg/nfunk/jep/ParseException*Assignment operator must have 2 operators.FGHIJKorg/nfunk/jep/ASTVarNodeLMNOPorg/nfunk/jep/ASTFunNodeQRorg/nfunk/jep/function/LValueIST8Assignment should have a variable or LValue for the lhs.org/nfunk/jep/function/Assign)org/nfunk/jep/function/PostfixMathCommand*org/nfunk/jep/function/CallbackEvaluationInumberOfParametersIorg/nfunk/jep/NodejjtGetNumChildren()I(Ljava/lang/String;)VjjtGetChild(I)Lorg/nfunk/jep/Node;org/nfunk/jep/EvaluatorIeval((Lorg/nfunk/jep/Node;)Ljava/lang/Object;getVar()Lorg/nfunk/jep/Variable;org/nfunk/jep/VariablesetValue(Ljava/lang/Object;)ZgetPFMC.()Lorg/nfunk/jep/function/PostfixMathCommandI;setC(Lorg/nfunk/jep/EvaluatorI;Lorg/nfunk/jep/Node;Ljava/lang/Object;)V!<
**)+	-
+
Y,+N+:		:
:-W-'

,--Y6
;
=C"I+K3O:QASHUJY`]t_vcH:A	 !"#$"^%&+U'"()*PK
#|70org/nfunk/jep/function/CallbackEvaluationI.class0	
evaluateB(Lorg/nfunk/jep/Node;Lorg/nfunk/jep/EvaluatorI;)Ljava/lang/Object;
Exceptions
SourceFileCallbackEvaluationI.java*org/nfunk/jep/function/CallbackEvaluationIjava/lang/Objectorg/nfunk/jep/ParseExceptionPK
#|7q

(org/nfunk/jep/function/Comparative.class0
,`	+a	+b>	+c
+d
ef
+g
+h
+i
+j
+k
+lm
n
eopqr
st
uv
`w
x
yz
{|}
~


(
yidI	toleranceDLT
ConstantValueGTLEGENEEQ<init>(I)VCodeLineNumberTableLocalVariableTablethis$Lorg/nfunk/jep/function/Comparative;id_inrun(Ljava/util/Stack;)VinStackLjava/util/Stack;param2Ljava/lang/Object;param1resZ
Exceptionslt'(Ljava/lang/Object;Ljava/lang/Object;)ZxygtlegeeqnegetTolerance()DsetTolerance(D)Vd
SourceFileComparative.java>-../0GPQTQUQVQXQWQjava/lang/Double>\org/nfunk/jep/type/Complexorg/nfunk/jep/ParseException!< not defined for complex numbers>java/lang/NumberZjava/lang/StringBuffer!< not defined for object of type  and !> not defined for complex numbers!> not defined for object of type "<= not defined for complex numbers"<= not defined for object of type ">= not defined for complex numbers">= not defined for object of type >java/lang/Boolean"org/nfunk/jep/function/Comparative)org/nfunk/jep/function/PostfixMathCommand()VnumberOfParameters
checkStackjava/util/Stackpop()Ljava/lang/Object;push&(Ljava/lang/Object;)Ljava/lang/Object;(Ljava/lang/String;)VdoubleValueappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;java/lang/ObjectgetClass()Ljava/lang/Class;java/lang/ClassgetName()Ljava/lang/String;toStringequals (Lorg/nfunk/jep/type/Complex;D)Z(Ljava/lang/Number;)VbooleanValue()Z(Ljava/lang/Object;)Z!+,-./01.234.256.278.29:.2;<.2=
>?@Z****A12	345BCDE.FG@$*++M+N6*e&1<GR]*-,	67*-,
6,*-,6!*-,6*-,
6*-,6+YW+YWA:9;
<=><@GARB]ChDsE{GHIB4CDHI
JKLKMNOPQ@t+
,
Y+(,!+J,9)YY+,AMNO&Q.R7SDUB4.R07
S0tCDtLKtJKOTQ@t+
,
Y +(,!+J,9)YY!+,AZ[]&_.`7aDcB4.R07
S0tCDtLKtJKOUQ@t+
,
Y"+(,!+J,9)YY#+,Ahik&m.n7oDqB4.R07
S0tCDtLKtJKOVQ@t+
,
Y$+(,!+J,9)YY%+,Avwy&{.|7}DB4.R07
S0tCDtLKtJKOWQ@-+,+,*&+!,+Y,'*&,!+,Y+'*&+(,!+J,9)+(',( +()>,()6+0,()+J,()9)+(0,)+()J,9)+,*A^,CQhv~'Bp~R0
S0RNSNR0
S0R0
S0-CD-LK-JKOXQ@3M+",+,*&+),"+Y,'*&,)+",Y+'*&+(,!+J,9)+(',( +()>,()6+0,()+J,()9)+(0,)+()J,9)+,*A^&4Sa)2?BpR0
S0RNSNR0
S0)R02
S0MCDMLKMJKOYZ@/*A4BCD[\@>*'A
<=BCD]0^_PK
#|7("#org/nfunk/jep/function/Cosine.class0G
%	&
'
()
*
(+,
-./
	0
12

345
678<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/Cosine;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionscos&(Ljava/lang/Object;)Ljava/lang/Object;
SourceFileCosine.java9:;<=>!"?"org/nfunk/jep/type/Complex!@java/lang/Numberjava/lang/DoubleABC!DEorg/nfunk/jep/ParseExceptionInvalid parameter typeForg/nfunk/jep/function/Cosine)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;push()Lorg/nfunk/jep/type/Complex;doubleValue()Djava/lang/Math(D)D(D)V(Ljava/lang/String;)V!<
**	
_*++M+*,W
 
 !"v2+++	
Y+	
Y#%')(,22 #$PK
#|7<$org/nfunk/jep/function/CosineH.class0L
)	*
+
,-
.
,/0
12
	34
56@
789
:;<<init>()VCodeLineNumberTableLocalVariableTablethis Lorg/nfunk/jep/function/CosineH;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionscosh&(Ljava/lang/Object;)Ljava/lang/Object;valueD
SourceFileCosineH.java=>?@AB#$C$org/nfunk/jep/type/Complex#Djava/lang/NumberEFjava/lang/DoubleGHIJorg/nfunk/jep/ParseExceptionInvalid parameter typeKorg/nfunk/jep/function/CosineH)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;push()Lorg/nfunk/jep/type/Complex;doubleValue()Djava/lang/Mathexp(D)D(D)V(Ljava/lang/String;)V!<
**	
_*++M+*,W
 
 !"#$>+++	!+	
IY((wc
oY#%')*4- %&>> !"'(PK
#|7}
%44"org/nfunk/jep/function/Cross.class0e
;	<
=
>?
@
>AB
CDE
	F
GH
I
J	K	L
M
N
O
PQ
;R
;STsub!Lorg/nfunk/jep/function/Subtract;mul!Lorg/nfunk/jep/function/Multiply;<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/Cross;run(Ljava/util/Stack;)VinStackLjava/util/Stack;param2Ljava/lang/Object;param1
Exceptionscross8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;8(Ljava/util/Vector;Ljava/util/Vector;)Ljava/lang/Object;resLjava/util/Vector;lhsrhslenI<clinit>
SourceFile
Cross.java !U7V(WXY/0Z[java/util/Vector/1org/nfunk/jep/ParseException=Cross: Invalid parameter type, both arguments must be vectors \]^%Cross: both sides must be of length 3 _`_ab00cdorg/nfunk/jep/function/Subtractorg/nfunk/jep/function/Multiplyorg/nfunk/jep/function/Cross)org/nfunk/jep/function/PostfixMathCommandnumberOfParameters
checkStackjava/util/Stackpop()Ljava/lang/Object;push&(Ljava/lang/Object;)Ljava/lang/Object;(Ljava/lang/String;)Vsize()I(I)VsetSize	elementAt(I)Ljava/lang/Object;setElementAt(Ljava/lang/Object;I)V! !"<
**#	$
%&'("s*++M+N+*-,W#
 "$*%&)*
+,-,.	/0"k%+,*+,	Y
#(*,$ %%&%-,%+,.	/1"^+>,
	Y
Y:+,+,+,+,+,+,+,+,#.123!4&60768b;>AE$4023%&435367.	8!"1YY#

9:PK
#|7@-org/nfunk/jep/function/DefiniteIntegral.class0(
		
	
 !"<init>()VCodeLineNumberTableLocalVariableTablethis)Lorg/nfunk/jep/function/DefiniteIntegral;run(Ljava/util/Stack;)VinStackLjava/util/Stack;
Exceptions
SourceFileDefiniteIntegral.java#$%&$org/nfunk/jep/ParseException
Empty list''org/nfunk/jep/function/DefiniteIntegral)org/nfunk/jep/function/PostfixMathCommand*org/nfunk/jep/function/PostfixMathCommandInumberOfParametersI
checkStackcurNumberOfParameters(Ljava/lang/String;)V!	

<
**
	

` *+**
Y  PK
#|7W00(org/nfunk/jep/function/Determinant.class0
	<init>()VCodeLineNumberTableLocalVariableTablethis$Lorg/nfunk/jep/function/Determinant;run(Ljava/util/Stack;)VinStackLjava/util/Stack;
Exceptions
SourceFileDeterminant.java"org/nfunk/jep/function/Determinant)org/nfunk/jep/function/PostfixMathCommandorg/nfunk/jep/ParseExceptionnumberOfParametersI!<
**
		


5	
PK
#|7`gl33)org/nfunk/jep/function/Differential.class0
	<init>()VCodeLineNumberTableLocalVariableTablethis%Lorg/nfunk/jep/function/Differential;run(Ljava/util/Stack;)VinStackLjava/util/Stack;
Exceptions
SourceFileDifferential.java#org/nfunk/jep/function/Differential)org/nfunk/jep/function/PostfixMathCommandorg/nfunk/jep/ParseExceptionnumberOfParametersI!<
**
		


5	
PK
#|7h5p
p
#org/nfunk/jep/function/Divide.class0
!J	 K
 L
MN
 O
MPQ
 RS
 TU
 V
 W
 X
 Y
 Z
 [\]
^_
	`
a
b
c
d
e
J
f
g
hij<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/Divide;run(Ljava/util/Stack;)VinStackLjava/util/Stack;param2Ljava/lang/Object;param1
Exceptionsdiv8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;8(Ljava/lang/Number;Ljava/lang/Number;)Ljava/lang/Double;d1Ljava/lang/Number;d2V(Lorg/nfunk/jep/type/Complex;Lorg/nfunk/jep/type/Complex;)Lorg/nfunk/jep/type/Complex;c1Lorg/nfunk/jep/type/Complex;c2L(Ljava/lang/Number;Lorg/nfunk/jep/type/Complex;)Lorg/nfunk/jep/type/Complex;dcL(Lorg/nfunk/jep/type/Complex;Ljava/lang/Number;)Lorg/nfunk/jep/type/Complex;8(Ljava/util/Vector;Ljava/lang/Number;)Ljava/util/Vector;iIvLjava/util/Vector;result8(Ljava/lang/Number;Ljava/util/Vector;)Ljava/util/Vector;B(Ljava/util/Vector;Lorg/nfunk/jep/type/Complex;)Ljava/util/Vector;B(Lorg/nfunk/jep/type/Complex;Ljava/util/Vector;)Ljava/util/Vector;
SourceFileDivide.java"#kAl*mno12pqorg/nfunk/jep/type/Complex17java/lang/Number1>java/util/Vector1G1;131E1F1?org/nfunk/jep/ParseExceptionInvalid parameter type"rjava/lang/Doublest"u1v"wxtytz{|}~org/nfunk/jep/function/Divide)org/nfunk/jep/function/PostfixMathCommandnumberOfParameters
checkStackjava/util/Stackpop()Ljava/lang/Object;push&(Ljava/lang/Object;)Ljava/lang/Object;(Ljava/lang/String;)VdoubleValue()D(D)V:(Lorg/nfunk/jep/type/Complex;)Lorg/nfunk/jep/type/Complex;(DD)Vreimsize()I	elementAt(I)Ljava/lang/Object;
addElement(Ljava/lang/Object;)V! !"#$<
**%	&
'()*$s*++M+N+*-,W%
&*'(+,
-./.012$I+?,*+,,	*+,	
,*+,+	?,*+	,
,	*+	,	,?*+	,++,*+,,	*+,	Y%R#%&'"(/)6*C,J.Q/^0e1r2y35789:=& '(/.-.013$OY+,o%C& '(456517$D+,%H& '(89:91;$_Y+N-,%
M
O&*'(<5=9
891>$XY+,o+,o%T& '(=9<51?$.YN6+-*+	,-%Y[\&[,^&4!@A.'(.BC.<5&DC1E$.YN6,-*+,	-%cef&e,h&4!@A.'(.<5.BC&DC1F$.YN6+-*+	,
-%mop&o,r&4!@A.'(.BC.=9&DC1G$.YN6,-*+,	
-%wyz&y,|&4!@A.'(.=9.BC&DCHIPK
#|7@zz org/nfunk/jep/function/Dot.class0^
:	;
<
=>
?
=@A
BCD
	E
FGH	I
J
K	L
MN
:O
:PQaddLorg/nfunk/jep/function/Add;mul!Lorg/nfunk/jep/function/Multiply;<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/Dot;run(Ljava/util/Stack;)VinStackLjava/util/Stack;param2Ljava/lang/Object;param1
Exceptionsdot8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;8(Ljava/util/Vector;Ljava/util/Vector;)Ljava/lang/Object;iIv1Ljava/util/Vector;v2lenres<clinit>
SourceFileDot.javaR1S&TUV-.WXjava/util/Vector-/org/nfunk/jep/ParseException;Dot: Invalid parameter type, both arguments must be vectorsYZ[*Dot: both sides of dot must be same lengthDot: empty vectors parsed\]..org/nfunk/jep/function/Addorg/nfunk/jep/function/Multiplyorg/nfunk/jep/function/Dot)org/nfunk/jep/function/PostfixMathCommandnumberOfParameters
checkStackjava/util/Stackpop()Ljava/lang/Object;push&(Ljava/lang/Object;)Ljava/lang/Object;(Ljava/lang/String;)Vsize()I	elementAt(I)Ljava/lang/Object;! <
**!	"
#$%& s*++M+N+*-,W!
 ""*#$'(
)*+*,	-. k%+,*+,	Y
!(*," %#$%+*%)*,	-/ i+,
	Y
+>
	Y+,:6%+,:!*
23456)8;9D;`9f>">>(01i#$i23i43O51;.6*,	7 1YY!

89PK
#|7tT47
7
 org/nfunk/jep/function/Ele.class0
C	DEFGHI
J
KLMN

OP
QR
ST
UVW
X
Y
UZ
[
\]^
_
\`abc<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/Ele;setC(Lorg/nfunk/jep/EvaluatorI;Lorg/nfunk/jep/Node;Ljava/lang/Object;)VvecLjava/util/Vector;pvLorg/nfunk/jep/EvaluatorI;nodeLorg/nfunk/jep/Node;valueLjava/lang/Object;lhsNoderhsNodevnLorg/nfunk/jep/ASTVarNode;varLorg/nfunk/jep/Variable;rhsindexI	oldVarVal	newVarVal
Exceptionsrun(Ljava/util/Stack;)VvalsLjava/util/Stack;lhs
SourceFileEle.javad7efgorg/nfunk/jep/ASTVarNodeorg/nfunk/jep/ParseExceptionEle: lhs must be a variablehijklmjava/lang/Numbernojava/util/Vectorpo2Ele: only single dimension arrays supported in JEPqrEle: rhs must be a numberstr/Ele: the value of the variable must be a Vectorur%vwxy<z{r&Ele: lhs must be an instance of Vector|}~org/nfunk/jep/function/Ele)org/nfunk/jep/function/PostfixMathCommandorg/nfunk/jep/function/LValueInumberOfParametersorg/nfunk/jep/NodejjtGetChild(I)Lorg/nfunk/jep/Node;(Ljava/lang/String;)VgetVar()Lorg/nfunk/jep/Variable;org/nfunk/jep/EvaluatorIeval((Lorg/nfunk/jep/Node;)Ljava/lang/Object;intValue()IsizefirstElement()Ljava/lang/Object;org/nfunk/jep/VariablegetValueclone'(ILjava/lang/Object;)Ljava/lang/Object;setValue(Ljava/lang/Object;)Z
checkStackjava/util/Stackpop	elementAt(I)Ljava/lang/Object;push&(Ljava/lang/Object;)Ljava/lang/Object;! <
**!	"
#$%& ,:,:
Y::+,	:6	

d6	A/:



Y

d6	
Y:


Y
:	-WW!Z#	$%&$'+(2)A*D+L-[/c1j2}356789:;<"
j"'(
#$)*+,-.	/,0,+12234A5.D67	18.
9(:;< K*++M+N-
Y,
!,
6-d:+W,>,:

Y
6-d:+WY!F?@
AB D'F0G=HDIEKLMRNeOrPQRU"\	067==.R5'(r67=.#$>?
5.@.:ABPK
#|7y#org/nfunk/jep/function/Equals.class0"
	
<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/Equals;evaluateB(Lorg/nfunk/jep/Node;Lorg/nfunk/jep/EvaluatorI;)Ljava/lang/Object;nodeLorg/nfunk/jep/Node;pvLorg/nfunk/jep/EvaluatorI;
Exceptions
SourceFileEquals.java	 !java/lang/Objectorg/nfunk/jep/function/Equals)org/nfunk/jep/function/PostfixMathCommand*org/nfunk/jep/function/CallbackEvaluationIorg/nfunk/jep/ParseExceptionnumberOfParametersI!	
<
**
	


FY 
PK
#|7#gTKK org/nfunk/jep/function/Exp.class0Y
/	0
1
23
4
256
7
8
9:
9;
9<
=>?
@
ABC
DEF<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/Exp;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionsexp&(Ljava/lang/Object;)Ljava/lang/Object;zLorg/nfunk/jep/type/Complex;xDymod
SourceFileExp.javaGHIJKL%&M&org/nfunk/jep/type/ComplexNOPOQ%RSRTRUjava/lang/Numberjava/lang/DoubleVOWorg/nfunk/jep/ParseExceptionInvalid parameter typeXorg/nfunk/jep/function/Exp)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;pushre()Dimjava/lang/Math(D)Dcossin(DD)VdoubleValue(D)V(Ljava/lang/String;)V!<
** !	"
_*++M+*,W'(
)*  !
"#$%&	X+1+M,J,	9)
9Ykk
+Y+
Y&	02345658<:N=>)'($)*+*,*XX"#$-.PK
#|7)z,mm&org/nfunk/jep/function/Imaginary.class0?
#	$
%
&'
(
&)*+
,
-./0
123<init>()VCodeLineNumberTableLocalVariableTablethis"Lorg/nfunk/jep/function/Imaginary;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionsim&(Ljava/lang/Object;)Ljava/lang/Number;
SourceFileImaginary.java456789 :;org/nfunk/jep/type/Complexjava/lang/Double<=java/lang/Numberorg/nfunk/jep/ParseExceptionInvalid parameter type> org/nfunk/jep/function/Imaginary)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;push&(Ljava/lang/Object;)Ljava/lang/Object;()D(D)V(Ljava/lang/String;)V!<
**	
_*++M+*,W
 
 t0+Y+	
+Y
Y
 !"&%00!"PK
#|7%org/nfunk/jep/function/Integral.class0(
		
	
 !"<init>()VCodeLineNumberTableLocalVariableTablethis!Lorg/nfunk/jep/function/Integral;run(Ljava/util/Stack;)VinStackLjava/util/Stack;
Exceptions
SourceFile
Integral.java#$%&$org/nfunk/jep/ParseException
Empty list'org/nfunk/jep/function/Integral)org/nfunk/jep/function/PostfixMathCommand*org/nfunk/jep/function/PostfixMathCommandInumberOfParametersI
checkStackcurNumberOfParameters(Ljava/lang/String;)V!	

<
**
	

` *+**
Y  PK
#|7*33)org/nfunk/jep/function/Intersection.class0
	<init>()VCodeLineNumberTableLocalVariableTablethis%Lorg/nfunk/jep/function/Intersection;run(Ljava/util/Stack;)VinStackLjava/util/Stack;
Exceptions
SourceFileIntersection.java#org/nfunk/jep/function/Intersection)org/nfunk/jep/function/PostfixMathCommandorg/nfunk/jep/ParseExceptionnumberOfParametersI!<
**
		


5	
PK
#|72P$org/nfunk/jep/function/LValueI.class0	
setC(Lorg/nfunk/jep/EvaluatorI;Lorg/nfunk/jep/Node;Ljava/lang/Object;)V
Exceptions
SourceFileLValueI.javaorg/nfunk/jep/function/LValueIjava/lang/Objectorg/nfunk/jep/ParseExceptionPK
#|7Ó::!org/nfunk/jep/function/List.class0A
$	%
&	'()
*+
,
-
./
0
.123<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/List;run(Ljava/util/Stack;)VparamLjava/lang/Object;iIinStackLjava/util/Stack;resLjava/util/Vector;
Exceptions
SourceFile	List.java456org/nfunk/jep/ParseException
Empty list7java/util/Vector898:;<=>?@org/nfunk/jep/function/List)org/nfunk/jep/function/PostfixMathCommandnumberOfParameters
checkStackcurNumberOfParameters(Ljava/lang/String;)V(I)VsetSizejava/util/Stackpop()Ljava/lang/Object;setElementAt(Ljava/lang/Object;I)Vpush&(Ljava/lang/Object;)Ljava/lang/Object;!<
**	
P*+*
YY*	M,*
*d>+:,+,
W. 
!"##+$6&<'C$I)O*4<2PP#- !"#PK
#|7Kth55&org/nfunk/jep/function/Logarithm.class0^
5	6
7
89
:
8;<
=	>
?@
AB
CD	E

F
FGH
I@$
JKLLOG10DCLOG10Lorg/nfunk/jep/type/Complex;<init>()VCodeLineNumberTableLocalVariableTablethis"Lorg/nfunk/jep/function/Logarithm;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionslog&(Ljava/lang/Object;)Ljava/lang/Object;tempnum<clinit>
SourceFileLogarithm.java !MNO(PQR./S/org/nfunk/jep/type/Complex.TUVjava/lang/NumberWXjava/lang/DoubleY.Z [org/nfunk/jep/ParseExceptionInvalid parameter type \ ] org/nfunk/jep/function/Logarithm)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;push()Lorg/nfunk/jep/type/Complex;div:(Lorg/nfunk/jep/type/Complex;)Lorg/nfunk/jep/type/Complex;doubleValue()Djava/lang/Math(D)D(D)V(Ljava/lang/String;)V(DD)V! !"<
**#	$
%&'("_*++M+*,W# !
"#$ %&)*
+,-./"k++	
+H+I(
Y(o((
YY(:	
Y#.)*,.$/*0:1@2K5U6a9$*U0$=1k%&k+,-2!"7Y	#
	34PK
#|7R$org/nfunk/jep/function/Logical.class0e
5	6	7
8
9:;
<=
>?@
5A
B
CD
EF
G

HI
J
9KLMidIAND
ConstantValueOR<init>(I)VCodeLineNumberTableLocalVariableTablethis Lorg/nfunk/jep/function/Logical;id_inrun(Ljava/util/Stack;)VxDyrinStackLjava/util/Stack;param2Ljava/lang/Object;param1
Exceptions
SourceFileLogical.javaNOP(QRSjava/lang/NumberTUjava/lang/BooleanVWorg/nfunk/jep/ParseExceptionjava/lang/StringBuffer8Logical: require a number or Boolean value on lhs, have XYZ[\]^_`_ajava/lang/Doublebcdorg/nfunk/jep/function/Logical)org/nfunk/jep/function/PostfixMathCommand()VnumberOfParameters
checkStackjava/util/Stackpop()Ljava/lang/Object;doubleValue()DbooleanValue()Zappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;java/lang/ObjectgetClass()Ljava/lang/Class;java/lang/ClassgetName()Ljava/lang/String;toString(Ljava/lang/String;)V(D)Vpush&(Ljava/lang/Object;)Ljava/lang/Object;! !O***"	#$%&'(!	*++M+N--9?--	9$
YY
-,,9?,,	9$
YY
-*K36
66+YW"V
 #$"%)&='^)e*q+x,-267:;=?@#p)*:)*n+*+*,,$%-.
/010,2
34PK
#|7oC::$org/nfunk/jep/function/Modulus.class0?
$	
%

&
'()
*+
,
'-./

012<init>()VCodeLineNumberTableLocalVariableTablethis Lorg/nfunk/jep/function/Modulus;run(Ljava/util/Stack;)VdivisorDdividendresultinStackLjava/util/Stack;param2Ljava/lang/Object;param1
Exceptions
SourceFileModulus.java345678java/lang/Number9:java/lang/Double;<=org/nfunk/jep/ParseExceptionInvalid parameter type>org/nfunk/jep/function/Modulus)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;doubleValue()D(D)Vpush&(Ljava/lang/Object;)Ljava/lang/Object;(Ljava/lang/String;)V!
<
**	

R*++M+N-4,-,9-9s9+Y	W

Y*

& /"6$G(Q*H&/6RR
HC !
"#PK
#|7t++%org/nfunk/jep/function/Multiply.class0v
E	F
G
HI	J
K
HLM
NO
PQ
R
S
TUV
WX

Y
Z
[
\
E
]
^
_`a<init>()VCodeLineNumberTableLocalVariableTablethis!Lorg/nfunk/jep/function/Multiply;run(Ljava/util/Stack;)VparamLjava/lang/Object;stackLjava/util/Stack;productiI
Exceptionsmul8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;param1param28(Ljava/lang/Number;Ljava/lang/Number;)Ljava/lang/Double;d1Ljava/lang/Number;d2V(Lorg/nfunk/jep/type/Complex;Lorg/nfunk/jep/type/Complex;)Lorg/nfunk/jep/type/Complex;c1Lorg/nfunk/jep/type/Complex;c2L(Lorg/nfunk/jep/type/Complex;Ljava/lang/Number;)Lorg/nfunk/jep/type/Complex;cd8(Ljava/util/Vector;Ljava/lang/Number;)Ljava/util/Vector;vLjava/util/Vector;resultB(Ljava/util/Vector;Lorg/nfunk/jep/type/Complex;)Ljava/util/Vector;
SourceFile
Multiply.javab-c&defg-/0hiorg/nfunk/jep/type/Complex/7java/lang/Number/;java/util/Vector/B/3/>org/nfunk/jep/ParseExceptionInvalid parameter typejjava/lang/Doubleklm/n/opqrstuorg/nfunk/jep/function/Multiply)org/nfunk/jep/function/PostfixMathCommandnumberOfParameters
checkStackjava/util/Stackpop()Ljava/lang/Object;curNumberOfParameterspush&(Ljava/lang/Object;)Ljava/lang/Object;(Ljava/lang/String;)VdoubleValue()D(D)V:(Lorg/nfunk/jep/type/Complex;)Lorg/nfunk/jep/type/Complex;(D)Lorg/nfunk/jep/type/Complex;size()I	elementAt(I)Ljava/lang/Object;
addElement(Ljava/lang/Object;)V! <
**!	"
#$%& /*++M6*+N*-,M+,W!&	

!%"'(*.,"4
'(/#$/)*
%+(
",-./0 I+?,*+,	,
*+,
,*,+
+
?,*,+
,
*+
,
,?*,+
++,*+,
,
*+,
Y!R2456"7/869C;J=Q>^?e@rAyBDFGHIL" #$1(2(./3 OY+,k!Q" #$4565/7 D+,!V" #$89:9/; G	+,![" 	#$	<9	=5/> .YN6+-*+
,-!`bc&b,e"4!,-.#$.?@.=5&A@/B .YN6+-*,+
-!jlm&l,o"4!,-.#$.?@.<9&A@CDPK
#|7aRR-org/nfunk/jep/function/NaturalLogarithm.class0O
,	-
.
/0
1
/23
45
	67
89
:
:;<
=>?<init>()VCodeLineNumberTableLocalVariableTablethis)Lorg/nfunk/jep/function/NaturalLogarithm;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionsln&(Ljava/lang/Object;)Ljava/lang/Object;tempLorg/nfunk/jep/type/Complex;numD
SourceFileNaturalLogarithm.java@ABCDE$%F%org/nfunk/jep/type/ComplexGHjava/lang/NumberIJjava/lang/DoubleKGLMorg/nfunk/jep/ParseExceptionInvalid parameter typeN'org/nfunk/jep/function/NaturalLogarithm)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;pushlog()Lorg/nfunk/jep/type/Complex;doubleValue()Djava/lang/Math(D)D(D)V(Ljava/lang/String;)V!<
**	
_*++M+*,W !
"#  
!"#$%[+++	>+	
I(Y(
((Y
Y(:Y.)+-01$20364A7K8Q<*K&'3()[[!"#*+PK
#|7%'3== org/nfunk/jep/function/Not.class0A
#	$
%
&'(
)*
+
&,-

./0
123<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/Not;run(Ljava/util/Stack;)VrIinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptions
SourceFileNot.java45678java/lang/Number9:java/lang/Double;<=java/lang/Boolean>?org/nfunk/jep/ParseExceptionInvalid parameter type@org/nfunk/jep/function/Not)org/nfunk/jep/function/PostfixMathCommandnumberOfParameters
checkStackjava/util/Stackpop()Ljava/lang/Object;doubleValue()D(D)Vpush&(Ljava/lang/Object;)Ljava/lang/Object;booleanValue()Z(Ljava/lang/String;)V!<
**	
g*++M,&,>+Y	W5,
$,
>+Y	W
Y
*

#4 ;"K#\&f'4#Kgg
] !"PK
#|7q/org/nfunk/jep/function/PostfixMathCommand.class00
	%	&	'()
*+,-.numberOfParametersIcurNumberOfParameters<init>()VCodeLineNumberTableLocalVariableTablethis+Lorg/nfunk/jep/function/PostfixMathCommand;
checkStack(Ljava/util/Stack;)VinStackLjava/util/Stack;
ExceptionsgetNumberOfParameters()IsetCurNumberOfParameters(I)VncheckNumberOfParameters(I)Zruns
SourceFilePostfixMathCommand.java
org/nfunk/jep/ParseExceptionStack argument null/)run() method of PostfixMathCommand called)org/nfunk/jep/function/PostfixMathCommandjava/lang/Object*org/nfunk/jep/function/PostfixMathCommandI(Ljava/lang/String;)V!	

E***()	*+L+
Y235/*;>*
DE P**
O
P!>
YY

"#$PK
#|7dee0org/nfunk/jep/function/PostfixMathCommandI.class0run(Ljava/util/Stack;)V
ExceptionsgetNumberOfParameters()IsetCurNumberOfParameters(I)VcheckNumberOfParameters(I)Z
SourceFilePostfixMathCommandI.java*org/nfunk/jep/function/PostfixMathCommandIjava/lang/Objectorg/nfunk/jep/ParseException	

PK
#|73?'33"org/nfunk/jep/function/Power.class0{
H	I
J
KL
M
KNO
PQ
R
S
TUV

W
	X
	Y
Z
[\
]
^
_`
a
b
cde<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/Power;run(Ljava/util/Stack;)VinStackLjava/util/Stack;param2Ljava/lang/Object;param1
Exceptionspower8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;8(Ljava/lang/Number;Ljava/lang/Number;)Ljava/lang/Object;cLorg/nfunk/jep/type/Complex;d1Ljava/lang/Number;exponentexponentIntIexponentDoubleDL(Lorg/nfunk/jep/type/Complex;Lorg/nfunk/jep/type/Complex;)Ljava/lang/Object;c1c2tempB(Lorg/nfunk/jep/type/Complex;Ljava/lang/Number;)Ljava/lang/Object;dB(Ljava/lang/Number;Lorg/nfunk/jep/type/Complex;)Ljava/lang/Object;base(DI)DresultbitMask	evenPowerxn
SourceFile
Power.javaf5g%hij,-klorg/nfunk/jep/type/Complex,8java/lang/Number,<,>,.org/nfunk/jep/ParseExceptionInvalid parameter typemnopqr,sjava/lang/Double,@tuvw,xyqzqorg/nfunk/jep/function/Power)org/nfunk/jep/function/PostfixMathCommandnumberOfParameters
checkStackjava/util/Stackpop()Ljava/lang/Object;push&(Ljava/lang/Object;)Ljava/lang/Object;(Ljava/lang/String;)V
shortValue()SdoubleValue()D(DD)V(D)Lorg/nfunk/jep/type/Complex;(D)Vjava/lang/Mathpow(DD)D:(Lorg/nfunk/jep/type/Complex;)Lorg/nfunk/jep/type/Complex;imre!<
** 	!
"#$%s*++M+N+*-,W !#
$&'!*"#&'
()*)+
,-h++,*+,,	?*+,	
+	+,*+	,,	*+	,	
Y .,-./"0/263=4J5Q6^9! h"#h*)h()+
,.{,>,9+#Y+:,/Y*+Y*+toY+, *
?@BE*F4K<NCPTShX!>*
/0{"#{12{32v45p67,8q+,N-Y-- _abd!*"#90:0;0,<t +,N-Y-- i	kln!* "# /0 =2	;0,>.Y+N-,:Y s
tvw+y!4."#.=2./0
!?0;0,@	38;BKVcrH''kH'''kkH'''k'kkH'''k'k'kkHx'''k'k'k'kkHi'''k'k'k'k'kkHX'''k'k'k'k'k'kkHE6'9~	'99|6!k9~
k9|6H' ^49<CLWds!HA7?B5<C7,A7"#D7E5FGPK
#|7$$$org/nfunk/jep/function/Product.class0
	<init>()VCodeLineNumberTableLocalVariableTablethis Lorg/nfunk/jep/function/Product;run(Ljava/util/Stack;)VinStackLjava/util/Stack;
Exceptions
SourceFileProduct.javaorg/nfunk/jep/function/Product)org/nfunk/jep/function/PostfixMathCommandorg/nfunk/jep/ParseExceptionnumberOfParametersI!<
**
		


5	
PK
#|7pe9ZZ!org/nfunk/jep/function/Real.class0?
#	$
%
&'
(
&)*+
,
-./0
123<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/Real;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionsre&(Ljava/lang/Object;)Ljava/lang/Number;
SourceFile	Real.java456789 :;org/nfunk/jep/type/Complexjava/lang/Double<=java/lang/Numberorg/nfunk/jep/ParseExceptionInvalid parameter type>org/nfunk/jep/function/Real)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;push&(Ljava/lang/Object;)Ljava/lang/Object;()D(D)V(Ljava/lang/String;)V!<
**	
_*++M+*,W
 
 p,+Y+	
++Y
 !"#"%,,!"PK
#|7{ku!org/nfunk/jep/function/Sine.class0G
%	&
'
()
*
(+,
-./
	0
12

345
678<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/Sine;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionssin&(Ljava/lang/Object;)Ljava/lang/Object;
SourceFile	Sine.java9:;<=>!"?"org/nfunk/jep/type/Complex!@java/lang/Numberjava/lang/DoubleABC!DEorg/nfunk/jep/ParseExceptionInvalid parameter typeForg/nfunk/jep/function/Sine)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;push()Lorg/nfunk/jep/type/Complex;doubleValue()Djava/lang/Math(D)D(D)V(Ljava/lang/String;)V!<
**	
_*++M+*,W
 
 !"v2+++	
Y+	
Y$%'((+22 #$PK
#|7
"org/nfunk/jep/function/SineH.class0L
)	*
+
,-
.
,/0
12
	34
56@
789
:;<<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/SineH;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionssinh&(Ljava/lang/Object;)Ljava/lang/Object;valueD
SourceFile
SineH.java=>?@AB#$C$org/nfunk/jep/type/Complex#Djava/lang/NumberEFjava/lang/DoubleGHIJorg/nfunk/jep/ParseExceptionInvalid parameter typeKorg/nfunk/jep/function/SineH)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;push()Lorg/nfunk/jep/type/Complex;doubleValue()Djava/lang/Mathexp(D)D(D)V(Ljava/lang/String;)V!<
**	
_*++M+*,W
 
 !"#$>+++	!+	
IY((wg
oY#%')*4- %&>> !"'(PK
#|7QZ#qq/org/nfunk/jep/function/SpecialEvaluationI.class0

evaluate(Lorg/nfunk/jep/Node;Ljava/lang/Object;Lorg/nfunk/jep/ParserVisitor;Ljava/util/Stack;Lorg/nfunk/jep/SymbolTable;)Ljava/lang/Object;
Exceptions
SourceFileSpecialEvaluationI.java
Deprecated)org/nfunk/jep/function/SpecialEvaluationIjava/lang/Objectorg/nfunk/jep/ParseException	PK
#|7z~֨'org/nfunk/jep/function/SquareRoot.class0J
(	)
*
+,
-
+./
01
	2
34
56
378
9:;<init>()VCodeLineNumberTableLocalVariableTablethis#Lorg/nfunk/jep/function/SquareRoot;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionssqrt&(Ljava/lang/Object;)Ljava/lang/Object;valueD
SourceFileSquareRoot.java<=>?@A"#B#org/nfunk/jep/type/Complex"Cjava/lang/NumberDEFjava/lang/DoubleG"Horg/nfunk/jep/ParseExceptionInvalid parameter typeI!org/nfunk/jep/function/SquareRoot)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;push()Lorg/nfunk/jep/type/Complex;doubleValue()D(D)Vjava/lang/Math(D)D(Ljava/lang/String;)V!<
**	
_*++M+*,W
 
 !"#F+++	)+	
I(Y(Y(
Y")*+,/$002<6 $%FF !&'PK
#|7v!!#org/nfunk/jep/function/Subset.class0
	<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/Subset;run(Ljava/util/Stack;)VinStackLjava/util/Stack;
Exceptions
SourceFileSubset.javaorg/nfunk/jep/function/Subset)org/nfunk/jep/function/PostfixMathCommandorg/nfunk/jep/ParseExceptionnumberOfParametersI!<
**
		


5	
PK
#|7׮!''%org/nfunk/jep/function/SubsetEq.class0
	<init>()VCodeLineNumberTableLocalVariableTablethis!Lorg/nfunk/jep/function/SubsetEq;run(Ljava/util/Stack;)VinStackLjava/util/Stack;
Exceptions
SourceFile
SubsetEq.javaorg/nfunk/jep/function/SubsetEq)org/nfunk/jep/function/PostfixMathCommandorg/nfunk/jep/ParseExceptionnumberOfParametersI!<
**
		


5	
PK
#|7Ncc%org/nfunk/jep/function/Subtract.class0^
7	8
9
:;
<
:=>
?@
A
B
CDE

FG
	H
I
J
K
LMN<init>()VCodeLineNumberTableLocalVariableTablethis!Lorg/nfunk/jep/function/Subtract;run(Ljava/util/Stack;)VinStackLjava/util/Stack;param2Ljava/lang/Object;param1
Exceptionssub8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;8(Ljava/lang/Number;Ljava/lang/Number;)Ljava/lang/Double;d1Ljava/lang/Number;d2V(Lorg/nfunk/jep/type/Complex;Lorg/nfunk/jep/type/Complex;)Lorg/nfunk/jep/type/Complex;c1Lorg/nfunk/jep/type/Complex;c2L(Lorg/nfunk/jep/type/Complex;Ljava/lang/Number;)Lorg/nfunk/jep/type/Complex;cdL(Ljava/lang/Number;Lorg/nfunk/jep/type/Complex;)Lorg/nfunk/jep/type/Complex;
SourceFile
Subtract.javaOPQ RST'(UVorg/nfunk/jep/type/Complex'-java/lang/Number'1'4')org/nfunk/jep/ParseExceptionInvalid parameter typeWjava/lang/DoubleXYZ[Y\Y]org/nfunk/jep/function/Subtract)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;push&(Ljava/lang/Object;)Ljava/lang/Object;(Ljava/lang/String;)VdoubleValue()D(D)Vreim(DD)V!<
**	
 s*++M+N+*-,W
 *!"
#$%$&
'(h++,*+,,	?*+,	
+	+,*+	,,	*+	,	
Y.&(*,"./163=5J7Q9^< hh%$h#$&
')OY+,gB *+,+'-XY+,g+,gG ./0/'1SY+,g+L 2/3+'4TY+,g,wQ 3+2/56PK
#|7C org/nfunk/jep/function/Sum.class0
	<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/Sum;run(Ljava/util/Stack;)VinStackLjava/util/Stack;
Exceptions
SourceFileSum.javaorg/nfunk/jep/function/Sum)org/nfunk/jep/function/PostfixMathCommandorg/nfunk/jep/ParseExceptionnumberOfParametersI!<
**
		


5	
PK
#|7U:!org/nfunk/jep/function/TanH.class0P
*	+
,
-.
/
-01
23
	45
67@
Wi
68
9:;
<=><init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/TanH;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionstanh&(Ljava/lang/Object;)Ljava/lang/Object;valueD
SourceFile	TanH.java?@ABCD$%E%org/nfunk/jep/type/Complex$Fjava/lang/NumberGHjava/lang/DoubleIJKLMNorg/nfunk/jep/ParseExceptionInvalid parameter typeOorg/nfunk/jep/function/TanH)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;push()Lorg/nfunk/jep/type/Complex;doubleValue()Djava/lang/Mathexp(D)Dpow(DD)D(D)V(Ljava/lang/String;)V!<
**	
_*++M+*,W
  
!"#$%
K+++	.+	
IY((wg
(
(wcoY#%')*A, #&'KK!"#()PK
#|7^7j$org/nfunk/jep/function/Tangent.class0G
%	&
'
()
*
(+,
-./
	0
12

345
678<init>()VCodeLineNumberTableLocalVariableTablethis Lorg/nfunk/jep/function/Tangent;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionstan&(Ljava/lang/Object;)Ljava/lang/Object;
SourceFileTangent.java9:;<=>!"?"org/nfunk/jep/type/Complex!@java/lang/Numberjava/lang/DoubleABC!DEorg/nfunk/jep/ParseExceptionInvalid parameter typeForg/nfunk/jep/function/Tangent)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;push()Lorg/nfunk/jep/type/Complex;doubleValue()Djava/lang/Math(D)D(D)V(Ljava/lang/String;)V!<
**	
_*++M+*,W
 
 !"v2+++	
Y+	
Y#$%&((22 #$PK
#|7qy"org/nfunk/jep/function/Trace.class0
	<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/Trace;run(Ljava/util/Stack;)VinStackLjava/util/Stack;
Exceptions
SourceFile
Trace.javaorg/nfunk/jep/function/Trace)org/nfunk/jep/function/PostfixMathCommandorg/nfunk/jep/ParseExceptionnumberOfParametersI!<
**
		


5	
PK
#|7,ȟ||#org/nfunk/jep/function/UMinus.class0C
$	%
&
'(
)
'*+
,-.
	/

012

345<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/UMinus;run(Ljava/util/Stack;)VinStackLjava/util/Stack;paramLjava/lang/Object;
Exceptionsumin&(Ljava/lang/Object;)Ljava/lang/Object;
SourceFileUMinus.java6789:; !<!org/nfunk/jep/type/Complex=>java/lang/Numberjava/lang/Double?@Aorg/nfunk/jep/ParseExceptionInvalid parameter typeBorg/nfunk/jep/function/UMinus)org/nfunk/jep/function/PostfixMathCommandnumberOfParametersI
checkStackjava/util/Stackpop()Ljava/lang/Object;pushneg()Lorg/nfunk/jep/type/Complex;doubleValue()D(D)V(Ljava/lang/String;)V!<
**	
_*++M+*,W
 

 !t0+++	
Y+	w
Y !"&$00
"#PK
#|7ԩ"org/nfunk/jep/function/Union.class0
	<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/function/Union;run(Ljava/util/Stack;)VinStackLjava/util/Stack;
Exceptions
SourceFile
Union.javaorg/nfunk/jep/function/Union)org/nfunk/jep/function/PostfixMathCommandorg/nfunk/jep/ParseExceptionnumberOfParametersI!<
**
		


5	
PK
#|7;yy#org/nfunk/jep/function/package.html<body>
Provides function and operator classes. Each predefined function is contained
in this package as a class. Operators are also contained in classes such as
Add, Subtract, Multiply, or Comparative. Interfaces and supportive classes are:
<ul>
<li>PostfixMathCommand</li>
<li>PostfixMathCommandI</li>
<li>ComplexPFMC</li>
<li>SpecialEvaluationI</li>
</ul>
</body>
PK
#|7Wuorg/nfunk/jep/package.html<body>
Provides the main parsing classes including JEP and Parser as well as related classes
such as node classes. This package also includes the EvaluatorVisitor used for
evaluation. The JEP class serves as the main interface with the parser.
</body>
PK
#|7u-*6'6' org/nfunk/jep/type/Complex.class0
)		




















?@

serialVersionUIDJ
ConstantValue`̓<reDim<init>()VCodeLineNumberTableLocalVariableTablethisLorg/nfunk/jep/type/Complex;(D)Vre_in(Ljava/lang/Number;)VLjava/lang/Number;(Lorg/nfunk/jep/type/Complex;)Vz(DD)Vim_in()DsetsetResetImequals (Lorg/nfunk/jep/type/Complex;D)Zb	tolerancetemp1temp2(Ljava/lang/Object;)ZoLjava/lang/Object;chashCode()IresultIxlylxiyitoString()Ljava/lang/String;,(Ljava/text/NumberFormat;)Ljava/lang/String;formatLjava/text/NumberFormat;-(Ljava/text/NumberFormat;Z)Ljava/lang/String;flagZ
isInfinite()ZisNaNabstempabsReabsImabs2argneg()Lorg/nfunk/jep/type/Complex;mul(D)Lorg/nfunk/jep/type/Complex;add:(Lorg/nfunk/jep/type/Complex;)Lorg/nfunk/jep/type/Complex;subdivresReresImrdenpowercSin[ScCosxexponentscalarspecialCasefactortemp1Retemp1Imtemp2Retemp2ImconjlogsqrtwsinizReizImcostan	sinResult	cosResultasintempRetempImacosatansinhcoshtanhsinRescosResasinhacoshatanhpolarValueOfB(Ljava/lang/Number;Ljava/lang/Number;)Lorg/nfunk/jep/type/Complex;thetaradangdoubleValue
floatValue()FintValue	longValue()J
SourceFileComplex.java340121Borg/nfunk/jep/type/Complexjava/lang/StringBuffer(, )XY[ i)+ i`bc3@cBhBulpnjjava/lang/Objectjava/io/Serializablejava/lang/Numberjava/lang/DoubledoubleToLongBits(D)Jappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;(D)Ljava/lang/StringBuffer;java/text/NumberFormat(D)Ljava/lang/String;(D)Zjava/lang/Math(D)Datan2(DD)Dpowexp!)*+,-.01212345E***678	9:7893:5O**'*6AB	CD789;13<5R**+*6KLMN789;=3>5U**+*+6STUV789?93@5Y**'*)6\]	^_7 89;1A10B5/*6e7892B5/*6l789C>5M*+*+6stu789?9C@5Q*'*)6{|
}7 89;1A1D:5>*'6
789;1E:5>*'6
789A1FG5.*+g9*+g9kkc((k674.89.H9.I1#J1K1FL5~8++M*,*,6	7 8898MN*O9PQ5:<*A*7   {6 {6%h`<%h`<6"(087>:897RS/T,&U,VS(WSXY5R(Y	
*
*

67(89XZ5d0Y	
+*

+*


670890[\X]5*+**Y+*

3Y	
+*

+*

Y+*

+*

6	6:j7 89[\^_`a5D*
*6789ba5D*
*6789cB5H*H*J')'))'o9'kck')o9)kck6&	$)6;74)
d1;
d1H89@e18f1gB5>**k**kc6789hB56**6789ij5<Y*w*w6789kl5HY*'k*'k6&789H1mn5NY*+c*+c6/789H9on5NY*+g*+g68789H9kn5b
.Y*+k*+kg*+k*+kc6?7.89.H9pn5<
++@++o9++kc9**kcoI**kgo9=++o9++kc9*k*coI*k*go9Y(6*
LMN+O;PORZShTxUX7f
;q1Lr12s1+$t189H9xq1r1Z:s1h,t1ul5
*'J66**	66**	66**	66j'k'kZ	YVYVYVYV:	YVYVYVYV:'kp6				`6	Y)	5k)	5k'*k9Y)k)k6:r	stx'y?zW|l7\	Bvw-xw#yS	89z1	{1|_}Sd1un5_+*+*I*9(+k+kg9(+k+kc9 9
Y
k
k6 0@G7H_89_z9E~1 ?10/1@1G{1
j5;Y**w6789j5=Y**6789j5z
**YL*I*9(&(o9(!kcckk9%(o9!kcckk9*Y*#koL&*w9Y*#koL+6:'07=Z`|7f
O9W1=s1O9'e10f1|D1``s189O9j5`*wH*J' 9

)k9
)k9'w 9

)wk9	
)wk9	g9g9Y!k%k6.#*4>EL7R`89Z1U1F~1#=14,1	>"1O{1
j5`*wH*J' 9

)k9
)k9'w 9

)wk9	
)wk9	c9c9Y!k!k6.#*4>EL7R`89Z1U1F~1#=14,1	>"1O{1
j5*wH*J' 9

)k9
)k9'w 9

)wk9	
)wk9	g9g9Y!k!k:*wH*J' 9

)k9
)k9'w 9

)wk9	
)wk9	c9c9Y!k!k:'6^#*4 >"E#L%a(g)l,r-{.123568:7f
8911~1#141	>1{1
ai99j5t**k**kggI**k**kcg9Y(L+(L+Y*wc+Y*c+I+9++(w+6.GH-J8K=MKNXP`QfSlTrV7*t898<R9^1-G1j5z**k**kggI**k**kcg9Y(L+(L+wI+9+*(c+*c+I+9++(w+66
_`-b8c=eCfIhSi^kfllnroxq7*z898BR9d1-M1j5VY*w*g:*H*cJY')':HJ!)k%'k6&	xz{ }09?IS7*V89=1 61BR9j5]* H'*kJ'*k9*w H'*wk9'*wk9	)gJ	g9Y!)k!k6&	&2>CJ7>]89U{1K~1@12+1>1	j5]* H'*kJ'*k9*w H'*wk9'*wk9	)cJ	c9Y!)k!k6&	&2>CJ7>]89U{1K~1@12+1>1	j5|
* H'*kJ'*k9*w H'*wk9'*wk9	)gJ	g9Y!)k!k:* H'*kJ'*k9*w H'*wk9'*wk9	)cJ	c9Y!)k!k:'6N&2>CJ^fp{7R89{1~1121>1	^f99j5
fY**k**kgc**k**kcL+(L+Y*c+Y*c+I+++(+6"05BOT_d7 f8906R9Td1j5
fY**k**kgg**k**kcL+(L+Y*c+Y*c+I+++(+6"05BOT_d7 f8906R9Td1j5VY*c*:*gH*wJY')':HJ!'k!)k6&	 09?IS7*V89<1 61CR9	5q!*I+9Y(k(k6'()7*!s=!=11B5/*6078950*67789Q50*6>78950*6E789PK
#|75,org/nfunk/jep/type/DoubleNumberFactory.class0I
:;
<
=	>	?@A
<	B	C@DEFZEROLjava/lang/Double;ONETWOMINUSONE<init>()VCodeLineNumberTableLocalVariableTablethis(Lorg/nfunk/jep/type/DoubleNumberFactory;createNumber&(Ljava/lang/String;)Ljava/lang/Object;valueLjava/lang/String;(D)Ljava/lang/Object;D&(Ljava/lang/Number;)Ljava/lang/Object;Ljava/lang/Number;(Z)Ljava/lang/Object;Z(F)Ljava/lang/Object;F(I)Ljava/lang/Object;I(S)Ljava/lang/Object;S0(Lorg/nfunk/jep/type/Complex;)Ljava/lang/Object;Lorg/nfunk/jep/type/Complex;
ExceptionsgetMinusOne()Ljava/lang/Object;getOnegetTwogetZero<clinit>
SourceFileDoubleNumberFactory.javajava/lang/DoubleGHorg/nfunk/jep/ParseException+Cannot create a number from a Complex value&org/nfunk/jep/type/DoubleNumberFactoryjava/lang/Object org/nfunk/jep/type/NumberFactory(Ljava/lang/String;)V(D)V!				/* =	Y+		!"#=	Y'		!$%6+ !&'B	!!()>
Y#"

!*+>
Y#

!,->
Y$

!./>
Y	&

!0123.
(43.)53.*63.+7U1YYYY
#89PK
#|7M&org/nfunk/jep/type/NumberFactory.class0createNumber&(Ljava/lang/String;)Ljava/lang/Object;
Exceptions(D)Ljava/lang/Object;(I)Ljava/lang/Object;(S)Ljava/lang/Object;(F)Ljava/lang/Object;(Z)Ljava/lang/Object;&(Ljava/lang/Number;)Ljava/lang/Object;0(Lorg/nfunk/jep/type/Complex;)Ljava/lang/Object;getZero()Ljava/lang/Object;getOnegetMinusOnegetTwo
SourceFileNumberFactory.java org/nfunk/jep/type/NumberFactoryjava/lang/Objectorg/nfunk/jep/ParseException	

PK
#|7FForg/nfunk/jep/type/package.html<body>
Provides number factories and special type classes.
</body>
PKM7+ META-INF/MANIFEST.MFPKM7— META-INF/SIGNFILE.SFPKM7E$META-INF/SIGNFILE.DSAPK

#|7	mMETA-INF/PK

"|7org/PK

"|7
org/nfunk/PK

#|7org/nfunk/jep/PK

#|7org/nfunk/jep/evaluation/PK

#|7Eorg/nfunk/jep/function/PK

#|7zorg/nfunk/jep/type/PK

"|7/org/nfunk/jep/ASTConstant.classPK

"|7vd=="org/nfunk/jep/ASTFunNode.classPK

"|7ȐBkk+org/nfunk/jep/ASTStart.classPK

"|7T33.org/nfunk/jep/ASTVarNode.classPK

#|7%ʧu5org/nfunk/jep/EvaluatorI.classPK

#|7/ 	s,,$86org/nfunk/jep/EvaluatorVisitor.classPK

"|7^!Horg/nfunk/jep/FunctionTable.classPK

"|7**tMorg/nfunk/jep/JEP.classPK

"|7Du		"worg/nfunk/jep/JJTParserState.classPK

"|7A|"org/nfunk/jep/JavaCharStream.classPK

"|70m		org/nfunk/jep/Node.classPK

#|7@org/nfunk/jep/Operator.classPK

"|7Iզorg/nfunk/jep/OperatorSet.classPK

"|7q"/org/nfunk/jep/ParseException.classPK

"|76A#org/nfunk/jep/Parser$1.classPK

"|7Sڽh??+org/nfunk/jep/Parser$LookaheadSuccess.classPK

"|7#.wworg/nfunk/jep/Parser.classPK

#|7.WFFDorg/nfunk/jep/Parser.jjtPK

"|7~#gorg/nfunk/jep/ParserConstants.classPK

#|7{B

%org/nfunk/jep/ParserDumpVisitor.classPK

"|7?g[==&org/nfunk/jep/ParserTokenManager.classPK

"|7(t99'org/nfunk/jep/ParserTreeConstants.classPK

"|7QXX!org/nfunk/jep/ParserVisitor.classPK

"|7|{)org/nfunk/jep/SimpleNode.classPK

"|7q,org/nfunk/jep/SymbolTable$StObservable.classPK

"|7u{bz3org/nfunk/jep/SymbolTable.classPK

"|7r8org/nfunk/jep/Token.classPK

#|7Æ

!org/nfunk/jep/TokenMgrError.classPK

#|7[eWorg/nfunk/jep/Variable.classPK

#|7ntFJJ#8org/nfunk/jep/VariableFactory.classPK

#|7i-org/nfunk/jep/evaluation/CommandElement.classPK

#|7N22/%org/nfunk/jep/evaluation/CommandEvaluator.classPK

#|7ږ1-org/nfunk/jep/evaluation/ExpressionCompiler.classPK

#|7JU%8org/nfunk/jep/evaluation/package.htmlPK

#|7\'yy %:org/nfunk/jep/function/Abs.classPK

#|7JRS >org/nfunk/jep/function/Add.classPK

#|7M
&Gorg/nfunk/jep/function/ArcCosine.classPK

#|7gg'Lorg/nfunk/jep/function/ArcCosineH.classPK

#|7ğkZ$}Rorg/nfunk/jep/function/ArcSine.classPK

#|7tZ%_Worg/nfunk/jep/function/ArcSineH.classPK

#|7@7bb$\org/nfunk/jep/function/ArcTanH.classPK

#|7-Г'<borg/nfunk/jep/function/ArcTangent.classPK

#|7sqCNN(*gorg/nfunk/jep/function/ArcTangent2.classPK

#|7<- korg/nfunk/jep/function/Arg.classPK

#|7;#porg/nfunk/jep/function/Assign.classPK

#|70worg/nfunk/jep/function/CallbackEvaluationI.classPK

#|7q

(+yorg/nfunk/jep/function/Comparative.classPK

#|7("#{org/nfunk/jep/function/Cosine.classPK

#|7<$Xorg/nfunk/jep/function/CosineH.classPK

#|7}
%44"oorg/nfunk/jep/function/Cross.classPK

#|7@-org/nfunk/jep/function/DefiniteIntegral.classPK

#|7W00(5org/nfunk/jep/function/Determinant.classPK

#|7`gl33)org/nfunk/jep/function/Differential.classPK

#|7h5p
p
#%org/nfunk/jep/function/Divide.classPK

#|7@zz ֳorg/nfunk/jep/function/Dot.classPK

#|7tT47
7
 org/nfunk/jep/function/Ele.classPK

#|7y#org/nfunk/jep/function/Equals.classPK

#|7#gTKK org/nfunk/jep/function/Exp.classPK

#|7)z,mm&org/nfunk/jep/function/Imaginary.classPK

#|7%Rorg/nfunk/jep/function/Integral.classPK

#|7*33)org/nfunk/jep/function/Intersection.classPK

#|72P$org/nfunk/jep/function/LValueI.classPK

#|7Ó::!Corg/nfunk/jep/function/List.classPK

#|7Kth55&org/nfunk/jep/function/Logarithm.classPK

#|7R$5org/nfunk/jep/function/Logical.classPK

#|7oC::$org/nfunk/jep/function/Modulus.classPK

#|7t++%org/nfunk/jep/function/Multiply.classPK

#|7aRR-iorg/nfunk/jep/function/NaturalLogarithm.classPK

#|7%'3== org/nfunk/jep/function/Not.classPK

#|7q/org/nfunk/jep/function/PostfixMathCommand.classPK

#|7dee0org/nfunk/jep/function/PostfixMathCommandI.classPK

#|73?'33"N
org/nfunk/jep/function/Power.classPK

#|7$$$org/nfunk/jep/function/Product.classPK

#|7pe9ZZ!'org/nfunk/jep/function/Real.classPK

#|7{ku! org/nfunk/jep/function/Sine.classPK

#|7
"%org/nfunk/jep/function/SineH.classPK

#|7QZ#qq/*org/nfunk/jep/function/SpecialEvaluationI.classPK

#|7z~֨'b,org/nfunk/jep/function/SquareRoot.classPK

#|7v!!#1org/nfunk/jep/function/Subset.classPK

#|7׮!''%3org/nfunk/jep/function/SubsetEq.classPK

#|7Ncc%W6org/nfunk/jep/function/Subtract.classPK

#|7C >org/nfunk/jep/function/Sum.classPK

#|7U:!SAorg/nfunk/jep/function/TanH.classPK

#|7^7j$Forg/nfunk/jep/function/Tangent.classPK

#|7qy"dKorg/nfunk/jep/function/Trace.classPK

#|7,ȟ||#Morg/nfunk/jep/function/UMinus.classPK

#|7ԩ"Rorg/nfunk/jep/function/Union.classPK

#|7;yy#Torg/nfunk/jep/function/package.htmlPK

#|7WuVorg/nfunk/jep/package.htmlPK

#|7u-*6'6' Worg/nfunk/jep/type/Complex.classPK

#|75,Dorg/nfunk/jep/type/DoubleNumberFactory.classPK

#|7M&org/nfunk/jep/type/NumberFactory.classPK

#|7FForg/nfunk/jep/type/package.htmlPKgg 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>