/**
 *  Author: James Rohal
 *  http://www.jamesrohal.com
 */
SyntaxHighlighter.brushes.Mathematica = function()
{
	var functions =	'Abort AbortProtect Abs AbsoluteCurrentValue AbsoluteDashing AbsoluteOptions AbsolutePointSize AbsoluteThickness AbsoluteTime AbsoluteTiming AccountingForm Accumulate Accuracy AccuracyGoal ActionDelay ActionMenu AddTo AdjustmentBox AffineTransform AiryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ AlgebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolynomial AlgebraicNumberTrace Algebraics AlgebraicUnitQ Background Backslash Backward Band BaseForm Baseline BaselinePosition BaseStyle Because Beep Begin BeginDialogPacket BeginPackage BellB BernoulliB BernoulliDistribution BesselI BesselJ BesselJZero BesselK BesselY BesselYZero Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistribution C CallPacket CanberraDistance Cancel CancelButton Cap CapitalDifferentialD CarmichaelLambda Cases Catalan CatalanNumber Catch CauchyDistribution CDF Ceiling Cell CellAutoOverwrite CellBaseline CellChangeTimes CellContext CellDingbat CellEditDuplicate CellEpilog CellEvaluationDuplicate CellEvaluationFunction CellEventActions CellFrame CellFrameMargins CellGroup CellGroupData CellGrouping CellLabel CellLabelAutoDelete CellMargins CellOpen CellPrint CellProlog CellTags CellularAutomaton Center CenterDot CentralMoment CForm Character CharacterEncoding CharacteristicFunction CharacteristicPolynomial CharacterRange Characters ChebyshevDistance ChebyshevT ChebyshevU Check CheckAbort Checkbox CheckboxBar ChemicalData ChiDistribution ChineseRemainder ChiSquareDistribution D Darker Dashed Dashing DataRange DataReversed DateDifference DateFunction DateList DateListPlot DatePattern DatePlus DateString DateTicksFormat DeclarePackage Decompose Decrement DedekindEta Default DefaultButton DefaultDuplicateCellStyle DefaultDuration DefaultElement DefaultNewCellStyle DefaultOptions Defer Definition Degree Deinitialization Del Deletable Delete DeleteCases DeleteContents DeleteDirectory DeleteFile Delimiter DelimiterFlashTime Denominator DensityPlot DependentVariables Deploy Deployed E EdgeForm EdgeLabeling EdgeRenderingFunction Editable EditDistance Eigensystem Eigenvalues Eigenvectors Element ElementData Eliminate EllipticE EllipticExp EllipticExpPrime EllipticF EllipticK EllipticLog EllipticNomeQ EllipticPi EllipticTheta EllipticThetaPrime EmitSound Enabled Encode End EndDialogPacket EndOfFile EndOfLine FaceForm FaceGrids FaceGridsStyle Factor Factorial Factorial2 FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms FactorTermsList False Fibonacci FieldSize FileByteCount FileDate FileFormat FileHash FileNames FileNameSetter FilePrint FileType Filling FillingStyle FilterRules FinancialData Find FindClusters FindFit FindInstance FindList FindMaximum FindMinimum Gamma GammaDistribution GammaRegularized GaussianIntegers GCD GegenbauerC General GenerateConditions GeneratedCell GeneratedParameters GenericCylindricalDecomposition GeometricDistribution GeometricMean GeometricTransformation Get Glaisher HalfNormalDistribution HammingDistance HankelH1 HankelH2 HankelMatrix HarmonicMean HarmonicNumber Hash Head Heads HeavisideTheta HermiteDecomposition HermiteH HermitianMatrixQ I Identity IdentityMatrix If IgnoreCase Im ImageMargins ImagePadding ImageResolution ImageScaled ImageSize ImageSizeAction ImageSizeMultipliers Implies Import ImportString In Increment Indeterminate InexactNumberQ Infinity Infix Information Inherited Initialization InitializationCell Inner Input InputAliases InputAutoReplacements InputField InputForm InputNamePacket InputNotebook InputPacket JaccardDissimilarity JacobiAmplitude JacobiCD JacobiCN JacobiCS JacobiDC JacobiDN KelvinBei KelvinBer KelvinKei KelvinKer Label Labeled LabelStyle LaguerreL LanguageCategory LaplaceDistribution LaplaceTransform Large Larger Last LatticeData LatticeReduce LayeredGraphPlot LayerSizeFunction LCM LeafCount LeastSquares Left LeftArrow LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVectorBar LeftRightArrow LeftRightVector LeftTeeArrow LeftTeeVector LeftTriangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUpVector LeftUpVectorBar LeftVector LeftVectorBar LegendreP LegendreQ Length LengthWhile LerchPhi Less LessEqual LessEqualGreater MachineNumberQ MachinePrecision Magenta Magnification Magnify MakeBoxes MakeExpression ManhattanDistance Manipulate Manipulator MantissaExponent Manual Map MapAll MapAt MapIndexed MapThread MatchingDissimilarity MatchLocalNames MatchQ MathieuC MathieuCharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPrime MathieuS MathieuSPrime MathMLForm MatrixExp MatrixForm N NameQ Names Nand NCache NDSolve Nearest NearestFunction Needs Negative NegativeBinomialDistribution Nest NestedGreaterGreater NestedLessLess NestList NestWhile NestWhileList NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NextPrime NHoldAll NHoldFirst NHoldRest NIntegrate NMaximize NMinimize NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMultiply NonConstants None NonNegative NonPositive Nor NorlundB Norm Normal NormalDistribution Normalize NormalsFunction NormFunction Not NotCongruent NotCupCap NotDoubleVerticalBar Notebook O OddQ Off Offset On OneIdentity Opacity OpenAppend Opener OpenerView OpenRead OpenWrite Operate Optional PackingMethod PaddedForm PadeApproximant PadLeft PadRight PageBreakAbove PageBreakBelow PageBreakWithin PageFooters PageHeaders PageWidth PaletteNotebook Pane Panel Paneled PaneSelector ParabolicCylinderD ParagraphIndent ParagraphSpacing ParametricPlot ParametricPlot3D ParentDirectory ParetoDistribution Part ParticleData Partition PartitionsP PartitionsQ PassEventsDown PassEventsUp PasteButton Path Pattern PatternSequence PatternTest Pause PDF PerformanceGoal Permutations Pi Pick Piecewise PiecewiseExpand QRDecomposition QuadraticIrrationalQ Quantile Quartics RadicalBox RadioButton RadioButtonBar RamanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ RandomChoice RandomComplex RandomInteger RandomPrime RandomReal RandomSample Range Raster Rasterize RasterSize Rational Rationalize Rationals RawBoxes RayleighDistribution Re Read ReadList ReadProtected Real RealDigits RealExponent Reals Reap Record RecordLists RecordSeparators Rectangle Red Reduce Refine ReflectionMatrix ReflectionTransform Refresh RefreshRate RegionFunction SameQ SameTest SampleDepth SampledSoundFunction SampledSoundList SampleRate Save SaveDefinitions Scale Scaled ScalingMatrix ScalingTransform Scan SchurDecomposition ScientificForm ScreenStyleEnvironment ScriptBaselineShifts ScriptMinSize ScriptSizeMultipliers Sec Sech SeedRandom Select Selectable SelectedNotebook SelectionAnimate SelectionCreateCell SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelfLoopStyle SemialgebraicComponentInstances Sequence SequenceHold Series SeriesCoefficient SeriesData SessionTime Set SetAccuracy SetAttributes SetDelayed SetDirectory SetFileDate SetOptions SetPrecision SetSelectedNotebook SetStreamPosition SetSystemOptions Setter SetterBar Setting Shallow Share ShearingMatrix ShearingTransform Short ShortDownArrow Shortest ShortLeftArrow ShortRightArrow ShortUpArrow Show ShowAutoStyles ShowCellBracket ShowCellLabel ShowCellTags ShowCursorTracker ShowGroupOpener ShowPageBreaks ShowSelection ShowSpecialCharacters ShowStringCharacters ShrinkingDelay SiegelTheta Sign Signature SignPadding Simplify Sin Table TableAlignments TableDepth TableDirections TableForm TableHeadings TableSpacing TabView TagBox TagSet TagSetDelayed TagUnset Take TakeWhile Tally Tan Tanh TargetFunctions Temporary TeXForm Text TextAlignment TextCell TextJustification TextPacket Therefore Thick Thickness Thin Thread ThreeJSymbol Through Throw Ticks Uncompress UnderBar Underflow Underlined Underoverscript UnderoverscriptBox Underscript UnderscriptBox Unequal Unevaluated UniformDistribution Uninstall ValueQ Variables Variance VectorAngle VectorQ Vee Verbatim VertexColors Wedge WeibullDistribution WeierstrassHalfPeriods WeierstrassInvariants WeierstrassP WeierstrassPPrime WeierstrassSigma WeierstrassZeta Which While White Whitespace XMLElement Yellow ZernikeR ZeroTest Alignment AlignmentPoint All Alternatives AnchoredSearch And AngleBracket Animate AnimationDirection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning Animator Annotation Antialiasing Apart ApartSquareFree Appearance AppearanceElements AppellF1 Append AppendTo Apply ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCsch ArcSec ArcSech ArcSin BetaRegularized BinaryFormat BinaryRead BinaryReadList BinaryWrite BinCounts BinLists Binomial BinomialDistribution BitAnd BitClear BitGet BitLength BitNot BitOr BitSet BitShiftLeft BitShiftRight BitXor Black Blank BlankNullSequence BlankSequence Blend Block BlockRandom ChoiceDialog CholeskyDecomposition Chop Circle CircleDot CircleMinus CirclePlus CircleTimes CityData Clear ClearAll ClearAttributes ClearSystemCache ClebschGordan ClickPane Clip ClippingStyle Clock Close CMYKColor Coefficient CoefficientArrays CoefficientList Collect Colon ColorData ColorDataFunction ColorFunction ColorFunctionScaling ColorRules ColorSetter ColorSlider Column ColumnAlignments ColumnLines ColumnsEqual ColumnSpacings ColumnWidths Commonest Compile Compiled CompiledFunction Complement Complex Complexes ComplexExpand ComplexInfinity ComplexityFunction ComposeList ComposeSeries Composition CompoundExpression Compress Condition Congruent Conjugate ConjugateTranspose Constant ConstantArray Constants Depth Derivative Det Diagonal DiagonalMatrix Dialog DialogInput DialogNotebook DialogProlog DialogReturn DialogSymbols Diamond DiceDissimilarity DictionaryLookup Differences DifferentialD DigitBlock DigitCharacter DigitCount DigitQ Dimensions DiracDelta DirectedEdges DirectedInfinity Direction Directive Directory DirectoryName DirectoryStack DiscreteDelta DiscreteUniformDistribution Discriminant Disk Dispatch DisplayAllSteps DisplayEndPacket DisplayForm DisplayFunction DisplayPacket DistanceFunction Distribute Divide DivideBy EndOfString EndPackage EngineeringForm EnterExpressionPacket EnterTextPacket Environment Epilog Equal EqualTilde Equilibrium Erf Erfc Erfi ErrorBox EuclideanDistance EulerE EulerGamma EulerPhi Evaluatable Evaluate EvaluatePacket EvaluationMonitor EvaluationNotebook Evaluator EvenQ EventHandler ExactNumberQ ExampleData Except FindRoot FindShortestTour FinishDynamic First Fit FixedPoint FixedPointList Flat Flatten FlattenAt FlipView Floor Fold FoldList FontColor FontFamily FontSize FontSlant FontSubstitutions FontTracking FontVariations FontWeight For ForAll Format FormatType FormBox FortranForm Forward ForwardBackward Fourier FourierCosTransform FourierDCT FourierDST Glow GoldenRatio Goto GraphData Graphics Graphics3D GraphicsColumn GraphicsComplex GraphicsGrid GraphicsGroup GraphicsRow GraphPlot GraphPlot3D Gray GrayLevel Greater HessenbergDecomposition HilbertMatrix Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern HoldRest HornerForm Hue HumpDownHump HumpEqual InputStream InputString InputStringPacket Insert Inset Install InstallService InString Integer IntegerDigits IntegerExponent IntegerLength IntegerPart IntegerPartitions IntegerQ Integers IntegerString Integrate InterpolatingFunction InterpolatingPolynomial Interpolation InterpolationOrder Interpretation InterpretationBox InterquartileRange Interrupt Intersection Interval IntervalIntersection IntervalMemberQ IntervalUnion Inverse InverseBetaRegularized InverseCDF InverseEllipticNomeQ JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD Khinchin KleinInvariantJ KnotData KroneckerDelta LessFullEqual LessGreater LessLess LessSlantEqual LessTilde LetterCharacter LetterQ Level LightBlue LightBrown LightCyan Lighter LightGray LightGreen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple LightRed LightYellow Limit LimitsPositioning Line LinearFractionalTransform LinearProgramming LinearSolve LinearSolveFunction LineIndent LineIndentMaxFraction LineSpacing LinkClose LinkConnect LinkCreate LinkInterrupt LinkLaunch LinkObject LinkPatterns LinkProtocol LinkRead LinkReadyQ Links LinkWrite List MatrixPlot MatrixPower MatrixQ MatrixRank Max Maximize MaxIterations MaxMemoryUsed MaxPlotPoints MaxRecursion MaxStepFraction MaxSteps MaxStepSize MaxwellDistribution Mean MeanDeviation Median MedianDeviation Medium MeijerG MemberQ MemoryConstrained MemoryInUse MenuPacket MenuView Mesh MeshFunctions MeshShading MeshStyle Message NotebookApply NotebookAutoSave NotebookClose NotebookDelete NotebookDirectory NotebookEventActions NotebookFind NotebookGet NotebookInformation NotebookLocate NotebookObject NotebookOpen NotebookPrint NotebookPut NotebookRead Notebooks NotebookSave NotebookSelection NotebookWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterFullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde NotHumpDownHump NotHumpEqual NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEqual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlantEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPrecedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTriangle Options OptionsPattern OptionValue Or Orange Order OrderedQ Ordering Orderless Orthogonalize Out Outer OutputForm OutputNamePacket Pink PixelConstrained Plain Play PlayRange Plot Plot3D PlotLabel PlotMarkers PlotPoints PlotRange PlotRangeClipping PlotRangePadding PlotRegion PlotStyle Plus PlusMinus Pochhammer Point PointSize PoissonDistribution PolarPlot PolyGamma Polygon PolyhedronData PolyLog PolynomialExtendedGCD PolynomialGCD PolynomialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainder PolynomialReduce PolynomialRemainder PopupMenu PopupView PopupWindow Position Positive PositiveDefiniteMatrixQ PossibleZeroQ Postfix QuartileDeviation Quartiles QuartileSkewness Quiet RegionPlot RegionPlot3D RegularExpression ReleaseHold ReliefPlot Remove RenameDirectory RenameFile Repeated RepeatedNull Replace ReplaceAll ReplaceList ReplacePart ReplaceRepeated Rescale RescalingTransform ResetDirectory Residue Resolve Rest Resultant ResumePacket Return ReturnExpressionPacket ReturnPacket ReturnTextPacket Reverse ReverseElement ReverseEquilibrium ReverseUpEquilibrium RevolutionPlot3D RGBColor RiemannSiegelTheta RiemannSiegelZ Riffle Right RightArrow RightArrowBar RightArrowLeftArrow RightDownTeeVector RightDownVector RightDownVectorBar Sinc SingleLetterItalics SingularValueDecomposition SingularValueList Sinh SinhIntegral SinIntegral SixJSymbol Skeleton Skewness Skip Slider Slider2D SlideView Slot SlotSequence Small SmallCircle Smaller SokalSneathDissimilarity Solve SolveAlways Sort SortBy Sound SoundNote SoundVolume Sow Spacer Spacings Span SpanFromAbove SpanFromBoth SpanFromLeft SparseArray Specularity SpellingCorrection Sphere SphericalBesselJ SphericalBesselY SphericalHankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion SpheroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime SpheroidalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime SpheroidalS2 SpheroidalS2Prime Splice Split Sqrt SqrtBox Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquaresR SquareSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion Stack StackBegin StackComplete StackInhibit StandardDeviation StandardForm Star StartingStepSize StartOfLine StartOfString TicksStyle Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint Times TimesBy TimeUsed TimeZone Timing Tiny ToBoxes ToCharacterCode ToeplitzMatrix ToExpression ToFileName Together Toggler TogglerBar TokenWords Tolerance ToLowerCase ToNumberField Tooltip Top ToRadicals ToRules ToString Total TotalWidth ToUpperCase Tr Union UnionPlus Unique Unitize UnitStep UnitVector Unprotect UnsameQ Unset UpArrow UpArrowBar UpArrowDownArrow VertexCoordinateRules VertexLabeling VertexNormals VertexRenderingFunction VerticalBar VerticalSeparator VerticalSlider VerticalTilde WhitespaceCharacter WhittakerM WhittakerW WindowClickSelect WindowElements WindowFloating WindowFrame WindowMargins WindowMovable WindowOpacity WindowSize WindowStatusArea XMLObject YuleDissimilarity Zeta ZetaZero ArcSinh ArcTan ArcTanh Arg ArithmeticGeometricMean Array ArrayDepth ArrayFlatten ArrayPlot ArrayQ ArrayRules Arrow Arrowheads AspectRatio Assuming Assumptions AstronomicalData AtomQ Attributes AutoAction AutoIndent AutoItalicWords Automatic AutoMultiplicationSymbol AutorunSequencing AutoScroll AutoSpacing Axes AxesEdge AxesLabel AxesOrigin AxesStyle Axis Blue Bold Boole Booleans Bottom BoundaryStyle Boxed BoxRatios BoxStyle BracketingBar BrayCurtisDistance Break Brown Button ButtonBox ButtonData ButtonFrame ButtonFunction ButtonMinHeight ButtonNotebook ButtonSource Byte ByteCount ByteOrdering Contexts ContextToFileName Continue ContinuedFraction ContinuousAction ContourLabels ContourPlot ContourPlot3D Contours ContourShading ContourStyle ControlActive ControllerInformation ControllerLinking ControllerManipulate ControllerMethod ControllerPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionRules CoprimeQ Coproduct Copyable CopyDirectory CopyFile Correlation CorrelationDistance Cos Cosh CoshIntegral CosineDistance CosIntegral Cot Coth Count CountRoots CountryData Covariance CreateDialog CreateDirectory CreateDocument CreatePalette CreateWindow Cross Csc Csch Cubics Cuboid Cup CupCap CurrentValue Cyan Cyclotomic Cylinder CylindricalDecomposition Dividers Divisible Divisors DivisorSigma Do DockedCells DocumentNotebook Dot DotDashed DotEqual Dotted DoubleBracketingBar DoubleDownArrow DoubleLeftArrow DoubleLeftRightArrow DoubleLongLeftArrow DoubleLongLeftRightArrow DoubleLongRightArrow DoubleRightArrow DoubleUpArrow DoubleUpDownArrow DoubleVerticalBar DownArrow DownArrowBar DownArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVectorBar DownRightTeeVector DownRightVector DownRightVectorBar DownTeeArrow DownValues DragAndDrop Drop DSolve Dt DumpSave Dynamic DynamicModule DynamicModuleValues DynamicSetting ExcludedForms Exclusions ExclusionsStyle Exists Exit Exp Expand ExpandAll ExpandDenominator ExpandNumerator ExpectedValue ExpIntegralE ExpIntegralEi Exponent ExponentFunction ExponentialDistribution ExponentialMovingAverage ExponentStep Export ExportString Expression ExpressionCell ExpToTrig ExtendedGCD Extension Extract ExtremeValueDistribution FourierParameters FourierSinTransform FourierTransform FractionalPart FractionBox Frame FrameBox Framed FrameLabel FrameMargins FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FreeQ FresnelC FresnelS FrobeniusNumber FrobeniusSolve FromCharacterCode FromContinuedFraction FromDigits FrontEndEventActions FrontEndExecute FrontEndToken FrontEndTokenExecute Full FullDefinition FullForm FullGraphics FullSimplify Function FunctionExpand FunctionInterpolation GreaterEqual GreaterEqualLess GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterTilde Green Grid GridBox GridDefaultElement GridLines GridLinesStyle GroebnerBasis GroupPageBreakWithin GumbelDistribution Hypergeometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Regularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistribution HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink Hyphenation InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions InverseGammaRegularized InverseGaussianDistribution InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTransform InverseSeries InverseWeierstrassP InverseZTransform Invisible IsolatingInterval IsotopeData Italic Item ItemAspectRatio ItemSize ItemStyle JacobiSN JacobiSymbol JacobiZeta Join Joined JordanDecomposition KroneckerProduct KroneckerSymbol Kurtosis Listable ListAnimate ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListDensityPlot ListInterpolation ListLinePlot ListLogLinearPlot ListLogLogPlot ListLogPlot ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListSurfacePlot3D LocalizeVariables Locator LocatorAutoCreate LocatorCentering LocatorPane LocatorRegion Locked Log LogGamma LogicalExpand LogIntegral LogisticDistribution LogLinearPlot LogLogPlot LogNormalDistribution LogPlot LogSeriesDistribution Longest LongLeftArrow LongLeftRightArrow LongRightArrow LowerCaseQ LowerLeftArrow LowerRightArrow LucasL LUDecomposition MessageDialog MessageList MessageName MessagePacket Messages Method Min MinimalPolynomial Minimize Minors Minus MinusPlus Missing Mod Modal ModularLambda Module Modulus MoebiusMu Monitor Most MouseAnnotation Mouseover MousePosition MovingAverage MovingMedian MultiedgeStyle Multinomial MultiplicativeOrder NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEqual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceeds NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSupersetEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar NProduct NRoots NSolve NSum Null NullRecords NullSpace NullWords Number NumberFieldClassNumber NumberFieldDiscriminant NumberFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives NumberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm NumberFormat NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSeparator NumberSigns NumberString Numerator NumericFunction NumericQ OutputSizeLimit OutputStream OverBar OverDot Overflow OverHat Overlaps Overscript OverscriptBox OverTilde OverVector OwnValues Power PowerExpand PowerMod PowerModList PowersRepresentations PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde Precision PrecisionGoal PreDecrement Prefix PreIncrement Prepend PrependTo PreserveImageOptions Prime PrimePi PrimePowerQ PrimeQ Primes PrimitiveRoot PrincipalValue Print PrintingStyleEnvironment PrintTemporary Product ProductLog ProgressIndicator Projection Prolog Proportion Proportional Protect Protected PseudoInverse Purple Put PutAppend Quit Quotient QuotientRemainder RightTeeArrow RightTeeVector RightTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVector RightUpVector RightUpVectorBar RightVector RightVectorBar RogersTanimotoDissimilarity Root RootApproximant RootIntervals RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationMatrix RotationTransform Round Row RowAlignments RowBox RowLines RowMinHeight RowReduce RowsEqual RowSpacings RSolve Rule RuleDelayed Run RunThrough RussellRaoDissimilarity StatusArea StepMonitor StieltjesGamma StirlingS1 StirlingS2 StreamPosition Streams String StringCases StringCount StringDrop StringExpression StringForm StringFormat StringFreeQ StringInsert StringJoin StringLength StringMatchQ StringPosition StringQ StringReplace StringReplaceList StringReplacePart StringReverse StringSkeleton StringSplit StringTake StringToStream StructuredSelection StruveH StruveL Stub StudentTDistribution Style StyleBox StyleDefinitions Subfactorial SubMinus SubPlus Subresultants Subscript SubscriptBox Subset SubsetEqual Subsets SubStar Subsuperscript SubsuperscriptBox Subtract SubtractFrom Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTilde SuchThat Sum SuperDagger SuperMinus SuperPlus Superscript SuperscriptBox Superset SupersetEqual SuperStar SuspendPacket Switch Symbol SymbolName SymmetricPolynomial SymmetricReduction SynchronousInitialization SynchronousUpdating SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SystemDialogInput SystemInformation SystemOptions Trace TraceAbove TraceBackward TraceDepth TraceDialog TraceForward TraceOff TraceOn TraceOriginal TracePrint TraceScan TrackedSymbols TraditionalForm TransformationFunction TransformationFunctions TransformationMatrix Translate TranslationTransform Transpose TreeForm TreePlot TriangularDistribution Trig TrigExpand TrigFactor TrigFactorList Trigger TrigReduce TrigToExp TrimmedMean True TrueQ Tuples TuringMachine Update UpdateInterval UpDownArrow UpEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpSet UpSetDelayed UpTeeArrow UpValues ViewAngle ViewCenter ViewMatrix ViewPoint ViewRange ViewVector ViewVertical Visible WindowTitle WindowToolbars With Word WordBoundary WordCharacter WordData WordSearch WordSeparators WorkingPrecision Write WriteString Xor ZipfDistribution ZTransform $Aborted $Assumptions $BaseDirectory $BatchInput $BatchOutput $ByteOrdering $Canceled $CharacterEncoding $CharacterEncodings $CommandLine $Context $ContextPath $ControlActiveSetting $CreationDate $CurrentLink $DateStringFormat $Display $DisplayFunction $DynamicEvaluation $Echo $Epilog $ExportFormats $Failed $FrontEnd $FrontEndSession $HistoryLength $HomeDirectory $IgnoreEOF $ImportFormats $InitialDirectory $Input $Inspector $InstallationDirectory $IterationLimit $Language $LicenseExpirationDate $LicenseID $LicenseServer $Line $Linked $MachineAddresses $MachineDomains $MachineEpsilon $MachineID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageList $MessagePrePrint $Messages $MinMachineNumber $MinNumber $MinPrecision $ModuleNumber $NewMessage $NewSymbol $Notebooks $NumberMarks $OperatingSystem $Output $OutputSizeLimit $Packages $ParentLink $ParentProcessID $Path $PathnameSeparator $PerformanceGoal $Post $Pre $PrePrint $PreRead $ProcessID $ProcessorType $RecursionLimit $ReleaseNumber $RootDirectory $SessionID $SoundDisplayFunction $SyntaxHandler $System $SystemCharacterEncoding $SystemID $SystemWordLength $TemporaryPrefix $TimeUnit $TimeZone $Urgent $UserBaseDirectory $UserDocumentsDirectory $UserName $Version $VersionNumber';

	this.regexList = [
		{ regex: /\(\*[\s\S]*?\*\)/gm,		css: 'comments' },			// multiline comments
		{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,		css: 'string' },			// strings
		{ regex: new RegExp(this.getKeywords(functions), 'gm'),		css: 'functions bold' }
		];
};
SyntaxHighlighter.brushes.Mathematica.prototype	= new SyntaxHighlighter.Highlighter();
SyntaxHighlighter.brushes.Mathematica.aliases	= ['mathematica', 'mm'];