From: matitaweb Date: Mon, 12 Mar 2012 08:47:22 +0000 (+0000) Subject: Matitaweb: X-Git-Tag: make_still_working~1860 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=e499c2e36d8a39c4749b8e0e34438b49532d15b8;p=helm.git Matitaweb: 1) Solves a bug in "Del hrefs" 2) Solves interaction glitches related to the disambiguation/error reporting interface 3) Fixes the implementation of the Upload feature 4) Adds support for "low-users", who don't have permission to commit 5) Solves problems related to the multi-user mode 6) Limits direct file access to the html/ subdir of the Matita installation (for security); all the files that must be accessed by a web browser have been moved there 7) utf8macrotable.js uses numeric html entities instead of named entities, to cope with incoherent behaviour of web browsers (named entities being resolved to different unicode characters -- possible bug in the web browser). 8) disables many debug prints --- diff --git a/matitaB/matita/.depend b/matitaB/matita/.depend index c3485ce6b..feee842a7 100644 --- a/matitaB/matita/.depend +++ b/matitaB/matita/.depend @@ -1,90 +1,86 @@ -applyTransformation.cmo: applyTransformation.cmi -applyTransformation.cmx: applyTransformation.cmi -matitaclean.cmo: matitaMisc.cmi matitaInit.cmi matitaclean.cmi -matitaclean.cmx: matitaMisc.cmx matitaInit.cmx matitaclean.cmi -matitaFilesystem.cmo: matitaFilesystem.cmi -matitaFilesystem.cmx: matitaFilesystem.cmi +applyTransformation.cmo: applyTransformation.cmi +applyTransformation.cmx: applyTransformation.cmi +matitaclean.cmo: matitaMisc.cmi matitaInit.cmi matitaclean.cmi +matitaclean.cmx: matitaMisc.cmx matitaInit.cmx matitaclean.cmi +matitaFilesystem.cmo: matitaFilesystem.cmi +matitaFilesystem.cmx: matitaFilesystem.cmi matitaMathView.cmo: virtuals.cmi matitaTypes.cmi matitaMisc.cmi \ matitaGuiTypes.cmi matitaGtkMisc.cmi matitaGeneratedGui.cmo \ matitaExcPp.cmi lablGraphviz.cmi cicMathView.cmi buildTimeConf.cmo \ - applyTransformation.cmi matitaMathView.cmi + applyTransformation.cmi matitaMathView.cmi matitaMathView.cmx: virtuals.cmx matitaTypes.cmx matitaMisc.cmx \ matitaGuiTypes.cmi matitaGtkMisc.cmx matitaGeneratedGui.cmx \ matitaExcPp.cmx lablGraphviz.cmx cicMathView.cmx buildTimeConf.cmx \ - applyTransformation.cmx matitaMathView.cmi -matitaTypes.cmo: matitaTypes.cmi -matitaTypes.cmx: matitaTypes.cmi -buildTimeConf.cmo: -buildTimeConf.cmx: -matitac.cmo: matitaclean.cmi matitaMisc.cmi matitaInit.cmi matitaEngine.cmi -matitac.cmx: matitaclean.cmx matitaMisc.cmx matitaInit.cmx matitaEngine.cmx -matitaGeneratedGui.cmo: -matitaGeneratedGui.cmx: -matitaMisc.cmo: matitaGuiTypes.cmi buildTimeConf.cmo matitaMisc.cmi -matitaMisc.cmx: matitaGuiTypes.cmi buildTimeConf.cmx matitaMisc.cmi -predefined_virtuals.cmo: virtuals.cmi predefined_virtuals.cmi -predefined_virtuals.cmx: virtuals.cmx predefined_virtuals.cmi + applyTransformation.cmx matitaMathView.cmi +matitaTypes.cmo: matitaTypes.cmi +matitaTypes.cmx: matitaTypes.cmi +buildTimeConf.cmo: +buildTimeConf.cmx: +matitac.cmo: matitaclean.cmi matitaMisc.cmi matitaInit.cmi matitaEngine.cmi +matitac.cmx: matitaclean.cmx matitaMisc.cmx matitaInit.cmx matitaEngine.cmx +matitaGeneratedGui.cmo: +matitaGeneratedGui.cmx: +matitaMisc.cmo: matitaGuiTypes.cmi buildTimeConf.cmo matitaMisc.cmi +matitaMisc.cmx: matitaGuiTypes.cmi buildTimeConf.cmx matitaMisc.cmi +predefined_virtuals.cmo: virtuals.cmi predefined_virtuals.cmi +predefined_virtuals.cmx: virtuals.cmx predefined_virtuals.cmi cicMathView.cmo: matitaMisc.cmi matitaGuiTypes.cmi matitaGtkMisc.cmi \ - buildTimeConf.cmo applyTransformation.cmi cicMathView.cmi + buildTimeConf.cmo applyTransformation.cmi cicMathView.cmi cicMathView.cmx: matitaMisc.cmx matitaGuiTypes.cmi matitaGtkMisc.cmx \ - buildTimeConf.cmx applyTransformation.cmx cicMathView.cmi -matitadaemon.cmo: matitaInit.cmi matitaFilesystem.cmi matitaEngine.cmi \ - matitaAuthentication.cmi applyTransformation.cmi -matitadaemon.cmx: matitaInit.cmx matitaFilesystem.cmx matitaEngine.cmx \ - matitaAuthentication.cmx applyTransformation.cmx + buildTimeConf.cmx applyTransformation.cmx cicMathView.cmi +matitadaemon.cmo: matitaInit.cmi matitaFilesystem.cmi matitaExcPp.cmi \ + matitaEngine.cmi matitaAuthentication.cmi applyTransformation.cmi +matitadaemon.cmx: matitaInit.cmx matitaFilesystem.cmx matitaExcPp.cmx \ + matitaEngine.cmx matitaAuthentication.cmx applyTransformation.cmx matitaGtkMisc.cmo: matitaTypes.cmi matitaGeneratedGui.cmo buildTimeConf.cmo \ - matitaGtkMisc.cmi + matitaGtkMisc.cmi matitaGtkMisc.cmx: matitaTypes.cmx matitaGeneratedGui.cmx buildTimeConf.cmx \ - matitaGtkMisc.cmi -matita.cmo: predefined_virtuals.cmi matitaScript.cmi matitaInit.cmi \ - matitaGui.cmi matitaGtkMisc.cmi buildTimeConf.cmo applyTransformation.cmi -matita.cmx: predefined_virtuals.cmx matitaScript.cmx matitaInit.cmx \ - matitaGui.cmx matitaGtkMisc.cmx buildTimeConf.cmx applyTransformation.cmx -virtuals.cmo: virtuals.cmi -virtuals.cmx: virtuals.cmi -lablGraphviz.cmo: lablGraphviz.cmi -lablGraphviz.cmx: lablGraphviz.cmi -matitaEngine.cmo: applyTransformation.cmi matitaEngine.cmi -matitaEngine.cmx: applyTransformation.cmx matitaEngine.cmi + matitaGtkMisc.cmi +virtuals.cmo: virtuals.cmi +virtuals.cmx: virtuals.cmi +lablGraphviz.cmo: lablGraphviz.cmi +lablGraphviz.cmx: lablGraphviz.cmi +matitaEngine.cmo: applyTransformation.cmi matitaEngine.cmi +matitaEngine.cmx: applyTransformation.cmx matitaEngine.cmi matitaGui.cmo: matitaTypes.cmi matitaScript.cmi matitaMisc.cmi \ matitaMathView.cmi matitaGuiTypes.cmi matitaGtkMisc.cmi \ - matitaGeneratedGui.cmo matitaExcPp.cmi buildTimeConf.cmo matitaGui.cmi + matitaGeneratedGui.cmo matitaExcPp.cmi buildTimeConf.cmo matitaGui.cmi matitaGui.cmx: matitaTypes.cmx matitaScript.cmx matitaMisc.cmx \ matitaMathView.cmx matitaGuiTypes.cmi matitaGtkMisc.cmx \ - matitaGeneratedGui.cmx matitaExcPp.cmx buildTimeConf.cmx matitaGui.cmi + matitaGeneratedGui.cmx matitaExcPp.cmx buildTimeConf.cmx matitaGui.cmi matitaAuthentication.cmo: matitaFilesystem.cmi matitaEngine.cmi \ - matitaAuthentication.cmi + matitaAuthentication.cmi matitaAuthentication.cmx: matitaFilesystem.cmx matitaEngine.cmx \ - matitaAuthentication.cmi -matitaExcPp.cmo: matitaEngine.cmi matitaExcPp.cmi -matitaExcPp.cmx: matitaEngine.cmx matitaExcPp.cmi -matitaInit.cmo: matitaExcPp.cmi buildTimeConf.cmo matitaInit.cmi -matitaInit.cmx: matitaExcPp.cmx buildTimeConf.cmx matitaInit.cmi + matitaAuthentication.cmi +matitaExcPp.cmo: matitaEngine.cmi matitaExcPp.cmi +matitaExcPp.cmx: matitaEngine.cmx matitaExcPp.cmi +matitaInit.cmo: matitaExcPp.cmi buildTimeConf.cmo matitaInit.cmi +matitaInit.cmx: matitaExcPp.cmx buildTimeConf.cmx matitaInit.cmi matitaScript.cmo: virtuals.cmi matitaTypes.cmi matitaScriptLexer.cmi \ matitaMisc.cmi matitaMathView.cmi matitaGtkMisc.cmi matitaEngine.cmi \ - cicMathView.cmi buildTimeConf.cmo matitaScript.cmi + cicMathView.cmi buildTimeConf.cmo matitaScript.cmi matitaScript.cmx: virtuals.cmx matitaTypes.cmx matitaScriptLexer.cmx \ matitaMisc.cmx matitaMathView.cmx matitaGtkMisc.cmx matitaEngine.cmx \ - cicMathView.cmx buildTimeConf.cmx matitaScript.cmi -applyTransformation.cmi: -matitaclean.cmi: -matitaFilesystem.cmi: -matitaMathView.cmi: matitaTypes.cmi matitaGuiTypes.cmi -matitaTypes.cmi: -matitaMisc.cmi: matitaGuiTypes.cmi -predefined_virtuals.cmi: -cicMathView.cmi: matitaGuiTypes.cmi applyTransformation.cmi -matitaGtkMisc.cmi: matitaGeneratedGui.cmo -virtuals.cmi: -lablGraphviz.cmi: -matitaEngine.cmi: applyTransformation.cmi -matitaGui.cmi: matitaGuiTypes.cmi -matitaGuiTypes.cmi: matitaGeneratedGui.cmo applyTransformation.cmi -matitaScriptLexer.cmi: -matitaAuthentication.cmi: matitaFilesystem.cmi matitaEngine.cmi -matitaExcPp.cmi: -matitaInit.cmi: -matitaScript.cmi: -matitaScriptLexer.cmo: matitaScriptLexer.cmi -matitaScriptLexer.cmx: matitaScriptLexer.cmi -matitaScriptLexer.cmi: + cicMathView.cmx buildTimeConf.cmx matitaScript.cmi +applyTransformation.cmi: +matitaclean.cmi: +matitaFilesystem.cmi: +matitaMathView.cmi: matitaTypes.cmi matitaGuiTypes.cmi +matitaTypes.cmi: +matitaMisc.cmi: matitaGuiTypes.cmi +predefined_virtuals.cmi: +cicMathView.cmi: matitaGuiTypes.cmi applyTransformation.cmi +matitaGtkMisc.cmi: matitaGeneratedGui.cmo +virtuals.cmi: +lablGraphviz.cmi: +matitaEngine.cmi: applyTransformation.cmi +matitaGui.cmi: matitaGuiTypes.cmi +matitaGuiTypes.cmi: matitaGeneratedGui.cmo applyTransformation.cmi +matitaScriptLexer.cmi: +matitaAuthentication.cmi: matitaFilesystem.cmi matitaEngine.cmi +matitaExcPp.cmi: +matitaInit.cmi: +matitaScript.cmi: +matitaScriptLexer.cmo: matitaScriptLexer.cmi +matitaScriptLexer.cmx: matitaScriptLexer.cmi +matitaScriptLexer.cmi: diff --git a/matitaB/matita/.depend.opt b/matitaB/matita/.depend.opt index 92272e16a..8064ce10a 100644 --- a/matitaB/matita/.depend.opt +++ b/matitaB/matita/.depend.opt @@ -1,90 +1,86 @@ -applyTransformation.cmo: applyTransformation.cmi -applyTransformation.cmx: applyTransformation.cmi -matitaclean.cmo: matitaMisc.cmi matitaInit.cmi matitaclean.cmi -matitaclean.cmx: matitaMisc.cmx matitaInit.cmx matitaclean.cmi -matitaFilesystem.cmo: matitaFilesystem.cmi -matitaFilesystem.cmx: matitaFilesystem.cmi +applyTransformation.cmo: applyTransformation.cmi +applyTransformation.cmx: applyTransformation.cmi +matitaclean.cmo: matitaMisc.cmi matitaInit.cmi matitaclean.cmi +matitaclean.cmx: matitaMisc.cmx matitaInit.cmx matitaclean.cmi +matitaFilesystem.cmo: matitaFilesystem.cmi +matitaFilesystem.cmx: matitaFilesystem.cmi matitaMathView.cmo: virtuals.cmi matitaTypes.cmi matitaMisc.cmi \ matitaGuiTypes.cmi matitaGtkMisc.cmi matitaGeneratedGui.cmx \ matitaExcPp.cmi lablGraphviz.cmi cicMathView.cmi buildTimeConf.cmx \ - applyTransformation.cmi matitaMathView.cmi + applyTransformation.cmi matitaMathView.cmi matitaMathView.cmx: virtuals.cmx matitaTypes.cmx matitaMisc.cmx \ matitaGuiTypes.cmi matitaGtkMisc.cmx matitaGeneratedGui.cmx \ matitaExcPp.cmx lablGraphviz.cmx cicMathView.cmx buildTimeConf.cmx \ - applyTransformation.cmx matitaMathView.cmi -matitaTypes.cmo: matitaTypes.cmi -matitaTypes.cmx: matitaTypes.cmi -buildTimeConf.cmo: -buildTimeConf.cmx: -matitac.cmo: matitaclean.cmi matitaMisc.cmi matitaInit.cmi matitaEngine.cmi -matitac.cmx: matitaclean.cmx matitaMisc.cmx matitaInit.cmx matitaEngine.cmx -matitaGeneratedGui.cmo: -matitaGeneratedGui.cmx: -matitaMisc.cmo: matitaGuiTypes.cmi buildTimeConf.cmx matitaMisc.cmi -matitaMisc.cmx: matitaGuiTypes.cmi buildTimeConf.cmx matitaMisc.cmi -predefined_virtuals.cmo: virtuals.cmi predefined_virtuals.cmi -predefined_virtuals.cmx: virtuals.cmx predefined_virtuals.cmi + applyTransformation.cmx matitaMathView.cmi +matitaTypes.cmo: matitaTypes.cmi +matitaTypes.cmx: matitaTypes.cmi +buildTimeConf.cmo: +buildTimeConf.cmx: +matitac.cmo: matitaclean.cmi matitaMisc.cmi matitaInit.cmi matitaEngine.cmi +matitac.cmx: matitaclean.cmx matitaMisc.cmx matitaInit.cmx matitaEngine.cmx +matitaGeneratedGui.cmo: +matitaGeneratedGui.cmx: +matitaMisc.cmo: matitaGuiTypes.cmi buildTimeConf.cmx matitaMisc.cmi +matitaMisc.cmx: matitaGuiTypes.cmi buildTimeConf.cmx matitaMisc.cmi +predefined_virtuals.cmo: virtuals.cmi predefined_virtuals.cmi +predefined_virtuals.cmx: virtuals.cmx predefined_virtuals.cmi cicMathView.cmo: matitaMisc.cmi matitaGuiTypes.cmi matitaGtkMisc.cmi \ - buildTimeConf.cmx applyTransformation.cmi cicMathView.cmi + buildTimeConf.cmx applyTransformation.cmi cicMathView.cmi cicMathView.cmx: matitaMisc.cmx matitaGuiTypes.cmi matitaGtkMisc.cmx \ - buildTimeConf.cmx applyTransformation.cmx cicMathView.cmi -matitadaemon.cmo: matitaInit.cmi matitaFilesystem.cmi matitaEngine.cmi \ - matitaAuthentication.cmi applyTransformation.cmi -matitadaemon.cmx: matitaInit.cmx matitaFilesystem.cmx matitaEngine.cmx \ - matitaAuthentication.cmx applyTransformation.cmx + buildTimeConf.cmx applyTransformation.cmx cicMathView.cmi +matitadaemon.cmo: matitaInit.cmi matitaFilesystem.cmi matitaExcPp.cmi \ + matitaEngine.cmi matitaAuthentication.cmi applyTransformation.cmi +matitadaemon.cmx: matitaInit.cmx matitaFilesystem.cmx matitaExcPp.cmx \ + matitaEngine.cmx matitaAuthentication.cmx applyTransformation.cmx matitaGtkMisc.cmo: matitaTypes.cmi matitaGeneratedGui.cmx buildTimeConf.cmx \ - matitaGtkMisc.cmi + matitaGtkMisc.cmi matitaGtkMisc.cmx: matitaTypes.cmx matitaGeneratedGui.cmx buildTimeConf.cmx \ - matitaGtkMisc.cmi -matita.cmo: predefined_virtuals.cmi matitaScript.cmi matitaInit.cmi \ - matitaGui.cmi matitaGtkMisc.cmi buildTimeConf.cmx applyTransformation.cmi -matita.cmx: predefined_virtuals.cmx matitaScript.cmx matitaInit.cmx \ - matitaGui.cmx matitaGtkMisc.cmx buildTimeConf.cmx applyTransformation.cmx -virtuals.cmo: virtuals.cmi -virtuals.cmx: virtuals.cmi -lablGraphviz.cmo: lablGraphviz.cmi -lablGraphviz.cmx: lablGraphviz.cmi -matitaEngine.cmo: applyTransformation.cmi matitaEngine.cmi -matitaEngine.cmx: applyTransformation.cmx matitaEngine.cmi + matitaGtkMisc.cmi +virtuals.cmo: virtuals.cmi +virtuals.cmx: virtuals.cmi +lablGraphviz.cmo: lablGraphviz.cmi +lablGraphviz.cmx: lablGraphviz.cmi +matitaEngine.cmo: applyTransformation.cmi matitaEngine.cmi +matitaEngine.cmx: applyTransformation.cmx matitaEngine.cmi matitaGui.cmo: matitaTypes.cmi matitaScript.cmi matitaMisc.cmi \ matitaMathView.cmi matitaGuiTypes.cmi matitaGtkMisc.cmi \ - matitaGeneratedGui.cmx matitaExcPp.cmi buildTimeConf.cmx matitaGui.cmi + matitaGeneratedGui.cmx matitaExcPp.cmi buildTimeConf.cmx matitaGui.cmi matitaGui.cmx: matitaTypes.cmx matitaScript.cmx matitaMisc.cmx \ matitaMathView.cmx matitaGuiTypes.cmi matitaGtkMisc.cmx \ - matitaGeneratedGui.cmx matitaExcPp.cmx buildTimeConf.cmx matitaGui.cmi + matitaGeneratedGui.cmx matitaExcPp.cmx buildTimeConf.cmx matitaGui.cmi matitaAuthentication.cmo: matitaFilesystem.cmi matitaEngine.cmi \ - matitaAuthentication.cmi + matitaAuthentication.cmi matitaAuthentication.cmx: matitaFilesystem.cmx matitaEngine.cmx \ - matitaAuthentication.cmi -matitaExcPp.cmo: matitaEngine.cmi matitaExcPp.cmi -matitaExcPp.cmx: matitaEngine.cmx matitaExcPp.cmi -matitaInit.cmo: matitaExcPp.cmi buildTimeConf.cmx matitaInit.cmi -matitaInit.cmx: matitaExcPp.cmx buildTimeConf.cmx matitaInit.cmi + matitaAuthentication.cmi +matitaExcPp.cmo: matitaEngine.cmi matitaExcPp.cmi +matitaExcPp.cmx: matitaEngine.cmx matitaExcPp.cmi +matitaInit.cmo: matitaExcPp.cmi buildTimeConf.cmx matitaInit.cmi +matitaInit.cmx: matitaExcPp.cmx buildTimeConf.cmx matitaInit.cmi matitaScript.cmo: virtuals.cmi matitaTypes.cmi matitaScriptLexer.cmi \ matitaMisc.cmi matitaMathView.cmi matitaGtkMisc.cmi matitaEngine.cmi \ - cicMathView.cmi buildTimeConf.cmx matitaScript.cmi + cicMathView.cmi buildTimeConf.cmx matitaScript.cmi matitaScript.cmx: virtuals.cmx matitaTypes.cmx matitaScriptLexer.cmx \ matitaMisc.cmx matitaMathView.cmx matitaGtkMisc.cmx matitaEngine.cmx \ - cicMathView.cmx buildTimeConf.cmx matitaScript.cmi -applyTransformation.cmi: -matitaclean.cmi: -matitaFilesystem.cmi: -matitaMathView.cmi: matitaTypes.cmi matitaGuiTypes.cmi -matitaTypes.cmi: -matitaMisc.cmi: matitaGuiTypes.cmi -predefined_virtuals.cmi: -cicMathView.cmi: matitaGuiTypes.cmi applyTransformation.cmi -matitaGtkMisc.cmi: matitaGeneratedGui.cmx -virtuals.cmi: -lablGraphviz.cmi: -matitaEngine.cmi: applyTransformation.cmi -matitaGui.cmi: matitaGuiTypes.cmi -matitaGuiTypes.cmi: matitaGeneratedGui.cmx applyTransformation.cmi -matitaScriptLexer.cmi: -matitaAuthentication.cmi: matitaFilesystem.cmi matitaEngine.cmi -matitaExcPp.cmi: -matitaInit.cmi: -matitaScript.cmi: -matitaScriptLexer.cmo: matitaScriptLexer.cmi -matitaScriptLexer.cmx: matitaScriptLexer.cmi -matitaScriptLexer.cmi: + cicMathView.cmx buildTimeConf.cmx matitaScript.cmi +applyTransformation.cmi: +matitaclean.cmi: +matitaFilesystem.cmi: +matitaMathView.cmi: matitaTypes.cmi matitaGuiTypes.cmi +matitaTypes.cmi: +matitaMisc.cmi: matitaGuiTypes.cmi +predefined_virtuals.cmi: +cicMathView.cmi: matitaGuiTypes.cmi applyTransformation.cmi +matitaGtkMisc.cmi: matitaGeneratedGui.cmx +virtuals.cmi: +lablGraphviz.cmi: +matitaEngine.cmi: applyTransformation.cmi +matitaGui.cmi: matitaGuiTypes.cmi +matitaGuiTypes.cmi: matitaGeneratedGui.cmx applyTransformation.cmi +matitaScriptLexer.cmi: +matitaAuthentication.cmi: matitaFilesystem.cmi matitaEngine.cmi +matitaExcPp.cmi: +matitaInit.cmi: +matitaScript.cmi: +matitaScriptLexer.cmo: matitaScriptLexer.cmi +matitaScriptLexer.cmx: matitaScriptLexer.cmi +matitaScriptLexer.cmi: diff --git a/matitaB/matita/html/icons/advance.png b/matitaB/matita/html/icons/advance.png new file mode 100644 index 000000000..fbac430fa Binary files /dev/null and b/matitaB/matita/html/icons/advance.png differ diff --git a/matitaB/matita/html/icons/bottom.png b/matitaB/matita/html/icons/bottom.png new file mode 100644 index 000000000..9bcb7aad5 Binary files /dev/null and b/matitaB/matita/html/icons/bottom.png differ diff --git a/matitaB/matita/html/icons/matita-32.xpm b/matitaB/matita/html/icons/matita-32.xpm new file mode 100644 index 000000000..a33050e93 --- /dev/null +++ b/matitaB/matita/html/icons/matita-32.xpm @@ -0,0 +1,70 @@ +/* XPM */ +static char * matita_32_xpm[] = { +"32 32 35 1", +" c None", +". c #000000", +"+ c #808080", +"@ c #404040", +"# c #7F7F7F", +"$ c #FFFFFF", +"% c #666666", +"& c #CDCDCD", +"* c #F0F0F0", +"= c #5F5F5F", +"- c #0E0E0E", +"; c #131313", +"> c #898989", +", c #EAEAEA", +"' c #565656", +") c #0B0B0B", +"! c #7A7A7A", +"~ c #FEFEFE", +"{ c #4D4D4D", +"] c #AAAAAA", +"^ c #333333", +"/ c #989898", +"( c #353535", +"_ c #D8D8D8", +": c #F6F6F6", +"< c #717171", +"[ c #0D0D0D", +"} c #363636", +"| c #CECECE", +"1 c #0C0C0C", +"2 c #FCFCFC", +"3 c #654040", +"4 c #A36666", +"5 c #CB8080", +"6 c #3F3F3F", +" ", +" .. ", +" ............................ ", +" .++++++++++++@...#$$$+.++++. ", +" .++++++++%@...&$$$$$$$.++++. ", +" .+++++%....&$$$$$$$$$$.%+++. ", +" .++%...+&$$$$$$$$$$$$$+.+++. ", +" ....#&$$$$$$$$$$$$$$$$&.+++. ", +" ..#&$$$$$$$$$$$$$$$$$$$$.%++. ", +" ..$$$$$$$$$$$$$$$$$$$$$$+.++. ", +" ..$$$$$$$$$$$$$$$$$$$$$$&.++. ", +" .$$$$$$..*=-;>$,');!~$$$.%+. ", +" .&$$$$$..{....]^..../$$$+.+. ", +" ..$$$$$..(_:<.[(_:<.}$$$&.+. ", +" ..$$$$$..|$$,..|$$,.1$$$$.%. ", +" ..&$$$$..2$$$..2$$$..$$$$.@. ", +" .3.$$$$..$$$$..$$$$..$$$$&.. ", +" .4.$$$$..$$$$..$$$$..$$$$$.. ", +" .5.&$$$..$$$$..$$$$..$$$$$.. ", +" .53.$$$..$$$$..$$$$..$$$$$&. ", +" .54.$$$..$$$$..$$$$..$$$$$$. ", +" .55.$$$$$$$$$$$$$$$$$$$$$$$.. ", +" .55.+$$$$$$$$$$$$$$$$$$$$$$.. ", +" .554.$$$$$$$$$$$$$$$$$$$$$+.. ", +" .555.$$$$$$$$$$$$$$$$$&+.... ", +" .555.+$$$$$$$$$$$$$&+...%++. ", +" .5553.$$$$$$$$$$&+...%+++++. ", +" .5555.$$$$$$$+....%++++++++. ", +" .5555.&$$$+...6++++++++++++. ", +" ............................ ", +" .. ", +" "}; diff --git a/matitaB/matita/html/icons/matita-bulb-high.png b/matitaB/matita/html/icons/matita-bulb-high.png new file mode 100644 index 000000000..03b6e7f86 Binary files /dev/null and b/matitaB/matita/html/icons/matita-bulb-high.png differ diff --git a/matitaB/matita/html/icons/matita-bulb-low.png b/matitaB/matita/html/icons/matita-bulb-low.png new file mode 100644 index 000000000..f97302e48 Binary files /dev/null and b/matitaB/matita/html/icons/matita-bulb-low.png differ diff --git a/matitaB/matita/html/icons/matita-bulb-medium.png b/matitaB/matita/html/icons/matita-bulb-medium.png new file mode 100644 index 000000000..d3d449f93 Binary files /dev/null and b/matitaB/matita/html/icons/matita-bulb-medium.png differ diff --git a/matitaB/matita/html/icons/matita-folder.png b/matitaB/matita/html/icons/matita-folder.png new file mode 100644 index 000000000..ec0cc0839 Binary files /dev/null and b/matitaB/matita/html/icons/matita-folder.png differ diff --git a/matitaB/matita/html/icons/matita-object.png b/matitaB/matita/html/icons/matita-object.png new file mode 100644 index 000000000..fe89a30e8 Binary files /dev/null and b/matitaB/matita/html/icons/matita-object.png differ diff --git a/matitaB/matita/html/icons/matita-text.png b/matitaB/matita/html/icons/matita-text.png new file mode 100644 index 000000000..082a402ed Binary files /dev/null and b/matitaB/matita/html/icons/matita-text.png differ diff --git a/matitaB/matita/html/icons/matita-theory.png b/matitaB/matita/html/icons/matita-theory.png new file mode 100644 index 000000000..389152ef3 Binary files /dev/null and b/matitaB/matita/html/icons/matita-theory.png differ diff --git a/matitaB/matita/html/icons/matita.png b/matitaB/matita/html/icons/matita.png new file mode 100644 index 000000000..342bcb44c Binary files /dev/null and b/matitaB/matita/html/icons/matita.png differ diff --git a/matitaB/matita/html/icons/matita_medium.png b/matitaB/matita/html/icons/matita_medium.png new file mode 100644 index 000000000..335688af2 Binary files /dev/null and b/matitaB/matita/html/icons/matita_medium.png differ diff --git a/matitaB/matita/html/icons/matita_small.png b/matitaB/matita/html/icons/matita_small.png new file mode 100644 index 000000000..cfb017b0f Binary files /dev/null and b/matitaB/matita/html/icons/matita_small.png differ diff --git a/matitaB/matita/html/icons/matita_very_small.png b/matitaB/matita/html/icons/matita_very_small.png new file mode 100644 index 000000000..5a6807126 Binary files /dev/null and b/matitaB/matita/html/icons/matita_very_small.png differ diff --git a/matitaB/matita/html/icons/meegg.png b/matitaB/matita/html/icons/meegg.png new file mode 100644 index 000000000..4c2be73fb Binary files /dev/null and b/matitaB/matita/html/icons/meegg.png differ diff --git a/matitaB/matita/html/icons/position.png b/matitaB/matita/html/icons/position.png new file mode 100644 index 000000000..1beaf89a8 Binary files /dev/null and b/matitaB/matita/html/icons/position.png differ diff --git a/matitaB/matita/html/icons/retract.png b/matitaB/matita/html/icons/retract.png new file mode 100644 index 000000000..243cf07ba Binary files /dev/null and b/matitaB/matita/html/icons/retract.png differ diff --git a/matitaB/matita/html/icons/top.jpg b/matitaB/matita/html/icons/top.jpg new file mode 100644 index 000000000..c656ad864 Binary files /dev/null and b/matitaB/matita/html/icons/top.jpg differ diff --git a/matitaB/matita/html/icons/top.png b/matitaB/matita/html/icons/top.png new file mode 100644 index 000000000..167e2189f Binary files /dev/null and b/matitaB/matita/html/icons/top.png differ diff --git a/matitaB/matita/html/icons/whelp.png b/matitaB/matita/html/icons/whelp.png new file mode 100644 index 000000000..f67ea8b55 Binary files /dev/null and b/matitaB/matita/html/icons/whelp.png differ diff --git a/matitaB/matita/html/icons/whelp.svg b/matitaB/matita/html/icons/whelp.svg new file mode 100644 index 000000000..c1da66f6d --- /dev/null +++ b/matitaB/matita/html/icons/whelp.svg @@ -0,0 +1,221 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + h + + e + + l + + p + + W + + + diff --git a/matitaB/matita/html/index.html b/matitaB/matita/html/index.html new file mode 100644 index 000000000..21ffb0e5c --- /dev/null +++ b/matitaB/matita/html/index.html @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + +
+ +
+

Matita - <<Filename>>

+ +
+ + +
+ +
+ + + + + + + +
+ + + + +
+ + + + + + +
+ +
+

+
+ +
+
+ + +
+
(* script *)
+ +
+
+
+
+
+
+

+  
+
+
+
+ + + +
+ + + + + + +
+ + +
+ + + diff --git a/matitaB/matita/html/jquery.js b/matitaB/matita/html/jquery.js new file mode 100644 index 000000000..628ed9b31 --- /dev/null +++ b/matitaB/matita/html/jquery.js @@ -0,0 +1,4 @@ +/*! jQuery v1.6.4 http://jquery.com/ | http://jquery.org/license */ +(function(a,b){function cu(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cr(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"":"")+""),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cq(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cp(){cn=b}function co(){setTimeout(cp,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bv(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bl(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bd,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bk(a){f.nodeName(a,"input")?bj(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bj)}function bj(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bi(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bh(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bg(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i=0===c})}function U(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function M(a,b){return(a&&a!=="*"?a+".":"")+b.replace(y,"`").replace(z,"&")}function L(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function J(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function D(){return!0}function C(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function K(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(K,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,x=/^-ms-/,y=function(a,b){return(b+"").toUpperCase()},z=d.userAgent,A,B,C,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.4",length:0,size:function(){return this.length},toArray:function(){return G.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?F.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),B.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(G.apply(this,arguments),"slice",G.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:F,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;B.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!B){B=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",C,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",C),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&K()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):J[D.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!E.call(a,"constructor")&&!E.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||E.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(x,"ms-").replace(w,y)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c
a",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},m&&f.extend(p,{position:"absolute",left:"-1000px",top:"-1000px"});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i=f.expando,j=typeof c=="string",k=a.nodeType,l=k?f.cache:a,m=k?a[f.expando]:a[f.expando]&&f.expando;if((!m||e&&m&&l[m]&&!l[m][i])&&j&&d===b)return;m||(k?a[f.expando]=m=++f.uuid:m=f.expando),l[m]||(l[m]={},k||(l[m].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?l[m][i]=f.extend(l[m][i],c):l[m]=f.extend(l[m],c);g=l[m],e&&(g[i]||(g[i]={}),g=g[i]),d!==b&&(g[f.camelCase(c)]=d);if(c==="events"&&!g[c])return g[i]&&g[i].events;j?(h=g[c],h==null&&(h=g[f.camelCase(c)])):h=g;return h}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e=f.expando,g=a.nodeType,h=g?f.cache:a,i=g?a[f.expando]:f.expando;if(!h[i])return;if(b){d=c?h[i][e]:h[i];if(d){d[b]||(b=f.camelCase(b)),delete d[b];if(!l(d))return}}if(c){delete h[i][e];if(!l(h[i]))return}var j=h[i][e];f.support.deleteExpando||!h.setInterval?delete h[i]:h[i]=null,j?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=j):g&&(f.support.deleteExpando?delete a[f.expando]:a.removeAttribute?a.removeAttribute(f.expando):a[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=v:u&&(i=u)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.attr(a,b,""),a.removeAttribute(b),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(u&&f.nodeName(a,"button"))return u.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(u&&f.nodeName(a,"button"))return u.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==null?g:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabIndex=f.propHooks.tabIndex,v={get:function(a,c){var d;return f.prop(a,c)===!0||(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(u=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var w=/\.(.*)$/,x=/^(?:textarea|input|select)$/i,y=/\./g,z=/ /g,A=/[^\w\s.|`]/g,B=function(a){return a.replace(A,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=C;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=C);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),B).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},I=function(c){var d=c.target,e,g;if(!!x.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=H(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:I,beforedeactivate:I,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&I.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&I.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",H(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in G)f.event.add(this,c+".specialChange",G[c]);return x.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return x.test(this.nodeName)}},G=f.event.special.change.filters,G.focus=G.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(h=g;h0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=S.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(U(c[0])||U(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=R.call(arguments);N.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!T[a]?f.unique(e):e,(this.length>1||P.test(d))&&O.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};be.optgroup=be.option,be.tbody=be.tfoot=be.colgroup=be.caption=be.thead,be.th=be.td,f.support.htmlSerialize||(be._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!be[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bh(a,d),e=bi(a),g=bi(d);for(h=0;e[h];++h)g[h]&&bh(e[h],g[h])}if(b){bg(a,d);if(c){e=bi(a),g=bi(d);for(h=0;e[h];++h)bg(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=be[l]||be._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bn.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bm,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bm.test(g)?g.replace(bm,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bv(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bw=function(a,c){var d,e,g;c=c.replace(bo,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bx=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bp.test(d)&&bq.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bv=bw||bx,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bz=/%20/g,bA=/\[\]$/,bB=/\r?\n/g,bC=/#.*$/,bD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bE=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bF=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bG=/^(?:GET|HEAD)$/,bH=/^\/\//,bI=/\?/,bJ=/)<[^<]*)*<\/script>/gi,bK=/^(?:select|textarea)/i,bL=/\s+/,bM=/([?&])_=[^&]*/,bN=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bO=f.fn.load,bP={},bQ={},bR,bS,bT=["*/"]+["*"];try{bR=e.href}catch(bU){bR=c.createElement("a"),bR.href="",bR=bR.href}bS=bN.exec(bR.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bO)return bO.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bJ,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bK.test(this.nodeName)||bE.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bB,"\r\n")}}):{name:b.name,value:c.replace(bB,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?bX(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),bX(a,b);return a},ajaxSettings:{url:bR,isLocal:bF.test(bS[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bT},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bV(bP),ajaxTransport:bV(bQ),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?bZ(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=b$(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bD.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bC,"").replace(bH,bS[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bL),d.crossDomain==null&&(r=bN.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bS[1]&&r[2]==bS[2]&&(r[3]||(r[1]==="http:"?80:443))==(bS[3]||(bS[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bW(bP,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bG.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bI.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bM,"$1_="+x);d.url=y+(y===d.url?(bI.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bT+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bW(bQ,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){s<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bz,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cq("show",3),a,b,c);for(var g=0,h=this.length;g=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b
";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=ct.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!ct.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cu(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cu(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNaN(j)?i:j}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file diff --git a/matitaB/matita/html/jquery.tooltip.css b/matitaB/matita/html/jquery.tooltip.css new file mode 100644 index 000000000..feeca8370 --- /dev/null +++ b/matitaB/matita/html/jquery.tooltip.css @@ -0,0 +1,9 @@ +#tooltip { + position: absolute; + z-index: 3000; + border: 1px solid #111; + background-color: #ffffbf; + padding: 5px; + /* opacity: 0.85; */ +} +#tooltip h3, #tooltip div { margin: 0; } diff --git a/matitaB/matita/html/jquery.tooltip.min.js b/matitaB/matita/html/jquery.tooltip.min.js new file mode 100644 index 000000000..a8d0cc69a --- /dev/null +++ b/matitaB/matita/html/jquery.tooltip.min.js @@ -0,0 +1,19 @@ +/* + * jQuery Tooltip plugin 1.3 + * + * http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/ + * http://docs.jquery.com/Plugins/Tooltip + * + * Copyright (c) 2006 - 2008 Jörn Zaefferer + * + * $Id: jquery.tooltip.js 5741 2008-06-21 15:22:16Z joern.zaefferer $ + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */;(function($){var helper={},current,title,tID,IE=$.browser.msie&&/MSIE\s(5\.5|6\.)/.test(navigator.userAgent),track=false;$.tooltip={blocked:false,defaults:{delay:200,fade:false,showURL:true,extraClass:"",top:15,left:15,id:"tooltip"},block:function(){$.tooltip.blocked=!$.tooltip.blocked;}};$.fn.extend({tooltip:function(settings){settings=$.extend({},$.tooltip.defaults,settings);createHelper(settings);return this.each(function(){$.data(this,"tooltip",settings);this.tOpacity=helper.parent.css("opacity");this.tooltipText=this.title;$(this).removeAttr("title");this.alt="";}).mouseover(save).mouseout(hide).click(hide);},fixPNG:IE?function(){return this.each(function(){var image=$(this).css('backgroundImage');if(image.match(/^url\(["']?(.*\.png)["']?\)$/i)){image=RegExp.$1;$(this).css({'backgroundImage':'none','filter':"progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='"+image+"')"}).each(function(){var position=$(this).css('position');if(position!='absolute'&&position!='relative')$(this).css('position','relative');});}});}:function(){return this;},unfixPNG:IE?function(){return this.each(function(){$(this).css({'filter':'',backgroundImage:''});});}:function(){return this;},hideWhenEmpty:function(){return this.each(function(){$(this)[$(this).html()?"show":"hide"]();});},url:function(){return this.attr('href')||this.attr('src');}});function createHelper(settings){if(helper.parent)return;helper.parent=$('

').appendTo(document.body).hide();if($.fn.bgiframe)helper.parent.bgiframe();helper.title=$('h3',helper.parent);helper.body=$('div.body',helper.parent);helper.url=$('div.url',helper.parent);}function settings(element){return $.data(element,"tooltip");}function handle(event){if(settings(this).delay)tID=setTimeout(show,settings(this).delay);else +show();track=!!settings(this).track;$(document.body).bind('mousemove',update);update(event);}function save(){if($.tooltip.blocked||this==current||(!this.tooltipText&&!settings(this).bodyHandler))return;current=this;title=this.tooltipText;if(settings(this).bodyHandler){helper.title.hide();var bodyContent=settings(this).bodyHandler.call(this);if(bodyContent.nodeType||bodyContent.jquery){helper.body.empty().append(bodyContent)}else{helper.body.html(bodyContent);}helper.body.show();}else if(settings(this).showBody){var parts=title.split(settings(this).showBody);helper.title.html(parts.shift()).show();helper.body.empty();for(var i=0,part;(part=parts[i]);i++){if(i>0)helper.body.append("
");helper.body.append(part);}helper.body.hideWhenEmpty();}else{helper.title.html(title).show();helper.body.hide();}if(settings(this).showURL&&$(this).url())helper.url.html($(this).url().replace('http://','')).show();else +helper.url.hide();helper.parent.addClass(settings(this).extraClass);if(settings(this).fixPNG)helper.parent.fixPNG();handle.apply(this,arguments);}function show(){tID=null;if((!IE||!$.fn.bgiframe)&&settings(current).fade){if(helper.parent.is(":animated"))helper.parent.stop().show().fadeTo(settings(current).fade,current.tOpacity);else +helper.parent.is(':visible')?helper.parent.fadeTo(settings(current).fade,current.tOpacity):helper.parent.fadeIn(settings(current).fade);}else{helper.parent.show();}update();}function update(event){if($.tooltip.blocked)return;if(event&&event.target.tagName=="OPTION"){return;}if(!track&&helper.parent.is(":visible")){$(document.body).unbind('mousemove',update)}if(current==null){$(document.body).unbind('mousemove',update);return;}helper.parent.removeClass("viewport-right").removeClass("viewport-bottom");var left=helper.parent[0].offsetLeft;var top=helper.parent[0].offsetTop;if(event){left=event.pageX+settings(current).left;top=event.pageY+settings(current).top;var right='auto';if(settings(current).positionLeft){right=$(window).width()-left;left='auto';}helper.parent.css({left:left,right:right,top:top});}var v=viewport(),h=helper.parent[0];if(v.x+v.cx 2 && px.substr(px.length-2) == "px") { + return parseInt(px.substr(0,px.length-2)); + } else { return px; } +} + +function initializeLayout() { + + apparea.resize = function(w,h) { + workarea.resize(w,h); + resizeItem(apparea,w,h); + } + + workarea.resize = function(w,h) { + // proper height = window - (title + top) + var myh = int_of_px(window.getComputedStyle(apparea,null).height) - + (titlebar.offsetHeight + toparea.offsetHeight); + scriptcell.resize(w,myh); + sidearea.resize(w,myh); + resizeItem(workarea,w,myh); + } + + scriptcell.resize = function(w,h) { + if (matita.proofMode || matita.disambMode) { + resizeItem(scriptcell,(w*2)/3,h); + } else { + resizeItem(scriptcell,w,h); + } + } + + sidearea.resize = function(w,h) { + disambcell.resize(w/3,h); + goalcell.resize(w/3,h); + resizeItem(sidearea,w/3,h); + } + + disambcell.resize = function(w,h) { + if (matita.proofMode) { + resizeItem(disambcell,w,h/2); + } else { + resizeItem(disambcell,w,h); + } + } + + goalcell.resize = function(w,h) { + if (matita.disambMode) { + resizeItem(goalcell,w,h/2); + } else { + resizeItem(goalcell,w,h); + } + } + + $(window).bind("resize", resize); + + // resize(); + +} + +function resize() { + // var htmlheight = int_of_px(window.getComputedStyle(body.parentNode,null).height); + // var htmlwidth = int_of_px(window.getComputedStyle(body.parentNode,null).width); + // apparea.resize(htmlwidth,htmlheight); + apparea.resize($(window).width(),$(window).height()); +} + +function updateSide() { + scriptcell.resize(workarea.clientWidth,workarea.clientHeight); + sidearea.resize(workarea.clientWidth,workarea.clientHeight); + updateDisamb(); + updateGoal(); + if (matita.proofMode || matita.disambMode) { + sidearea.style.display = "inline-block"; + } else { + sidearea.style.display = "none"; + } +} + +function updateDisamb() { + if (matita.disambMode) { + disambcell.style.display = "inline-block"; + } else { + disambcell.style.display = "none"; + } +} + +function updateGoal() { + if (matita.proofMode) { + goalcell.style.display = "inline-block"; + } else { + goalcell.style.display = "none"; + } +} diff --git a/matitaB/matita/html/login.html b/matitaB/matita/html/login.html new file mode 100644 index 000000000..118434921 --- /dev/null +++ b/matitaB/matita/html/login.html @@ -0,0 +1,29 @@ + + + + + + + +

Matita web: Login

+
+ + + + + + + + + +
User id:
Password:
+ + + +
+ +

Matitaweb is currently being tested on Mozilla Firefox v.8.0 and Google Chrome v. 15.0.874.

+ + + + diff --git a/matitaB/matita/html/logout.html b/matitaB/matita/html/logout.html new file mode 100644 index 000000000..df0ae2001 --- /dev/null +++ b/matitaB/matita/html/logout.html @@ -0,0 +1,15 @@ + + + + + + + + + +

Logout succeeded!

+ +

Start a new session

+ + + diff --git a/matitaB/matita/html/matitaweb.css b/matitaB/matita/html/matitaweb.css new file mode 100644 index 000000000..a3619e66c --- /dev/null +++ b/matitaB/matita/html/matitaweb.css @@ -0,0 +1,278 @@ +body { + border:0px; + padding:0px; + margin:0px; +} + +div#matitaapparea { + border:0px; + padding:0px; + margin:0px; + position:fixed; +} + +div.upload { + position:absolute; + top: 50%; + left: 50%; + width:450px; + height:50px; + margin-top: -250px; /*set to a negative number 1/2 of your height*/ + margin-left: -225px; /*set to a negative number 1/2 of your width*/ + border: 1px solid #ccc; + padding: 3px; + background-color: #f3f3f3; +} + +div.titlebar { + display: block; + margin:0px; + border:0px; + width:100%; + height: 32px; + background-color: #007fff; + color: white; +} + +div.mainTitle { + display: block; + margin-left: 3px; + margin-right: auto; + max-width: 600px; + max-height: 32px; + float: left; + line-height: 32px; + vertical-align: middle; +} + +div.mainRight { + display: block; + max-width: 600px; + max-height: 32px; + line-height: 32px; + display: block; + margin-left: auto; + margin-right: 3px; + float: right; + vertical-align: middle; +} + +div.dialog { + position:absolute; + width:450px; + height:500px; + border: 1px solid #ccc; + padding: 3px; + background-color: #f3f3f3; + z-index: 9999; +} + +div.diaTitle { + display: block; + margin-left: 3px; + margin-right: auto; + width: 414px; + background-color: #007fff; + color: white; + float: left; + line-height: 32px; +} + +div.diaClose { + display: block; + margin-left: auto; + margin-right: 3px; + background-color: red; + width: 30px; + color: white; + float: right; + text-align: center; + vertical-align: middle; + line-height: 32px +} + +#mask { + position:absolute; + left:0; + top:0; + z-index:9000; + background-color:#000; + display:none; +} + +#whitemask { + position:absolute; + left:0; + top:0; + z-index:9000; + background-color:#ffffff; + display:none; +} + + +a#hlogout { + color: inherit; + font-weight: bold; +} + +a.butClose { + color: inherit; +} + +input.diaFile { + margin-left: 3px; + margin-right: auto; + width: 370px; +} + +div.scroll { + display: block; + margin-left: auto; + margin-right: auto; + border: 1px solid #ccc; + height:415px; + width:442px; + overflow:auto; + background-color: white; + color:black; +} + +div.matitaapparea { + display: block; + margin-left: auto; + margin-right: auto; + height:100%; + width:100%; + background-color: white; + color:black; +} + +div.toparea { + display: block; + padding:4px; + margin-left: auto; + margin-right: auto; + height:64px; + width:100%; + line-height:64px; +/* float:left;*/ +} + +div.bottomarea { + display: block; + margin-left: auto; + margin-right: auto; + height:15%; + width:100%; +} + +div.workarea { + display: block; + border:0px; + padding:0px; + margin:0px; + /*margin-left: auto; + margin-right: auto;*/ + height:84%; + width:100%; +} + +div.navibar { + display: inline-block; + margin-left: auto; + margin-right: auto; + height:100%; + width:370px; + float:left; +} + +div.toolbar { + display: inline-block; + margin-left: auto; + margin-right: auto; + height:100%; + width:400px; + float:left; +} + +div.caption { + display: inline-block; + margin-left: auto; + margin-right: auto; + height:100%; + width:220px; + text-align: center; + float:right; +} + +img.topimg { + bottom:0px; + border:none; +} + +div.scriptarea { + display: inline-block; + border:0px; + padding:0px; + margin:0px; +/* margin-left: auto; + margin-right: auto;*/ + height:100%; + width:67%; +/* min-width:67%; + max-width:67%; */ + float:left; +} + +div.sidearea { + display: inline-block; + border:0px; + padding:0px; + margin:0px; + /*margin-left: auto; + margin-right: auto;*/ + height:100%; + width:33%; +/* min-width:33%; + max-width:33%; */ + float:right; +} + +div.framed { + border: 2px solid DarkGray; + overflow: auto; +} + +div.context { + overflow: auto; +} + +span.autotactic { + color: green; + font-weight: bold; +} + +span.autotrace { + display:none; +} + +span.activegoal { + color: red; + font-weight: bold; +} + +span.error { + color:red; + text-decoration: none; + border-bottom: 2px dashed; +} + +span.passivegoal { + color: blue; +} + +h2 { + border: 0px; + padding: 1px; + display: inline; +} diff --git a/matitaB/matita/html/matitaweb.js b/matitaB/matita/html/matitaweb.js new file mode 100644 index 000000000..d367b6bb3 --- /dev/null +++ b/matitaB/matita/html/matitaweb.js @@ -0,0 +1,1584 @@ +var locked; +var unlocked; +var workarea; +var scriptcell; +var goalcell; +var goals; +var goalview; +var filename; +var logarea; +var advanceButton; +var retractButton; +var cursorButton; +var bottomButton; +var dialogBox; +var dialogTitle; +var dialogContent; +var metasenv = ""; +var lockedbackup = ""; +var matita; + +function text_of_html(h) +{ + if(document.all) { + return h.innerText; + } else { + return h.textContent; + } +} + +function unescape_html(s) +{ + u = document.getElementById("unescape"); + u.innerHTML = s; + return text_of_html(u) +} + +function filterByClass (elements,cname){ + var itemsfound = new Array; + for(var i=0;i= 32 && n < 127) s+= ' (' + String.fromCharCode(n) + ')'; + while (s.length < 9) s+= ' '; + return s; +} + +function string_of_key(n) +{ + if (n == null) return 'undefined'; + return String.fromCharCode(n); +} + +function pressmesg(w,e) +{ + debug(w + ' keyCode=' + keyval(e.keyCode) + + ' which=' + keyval(e.which) + + ' charCode=' + keyval(e.charCode) + + '\n shiftKey='+e.shiftKey + + ' ctrlKey='+e.ctrlKey + + ' altKey='+e.altKey + + ' metaKey='+e.metaKey); +} + +function suppressdefault(e,flag) +{ + if (flag) + { + if (e.preventDefault) e.preventDefault(); + if (e.stopPropagation) e.stopPropagation(); + } + return !flag; +} + +function restoreSelection(r) { + unlocked.focus(); + if (r != null) { + if (window.getSelection)//non IE and there is already a selection + { + var s = window.getSelection(); + if (s.rangeCount > 0) + s.removeAllRanges(); + s.addRange(r); + } + else + if (document.createRange)//non IE and no selection + { + window.getSelection().addRange(r); + } + else + if (document.selection)//IE + { + r.select(); + } + } +} + +function lookup_tex(texmacro) +{ + texmacro = texmacro.substring(1); + return unescape(macro2utf8[texmacro]); +} + +function strip_tags(tagname,classname) +{ + var tags = unlocked.getElementsByTagName(tagname); + var tlen = tags.length; // preserving the value from removeChild operations + if (is_defined(classname)) { + tags = filterByClass(tags,classname); + } + for (i = 0; i < tlen; i++) { + var children = tags[i].childNodes; + for (j = 0; j < children.length; j++) { + tags[i].parentNode.insertBefore(children[j],tags[i]); + } + } + for (var i = 0; i < tlen; i++) { + tags[0].parentNode.removeChild(tags[0]); + } +} + +function strip_interpr() { + strip_tags("A"); + alert("strip_interpr ended"); +} + +function keypress(e) +{ + if (!e) e= event; + pressmesg('keypress',e); + var s = string_of_key(e.charCode); + strip_tags("span","error"); + if (s == " ") { + j = getCursorPos(); + i = unlocked.innerHTML.html_to_matita().lastIndexOf('\\',j); + if (i >= 0) { + match = unlocked.innerHTML.html_to_matita().substring(i,j); + sym = unescape_html(lookup_tex(match)); + if (sym != "undefined") { + if (window.getSelection) { // non IE + savedRange.setStart(savedsc,savedso - (j-i)); + savedRange.deleteContents(); + savedRange.insertNode(document.createTextNode(sym)); + savedsc.parentNode.normalize(); + if (savedRange.collapsed) { // Mozilla + savedRange.setEnd(savedsc,savedRange.endOffset + sym.length); + } + savedRange.collapse(false); + } else { + savedRange.moveStart(i-j); + savedRange.text(sym); + savedRange.collapse(false); + } + restoreSelection(savedRange); + return suppressdefault(e,true); + } + else { + // restoreSelection(0); + return suppressdefault(e,false); + } + } + else return suppressdefault(e,false); + } else { + return suppressdefault(e,false); + } +} + +var logtxt = ""; + +function debug(txt) +{ + // internet explorer (v.9) doesn't work with innerHTML + // but google chrome's innerText is, in a sense, "write only" + // what should we do? + // logarea.innerText = txt + "\n" + logarea.innerText; + logtxt = /* logtxt + "\n" +*/ txt; +} + +function showLog() { + logWin = window.open( "", "Matita Log", + "width=600,height=450,status,scrollbars,resizable,screenX=20,screenY=40,left=20,top=40"); + logWin.document.write('Matita Log' + ''); + logWin.document.write(''); + logWin.document.close(); +} + +function listhd(l) +{ + ar = l.split("#"); + debug("hd of '" + l + "' = '" + ar[0] + "'"); + return (ar[0]); +} + +function listtl(l) +{ + i = l.indexOf("#"); + tl = l.substr(i+1); + debug("tl of '" + l + "' = '" + tl + "'"); + return (tl); +} + +function listcons(x,l) +{ + debug("cons '" + x + "' on '" + l + "'"); + return (x + "#" + l); +} + +function listnil() +{ + return (""); +} + +function list_append(l1,l2) +{ return (l1 + l2) } + +function is_nil(l) +{ + return (l == ""); +} + +function fold_left (f,acc,l) +{ + if (is_nil(l)) + { debug("'" + l + "' is fold end"); + return (acc); } + else + { debug("'" + l + "' is fold cons"); + return(fold_left (f,f(acc,(listhd(l))),listtl(l))); } +} + +function listiter (f,l) +{ + if (is_nil(l)) + { debug("'" + l + "' is nil"); + return; + } + else + { + debug("'" + l + "' is not nil"); + f(listhd(l)); + listiter(f,listtl(l)); + } +} + +function listmap (f,l) +{ + debug("listmap on " + l); + if (is_nil(l)) + { debug("returning listnil"); + return(listnil()); + } + else + { debug("cons f(hd) map(f,tl)"); + return(f(listhd(l)) + "#" + listmap(f,listtl(l))); + } +} + +var statements = listnil(); + +var goalarray; +var metalist = listnil(); + +function pairmap (f,p) +{ + debug("pairmap of '" + p + "'"); + ar = p.split("|"); + return (f(ar[0],ar[1])); +} + +function tripletmap (f,p) +{ + debug("tripletmap of '" + p + "'"); + ar = p.split("|"); + return (f(ar[0],ar[1],ar[2])); +} + +function fst (p) +{ + debug("fst"); + return (pairmap (function (a,b) { return (a); }, p)); +} + +function p13 (p) +{ + debug("p13"); + return (tripletmap (function (a,b,c) { return (a); }, p)); +} + +function p23 (p) +{ + debug("p23"); + return (tripletmap (function (a,b,c) { return (b); }, p)); +} + +function p33 (p) +{ + debug("f33"); + return (tripletmap (function (a,b,c) { return (c); }, p)); +} + +function populate_goalarray(menv) +{ + debug("metasenv.length = " + menv.length); + if (menv.length == 0) { + try { + hideSequent(); + } catch (err) { }; + } else { + showSequent(); + goalarray = new Array(); + metalist = listnil(); + var tmp_goallist = ""; + for (i = 0; i < menv.length; i++) { + metano = menv[i].getAttribute("number"); + metaname = menv[i].childNodes[0].childNodes[0].data; + goal = menv[i].childNodes[1].childNodes[0].data; + debug ("found meta n. " + metano); + debug ("found goal\nBEGIN" + goal + "\nEND"); + goalarray[metano] = goal; + tmp_goallist = " " + metaname + "" + tmp_goallist; + metalist = listcons(metano,metalist); + debug ("goalarray[\"" + metano + "\"] = " + goalarray[metano]); + } + goals.innerHTML = tmp_goallist; + debug("new metalist is '" + metalist + "'"); + if (is_nil(metalist)) { + switch_goal(); + } + else { + switch_goal(listhd(metalist)); + } + } +} + +function switch_goal(meta) +{ + if (typeof meta == "undefined") { + goalview.innerHTML = ""; + } + else { + debug("switch_goal " + meta + "\n" + goalarray[meta]); + goalview.innerHTML = "Goal ?" + meta + ":\n\n" + goalarray[meta]; + } +} + +// the following is used to avoid escaping unicode, which results in +// the server being unable to unescape the string +String.prototype.sescape = function() { + var patt1 = /%/gi; + var patt2 = /=/gi; + var patt3 = /&/gi; + var patt4 = /\+/gi; + var result = this; + result = result.replace(patt1,"%25"); + result = result.replace(patt2,"%3D"); + result = result.replace(patt3,"%26"); + result = result.replace(patt4,"%2B"); + return (result); +} + +String.prototype.html_to_matita = function() +{ + var patt1 = //gi; + var patt2 = //gi + var patt4 = /</gi; + var patt5 = />/gi; + var patt6 = / /gi; + var result = this; + result = result.replace(patt1,"\n"); + result = result.replace(patt2,"\005"); + result = result.replace(patt3,"\006"); + result = result.replace(patt4,"<"); + result = result.replace(patt5,">"); + result = result.replace(patt6," "); + return (unescape(result)); +} + +String.prototype.matita_to_html = function() +{ + var patt1 = //gi + var patt3 = /\005/gi; + var patt4 = /\006/gi; + var result = this; + result = result.replace(patt1,"<"); + result = result.replace(patt2,">"); + result = result.replace(patt3,"<"); + result = result.replace(patt4,">"); + return (unescape(result)); +} + +function is_defined(x) +{ + return (typeof x != "undefined"); +} + +/* servicename: name of the service being called + * reqbody: text of the request + * processResponse: processes the server response + * (takes the response text in input, undefined in case of error) + */ +function callServer(servicename,processResponse,reqbody) +{ + var req = null; + // pause(); + if (window.XMLHttpRequest) + { + req = new XMLHttpRequest(); + } + else if (window.ActiveXObject) + { + try { + req = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) + { + try { + req = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (e) {} + } + } + req.onreadystatechange = function() + { + + rs = req.readyState; + + if(rs == 4) + { + stat = req.status; + stxt = req.statusText; + if(stat == 200) + { + debug(req.responseText); + if (window.DOMParser) { + parser=new DOMParser(); + xmlDoc=parser.parseFromString(req.responseText,"text/xml"); + } + else // Internet Explorer + { + xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); + xmlDoc.async="false"; + xmlDoc.loadXML(req.responseText); + } + processResponse(xmlDoc); + } else { + processResponse(); + } + } + }; + req.open("POST", servicename); // + escape(unlocked.innerHTML), true); + req.setRequestHeader("Content-type","application/x-www-form-urlencoded"); + if (reqbody) { + req.send(reqbody); + } else { + req.send(); + } + +} + +function advOneStep(xml) { + var parsed = xml.getElementsByTagName("parsed")[0]; + var ambiguity = xml.getElementsByTagName("ambiguity")[0]; + var disamberr = xml.getElementsByTagName("disamberror")[0]; + if (is_defined(parsed)) { + // debug("advance: received response\nBEGIN\n" + req.responseText + "\nEND"); + var len = parseInt(parsed.getAttribute("length")); + // len0 = unlocked.innerHTML.length; + var unescaped = unlocked.innerHTML.html_to_matita(); + var parsedtxt = parsed.childNodes[0].wholeText; + //parsedtxt = unescaped.substr(0,len); + var unparsedtxt = unescaped.substr(len); + lockedbackup += parsedtxt; + locked.innerHTML = lockedbackup; + unlocked.innerHTML = unparsedtxt.matita_to_html(); + // len1 = unlocked.innerHTML.length; + // len2 = len0 - len1; + var len2 = parsedtxt.length; + metasenv = xml.getElementsByTagName("meta"); + statements = listcons(len2,statements); + unlocked.scrollIntoView(true); + return len; + } + else if (is_defined(ambiguity)) { + var start = parseInt(ambiguity.getAttribute("start")); + var stop = parseInt(ambiguity.getAttribute("stop")); + var choices = xml.getElementsByTagName("choice"); + + matita.ambiguityStart = start; + matita.ambiguityStop = stop; + matita.unlockedbackup = unlocked.innerHTML.html_to_matita(); + matita.interpretations = []; + + var unlockedtxt = unlocked.innerHTML.html_to_matita(); + var pre = unlockedtxt.substring(0,start).matita_to_html(); + var mid = unlockedtxt.substring(start,stop).matita_to_html(); + var post = unlockedtxt.substring(stop).matita_to_html(); + unlocked.innerHTML = pre + + "" + + mid + "" + post; + + var title = "

Ambiguous input

"; + disambcell.innerHTML = title; + for (i = 0;i < choices.length;i++) { + matita.interpretations[i] = new Object(); + + var href = choices[i].getAttribute("href"); + var title = choices[i].getAttribute("title"); + var desc = choices[i].childNodes[0].nodeValue; + + matita.interpretations[i].href = href; + matita.interpretations[i].title = title; + matita.interpretations[i].desc = desc; + + var choice = document.createElement("input"); + choice.setAttribute("type","radio"); + choice.setAttribute("name","interpr"); + choice.setAttribute("href",href); + choice.setAttribute("title",title); + if (i == 0) choice.setAttribute("checked",""); + + disambcell.appendChild(choice); + disambcell.appendChild(document.createTextNode(desc)); + disambcell.appendChild(document.createElement("br")); + } + + var okbutton = document.createElement("input"); + okbutton.setAttribute("type","button"); + okbutton.setAttribute("value","OK"); + okbutton.setAttribute("onclick","do_disambiguate()"); + var cancelbutton = document.createElement("input"); + cancelbutton.setAttribute("type","button"); + cancelbutton.setAttribute("value","Cancel"); + cancelbutton.setAttribute("onclick","cancel_disambiguate()"); + + disambcell.appendChild(okbutton); + disambcell.appendChild(cancelbutton); + + matita.disambMode = true; + updateSide(); + throw "Stop"; + } + else if (is_defined(disamberr)) { + // must be fixed in a daemon: it makes sense to return a + // disambiguation error with no choices + if (disamberr.childNodes.length > 0) { + set_cps(disamberr.childNodes); + matita.unlockedbackup = unlocked.innerHTML.html_to_matita(); + matita.disambMode = true; + next_cp(0); + } + throw "Stop"; + } + else { + var error = xml.getElementsByTagName("error")[0]; + unlocked.innerHTML = error.childNodes[0].wholeText; + // debug(xml.childNodes[0].nodeValue); + throw "Stop"; + } + +} + +function advanceForm1() +{ + processor = function(xml) { + try { + if (is_defined(xml)) { + advOneStep(xml); + populate_goalarray(metasenv); + init_autotraces(); + } else { + debug("advance failed"); + } + } catch (e) { + // nothing to do + }; + resume(); + }; + pause(); + callServer("advance",processor,"body=" + (unlocked.innerHTML.html_to_matita()).sescape()); + +} + +// get or set 's (in case of disamb error) +function get_cps() { + return matita.choicepoints +} + +function set_cps(cps) { + matita.choicepoints = cps; +} + +// get radio buttons for 's in a given cp +function get_choice_opts(i) { + var res = []; + var choices = get_cps()[i].childNodes; + for (var j = 0;j < choices.length;j++) { + var href = choices[j].getAttribute("href"); + var title = choices[j].getAttribute("title"); + var desc; + if (is_defined(title) && title != null) { + desc = title; + } else if (is_defined(href) && href != null) { + desc = href; + } else { + desc = null; + } + + res[j] = document.createElement("input"); + res[j].setAttribute("type","radio"); + res[j].setAttribute("name","choice"); + res[j].setAttribute("choicepointno",i); + res[j].setAttribute("choiceno",j); + res[j].setAttribute("href",href); + res[j].setAttribute("title",title); + if (desc != null) res[j].setAttribute("desc",desc); + + if (j == 0) res[j].setAttribute("checked",""); + } + return res; +} + +// get radio buttons for 's in a given choice +function get_failure_opts(i,j) { + var res = []; + var failures = get_cps()[i].childNodes[j].childNodes; + for (var k = 0;k < failures.length;k++) { + var start = failures[k].getAttribute("start"); + var stop = failures[k].getAttribute("stop"); + var title = failures[k].getAttribute("title"); + + res[k] = document.createElement("input"); + res[k].setAttribute("type","radio"); + res[k].setAttribute("name","failure"); + res[k].setAttribute("choicepointno",i); + res[k].setAttribute("choiceno",j); + res[k].setAttribute("failureno",k); + res[k].setAttribute("start",start); + res[k].setAttribute("stop",stop); + res[k].setAttribute("title",title); + + if (k == 0) res[k].setAttribute("checked",""); + } + return res; +} + +function next_cp(curcp) { + var cp = get_cps()[curcp]; + var start = parseInt(cp.getAttribute("start")); + var stop = parseInt(cp.getAttribute("stop")); + + matita.errorStart = start; + matita.errorStop = stop; + // matita.unlockedbackup = unlocked.innerHTML.html_to_matita(); + + var unlockedtxt = matita.unlockedbackup; + var pre = unlockedtxt.substring(0,start).matita_to_html(); + var mid = unlockedtxt.substring(start,stop).matita_to_html(); + var post = unlockedtxt.substring(stop).matita_to_html(); + unlocked.innerHTML = pre + + "" + + mid + "" + post; + + var title = "

Error diagnostics

"; + disambcell.innerHTML = title; + var choices = get_choice_opts(curcp); + for (var i = 0;i < choices.length;i++) { + disambcell.appendChild(choices[i]); + var desc = choices[i].getAttribute("desc"); + if (!is_defined(desc) || desc == null) { + desc = "Interpretation " + i; + } + disambcell.appendChild(document.createTextNode(desc)); + disambcell.appendChild(document.createElement("br")); + } + + // update index of the next choicepoint + new_curcp = (curcp + 1) % get_cps().length; + + var okbutton = document.createElement("input"); + okbutton.setAttribute("type","button"); + okbutton.setAttribute("value","OK"); + okbutton.setAttribute("onclick","show_failures()"); + var cancelbutton = document.createElement("input"); + cancelbutton.setAttribute("type","button"); + cancelbutton.setAttribute("value","Close"); + cancelbutton.setAttribute("onclick","cancel_disambiguate()"); + var tryagainbutton = document.createElement("input"); + tryagainbutton.setAttribute("type","button"); + if (new_curcp > 0) { + tryagainbutton.setAttribute("value","Try something else"); + } else { + tryagainbutton.setAttribute("value","Restart"); + } + tryagainbutton.setAttribute("onclick","next_cp(" + new_curcp + ")"); + + disambcell.appendChild(okbutton); + disambcell.appendChild(tryagainbutton); + disambcell.appendChild(cancelbutton); + + //disable_toparea(); + + //matita.disambMode = true; + updateSide(); + +} + +function show_failures() { + + var choice = document.getElementsByName("choice")[get_checked_index("choice")]; + var cpno = parseInt(choice.getAttribute("choicepointno")); + var choiceno = parseInt(choice.getAttribute("choiceno")); + var choicedesc = choice.getAttribute("desc"); + + var title = "

Error diagnostics

"; + var subtitle; + if (is_defined(choicedesc) && choicedesc != null) { + subtitle = "

Errors at node " + cpno + " = " + choicedesc + "

"; + } else { + subtitle = "

Global errors:

"; + } + + disambcell.innerHTML = title + subtitle; + var failures = get_failure_opts(cpno,choiceno); + for (var i = 0;i < failures.length;i++) { + disambcell.appendChild(failures[i]); + disambcell.appendChild(document.createTextNode(failures[i].getAttribute("title"))); + disambcell.appendChild(document.createElement("br")); + } + + var okbutton = document.createElement("input"); + okbutton.setAttribute("type","button"); + okbutton.setAttribute("value","Show error loc"); + okbutton.setAttribute("onclick","show_err()"); + var cancelbutton = document.createElement("input"); + cancelbutton.setAttribute("type","button"); + cancelbutton.setAttribute("value","Close"); + cancelbutton.setAttribute("onclick","cancel_disambiguate()"); + var backbutton = document.createElement("input"); + backbutton.setAttribute("type","button"); + backbutton.setAttribute("value","<< Back"); + backbutton.setAttribute("onclick","next_cp(" + cpno + ")"); + + disambcell.appendChild(backbutton); + disambcell.appendChild(okbutton); + disambcell.appendChild(cancelbutton); + +} + +function show_err() { + var radios = document.getElementsByName("failure"); + for (i = 0; i < radios.length; i++) { + if (radios[i].checked) { + var start = radios[i].getAttribute("start"); + var stop = radios[i].getAttribute("stop"); + var title = radios[i].getAttribute("title"); + var unlockedtxt = matita.unlockedbackup; + var pre = unlockedtxt.substring(0,start).matita_to_html(); + var mid = unlockedtxt.substring(start,stop).matita_to_html(); + var post = unlockedtxt.substring(stop).matita_to_html(); + unlocked.innerHTML = pre + + "" + + mid + "" + post; + break; + } + } +} + +function gotoBottom() +{ + processor = function(xml) { + if (is_defined(xml)) { + // debug("goto bottom: received response\nBEGIN\n" + req.responseText + "\nEND"); + var parsed = xml.getElementsByTagName("parsed"); + var localized = xml.getElementsByTagName("localized")[0]; + var ambiguity = xml.getElementsByTagName("ambiguity")[0]; + var generic_err = xml.getElementsByTagName("error")[0]; + var disamberr = xml.getElementsByTagName("disamberror")[0]; + for (var i = 0;i < parsed.length; i++) { + var len = parsed[i].getAttribute("length"); + // len0 = unlocked.innerHTML.length; + var unescaped = unlocked.innerHTML.html_to_matita(); + // the browser may decide to split textnodes: use wholeText! + var parsedtxt = parsed[i].childNodes[0].wholeText; + //parsedtxt = unescaped.substr(0,len); + var unparsedtxt = unescaped.substr(len); + lockedbackup += parsedtxt; + locked.innerHTML = lockedbackup; //.matita_to_html(); + unlocked.innerHTML = unparsedtxt.matita_to_html(); + // len1 = unlocked.innerHTML.length; + var len2 = parsedtxt.length; + statements = listcons(len2,statements); + } + unlocked.scrollIntoView(true); + metasenv = xml.getElementsByTagName("meta"); + init_autotraces(); + populate_goalarray(metasenv); + + if (is_defined(ambiguity)) { + var start = parseInt(ambiguity.getAttribute("start")); + var stop = parseInt(ambiguity.getAttribute("stop")); + var choices = xml.getElementsByTagName("choice"); + + matita.ambiguityStart = start; + matita.ambiguityStop = stop; + matita.unlockedbackup = unlocked.innerHTML.html_to_matita(); + matita.interpretations = []; + + var unlockedtxt = unlocked.innerHTML.html_to_matita(); + var pre = unlockedtxt.substring(0,start).matita_to_html(); + var mid = unlockedtxt.substring(start,stop).matita_to_html(); + var post = unlockedtxt.substring(stop).matita_to_html(); + unlocked.innerHTML = pre + + "" + + mid + "" + post; + + var title = "

Ambiguous input

"; + disambcell.innerHTML = title; + for (i = 0;i < choices.length;i++) { + matita.interpretations[i] = new Object(); + + var href = choices[i].getAttribute("href"); + var title = choices[i].getAttribute("title"); + var desc = choices[i].childNodes[0].nodeValue; + + matita.interpretations[i].href = href; + matita.interpretations[i].title = title; + matita.interpretations[i].desc = desc; + + var choice = document.createElement("input"); + choice.setAttribute("type","radio"); + choice.setAttribute("name","interpr"); + choice.setAttribute("href",href); + choice.setAttribute("title",title); + if (i == 0) choice.setAttribute("checked",""); + + disambcell.appendChild(choice); + disambcell.appendChild(document.createTextNode(desc)); + disambcell.appendChild(document.createElement("br")); + } + + var okbutton = document.createElement("input"); + okbutton.setAttribute("type","button"); + okbutton.setAttribute("value","OK"); + okbutton.setAttribute("onclick","do_disambiguate()"); + var cancelbutton = document.createElement("input"); + cancelbutton.setAttribute("type","button"); + cancelbutton.setAttribute("value","Cancel"); + cancelbutton.setAttribute("onclick","cancel_disambiguate()"); + + disambcell.appendChild(okbutton); + disambcell.appendChild(cancelbutton); + + matita.disambMode = true; + updateSide(); + } + else if (is_defined(disamberr)) { + // must be fixed in a daemon: it makes sense to return a + // disambiguation error with no choices + if (disamberr.childNodes.length > 0) { + set_cps(disamberr.childNodes); + matita.unlockedbackup = unlocked.innerHTML.html_to_matita(); + matita.disambMode = true; + next_cp(0); + } + throw "Stop"; + } + else if (is_defined(localized)) { + unlocked.innerHTML = localized.childNodes[0].wholeText; + } + else if (is_defined(generic_err)) { + debug("Unmanaged error:\n" ^ generic_err.childNodes[0].wholeText); + } + } else { + debug("goto bottom failed"); + } + resume(); + }; + pause(); + callServer("bottom",processor,"body=" + (unlocked.innerHTML.html_to_matita()).sescape()); +} + + +function gotoTop() +{ + processor = function(xml) { + if (is_defined(xml)) { + if (xml.childNodes[0].textContent != "ok") { + debug("goto top failed"); + } + else + statements = listnil(); + /* + lockedlen = locked.innerHTML.length - statementlen; + statement = locked.innerHTML.substr(lockedlen, statementlen); + locked.innerHTML = locked.innerHTML.substr(0,lockedlen); + unlocked.innerHTML = statement + unlocked.innerHTML; + */ + unlocked.innerHTML = lockedbackup + unlocked.innerHTML; + lockedbackup = ""; + locked.innerHTML = lockedbackup; + init_autotraces(); + hideSequent(); + unlocked.scrollIntoView(true); + } else { + debug("goto top failed"); + } + resume(); + }; + pause(); + callServer("top",processor,"body=" + (unlocked.innerHTML.html_to_matita()).sescape()); + +} + +function gotoPos(offset) +{ + if (!is_defined(offset)) { + offset = getCursorPos(); + } + processor = function(xml) { + if (is_defined(xml)) { + try { + /* + parsed = xml.getElementsByTagName("parsed")[0]; + len = parseInt(parsed.getAttribute("length")); + // len0 = unlocked.innerHTML.length; + unescaped = unlocked.innerHTML.html_to_matita(); + parsedtxt = parsed.childNodes[0].wholeText; + //parsedtxt = unescaped.substr(0,len); + unparsedtxt = unescaped.substr(len); + lockedbackup += parsedtxt; + locked.innerHTML = lockedbackup; //.matita_to_html(); + unlocked.innerHTML = unparsedtxt.matita_to_html(); + // len1 = unlocked.innerHTML.length; + len2 = parsedtxt.length; + metasenv = xml.getElementsByTagName("meta"); + // populate_goalarray(metasenv); + statements = listcons(len2,statements); + unlocked.scrollIntoView(true); + // la populate non andrebbe fatta a ogni passo + */ + var len = advOneStep(xml); + if (offset <= len) { + init_autotraces(); + populate_goalarray(metasenv); + resume(); + } else { + gotoPos(offset - len); + } + } catch (er) { + init_autotraces(); + populate_goalarray(metasenv); + resume(); + } + } else { + init_autotraces(); + unlocked.scrollIntoView(true); + populate_goalarray(metasenv); + resume(); + } + } + pause(); + callServer("advance",processor,"body=" + (unlocked.innerHTML.html_to_matita()).sescape()); +} + +function retract() +{ + processor = function(xml) { + if (typeof xml != "undefined") { + // debug("advance: received response\nBEGIN\n" + req.responseText + "\nEND"); + statementlen = parseInt(listhd(statements)); + statements = listtl(statements); + /* + lockedlen = locked.innerHTML.length - statementlen; + statement = locked.innerHTML.substr(lockedlen, statementlen); + locked.innerHTML = locked.innerHTML.substr(0,lockedlen); + unlocked.innerHTML = statement + unlocked.innerHTML; + */ + lockedlen = lockedbackup.length - statementlen; + statement = lockedbackup.substr(lockedlen, statementlen); + lockedbackup = lockedbackup.substr(0,lockedlen); + locked.innerHTML = lockedbackup; + unlocked.innerHTML = statement + unlocked.innerHTML; + metasenv = xml.getElementsByTagName("meta"); + init_autotraces(); + populate_goalarray(metasenv); + unlocked.scrollIntoView(true); + } else { + debug("retract failed"); + } + resume(); + }; + pause(); + callServer("retract",processor); +} + +function openFile() +{ + processor = function(xml) + { + if (is_defined(xml)) { + lockedbackup = ""; + locked.innerHTML = lockedbackup; + unlocked.innerHTML = xml.documentElement.wholeText; + } else { + debug("file open failed"); + } + }; + callServer("open",processor,"file=" + escape(filename.value)); +} + +function retrieveFile(thefile) +{ + processor = function(xml) + { + if (is_defined(xml)) { + changeFile(thefile); + matita.disambMode = false; + matita.proofMode = false; + updateSide(); + lockedbackup = "" + locked.innerHTML = lockedbackup; + // code originally used in google chrome (problems with mozilla) + // debug(xml.getElementsByTagName("file")[0].childNodes[0].nodeValue); + // unlocked.innerHTML = xml.getElementsByTagName("file")[0].childNodes[0].nodeValue; + debug(xml.childNodes[0].textContent); + if (document.all) { // IE + unlocked.innerHTML = xml.childNodes[0].text; + } else { + unlocked.innerHTML = xml.childNodes[0].textContent; + } + init_autotraces(); + + } else { + debug("file open failed"); + } + }; + abortDialog("dialogBox"); + callServer("open",processor,"file=" + escape(thefile)); +} + +function showLibrary(title,callback,reloadDialog) +{ + var req = null; + dialogBox.reload = reloadDialog; + // pause(); + if (window.XMLHttpRequest) + { + req = new XMLHttpRequest(); + } + else if (window.ActiveXObject) + { + try { + req = new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) + { + try { + req = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (e) {} + } + } + req.onreadystatechange = function() + { + + rs = req.readyState; + + if(rs == 4) + { + stat = req.status; + stxt = req.statusText; + if(stat == 200) + { + debug(req.responseText); + showDialog("

" + title + "

",req.responseText, callback); + } + } + }; + req.open("POST", "viewlib"); // + escape(unlocked.innerHTML), true); + req.setRequestHeader("Content-type","application/x-www-form-urlencoded"); + req.send(); + +} + +function uploadDialog() +{ + uploadBox.style.display = "block"; +} + +function uploadOK() +{ + var file = document.getElementById("uploadFilename").files[0]; +// if (file) { +// var filecontent = file.getAsText("UTF-8"); +// locked.innerHTML = lockedbackup; +// unlocked.innerHTML = filecontent; +// uploadBox.style.display = "none"; +// } + if (file) { + var reader = new FileReader(); + reader.onerror = function (evt) { + debug("file open failed"); + } + reader.onload = function (evt) { + lockedbackup = ""; + locked.innerHTML = lockedbackup + unlocked.innerHTML = ""; + unlocked.appendChild(document.createTextNode(evt.target.result)); + uploadBox.style.display = "none"; + } + try { reader.readAsText(file, "UTF-8"); } + catch (err) { /* nothing to do */ }; + uploadBox.style.display = "none"; + } +} + +function openDialog() +{ + callback = function (fname) { retrieveFile(fname); }; + showLibrary("Open file", callback, openDialog); +} + +function saveDialog() +{ + callback = function (fname) { + abortDialog("dialogBox"); + saveFile(fname, + (locked.innerHTML.html_to_matita()).sescape(), + (unlocked.innerHTML.html_to_matita()).sescape(), + false,saveDialog); + }; + showLibrary("Save file as", callback, saveDialog); +} + +function newDialog() +{ + callback = function (fname) { + abortDialog("dialogBox"); + saveFile(fname,"","",false,newDialog,true); + }; + showLibrary("Create new file", callback, newDialog); +} + + +function saveFile(fname,lockedtxt,unlockedtxt,force,reloadDialog,reloadFile) +{ + if (!is_defined(reloadFile)) { reloadFile = true }; + if (!is_defined(fname)) { + fname = current_fname; + lockedtxt = (locked.innerHTML.html_to_matita()).sescape(); + unlockedtxt = (unlocked.innerHTML.html_to_matita()).sescape(); + force = true; + // when force is true, reloadDialog is not needed + } + processor = function(xml) { + if (is_defined(xml)) { + if (xml.childNodes[0].textContent != "ok") { + if (confirm("File already exists. All existing data will be lost.\nDo you want to proceed anyway?")) { + saveFile(fname,lockedtxt,unlockedtxt,true,reloadDialog,reloadFile); + } else { + reloadDialog(); + } + } else { + changeFile(fname); + debug("file saved!"); + if (reloadFile) { retrieveFile(fname); } + } + } else { + debug("save file failed"); + } + resume(); + }; + if (is_defined(fname)) { + pause(); + callServer("save",processor,"file=" + escape(fname) + + "&locked=" + lockedtxt + + "&unlocked=" + unlockedtxt + + "&force=" + force); + } + else { debug("no file selected"); } +} + +function createDir() { + abortDialog("dialogBox"); + dirname = prompt("New directory name:\ncic:/matita/","newdir"); + if (dirname != null) { + processor = function(xml) { + if (is_defined(xml)) { + if (xml.childNodes[0].textContent != "ok") { + alert("An error occurred :-("); + } + } else { + alert("An error occurred :-("); + } + dialogBox.reload(); + }; + pause(); + callServer("save",processor,"file=" + escape(dirname) + + "&locked=&unlocked=&force=false&dir=true"); + } else { + dialogBox.reload(); + } +} + +function commitAll() +{ + processor = function(xml) { + if (is_defined(xml)) { + debug(xml.getElementsByTagName("details")[0].textContent); + alert("Commit executed: see details in the log.\n\n" + + "NOTICE: this message does NOT imply (yet) that the commit was successful."); + } else { + alert("Commit failed!"); + } + resume(); + }; + pause(); + callServer("commit",processor); +} + +function updateAll() +{ + processor = function(xml) { + if (is_defined(xml)) { + alert("Update executed.\n\n" + + "Details:\n" + + xml.getElementsByTagName("details")[0].textContent); + } else { + alert("Update failed!"); + } + resume(); + }; + pause(); + callServer("update",processor); +} + +var goalcell; + +function hideSequent() { + matita.proofMode = false; + updateSide(); +} + +function showSequent() { + matita.proofMode = true; + updateSide(); +} + +function showDialog(title,content,callback) { + dialogTitle.innerHTML = title; + dialogContent.innerHTML = content; + dialogBox.callback = callback; + + //Get the screen height and width + var maskHeight = $(document).height(); + var maskWidth = $(window).width(); + + //Set heigth and width to mask to fill up the whole screen + $('#mask').css({'width':maskWidth,'height':maskHeight}); + + //transition effect + $('#mask').fadeIn(100); + $('#mask').fadeTo(200,0.8); + + //Get the window height and width + var winH = $(window).height(); + var winW = $(window).width(); + + //Set the popup window to center + $('#dialogBox').css('top', winH/2-$('#dialogBox').height()/2); + $('#dialogBox').css('left', winW/2-$('#dialogBox').width()/2); + + //transition effect + $('#dialogBox').fadeIn(200); + + dialogBox.style.display = "block"; +} + +function abortDialog(dialog) { + document.getElementById(dialog).style.display = "none"; + $('#mask').hide(); +} + +function removeElement(id) { + var element = document.getElementById(id); + element.parentNode.removeChild(element); +} + +var savedsc; +var savedso; + +function getCursorPos() { + var cursorPos; + if (window.getSelection) { + var selObj = window.getSelection(); + savedRange = selObj.getRangeAt(0); + savedsc = savedRange.startContainer; + savedso = savedRange.startOffset; + //cursorPos = findNode(selObj.anchorNode.parentNode.childNodes, selObj.anchorNode) + selObj.anchorOffset; + cursorPos = findNode(unlocked.childNodes, selObj.anchorNode,0) + selObj.anchorOffset; + /* FIXME the following works wrong in Opera when the document is longer than 32767 chars */ + return(cursorPos); + } + else if (document.selection) { + savedRange = document.selection.createRange(); + var bookmark = savedRange.getBookmark(); + /* FIXME the following works wrong when the document is longer than 65535 chars */ + cursorPos = bookmark.charCodeAt(2) - 11; /* Undocumented function [3] */ + return(cursorPos); + } +} + +function findNode(list, node, acc) { + for (var i = 0; i < list.length; i++) { + if (list[i] == node) { + // debug("success " + i); + return acc; + } + if (list[i].hasChildNodes()) { + try { + // debug("recursion on node " + i); + return (findNode(list[i].childNodes,node,acc)) + } + catch (e) { /* debug("recursion failed"); */ } + } + sandbox = document.getElementById("sandbox"); + dup = list[i].cloneNode(true); + sandbox.appendChild(dup); +// debug("fail " + i + ": " + sandbox.innerHTML); + acc += sandbox.innerHTML.html_to_matita().length; + sandbox.removeChild(dup); + } + throw "not found"; +} + +function test () { + debug("cursor test: " + unlocked.innerHTML.substr(0,getCursorPos())); +} + +function get_checked_index(name) { + var radios = document.getElementsByName(name); + for (i = 0; i < radios.length; i++) { + if (radios[i].checked) { + return i; + } + } + return null; +} + +function cancel_disambiguate() { + matita.disambMode = false; + resume(); + // enable_toparea(); + // enable_editing(); + strip_tags("span","error"); + updateSide(); +} + +function do_disambiguate() { + var i = get_checked_index("interpr"); + if (i != null) { + var pre = matita.unlockedbackup + .substring(0,matita.ambiguityStart).matita_to_html(); + var mid = matita.unlockedbackup + .substring(matita.ambiguityStart,matita.ambiguityStop) + .matita_to_html(); + var post = matita.unlockedbackup + .substring(matita.ambiguityStop).matita_to_html(); + + var href = matita.interpretations[i].href; + var title = matita.interpretations[i].title; + + if (is_defined(title)) { + mid = "" + mid + ""; + } else { + mid = "" + mid + ""; + } + + unlocked.innerHTML = pre + mid + post; + + matita.disambMode = false; + enable_toparea(); + enable_editing(); + updateSide(); + } +} + +function do_showerror() { + var i = get_checked_index("choice"); + if (i != null) { + var pre = matita.unlockedbackup + .substring(0,matita.ambiguityStart).matita_to_html(); + var mid = matita.unlockedbackup + .substring(matita.ambiguityStart,matita.ambiguityStop) + .matita_to_html(); + var post = matita.unlockedbackup + .substring(matita.ambiguityStop).matita_to_html(); + + var href = matita.interpretations[i].href; + var title = matita.interpretations[i].title; + + if (is_defined(title)) { + mid = "" + mid + ""; + } else { + mid = "" + mid + ""; + } + + unlocked.innerHTML = pre + mid + post; + + } +} + +function readCookie(name) { + var nameEQ = name + "="; + var ca = document.cookie.split(';'); + for(var i=0;i < ca.length;i++) { + var c = ca[i]; + while (c.charAt(0)==' ') c = c.substring(1,c.length); + if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); + } + return null; +} + +function delete_cookie ( cookie_name ) +{ + var cookie_date = new Date(); // current date & time + cookie_date.setTime ( cookie_date.getTime() - 1 ); + document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString(); +} + +function delete_session() +{ + delete_cookie("session"); +} + +function disable_toparea() { + var offset = $('#toparea').offset(); + $('#whitemask').css('top',offset.top); + $('#whitemask').css('left',offset.left); + $('#whitemask').css('width',$('#toparea').outerWidth() + "px"); + $('#whitemask').css('height',$('#toparea').outerHeight() + "px"); + $('#whitemask').fadeTo('fast',0.7); +} + +function enable_toparea() { + $('#whitemask').hide(); +} + +function disable_editing() { + unlocked.contentEditable = false; +} + +function enable_editing() { + unlocked.contentEditable = true; +} + +function pause() +{ + // advanceButton.disabled = true; + // retractButton.disabled = true; + // cursorButton.disabled = true; + // bottomButton.disabled = true; + disable_toparea(); + disable_editing(); +} + +function resume() +{ + // advanceButton.disabled = false; + // retractButton.disabled = false; + // cursorButton.disabled = false; + // bottomButton.disabled = false; + if (!matita.disambMode) { + enable_toparea(); + enable_editing(); + } +} + diff --git a/matitaB/matita/html/treeview/closed.gif b/matitaB/matita/html/treeview/closed.gif new file mode 100644 index 000000000..7d451c3bc Binary files /dev/null and b/matitaB/matita/html/treeview/closed.gif differ diff --git a/matitaB/matita/html/treeview/doc.gif b/matitaB/matita/html/treeview/doc.gif new file mode 100644 index 000000000..4aca545f8 Binary files /dev/null and b/matitaB/matita/html/treeview/doc.gif differ diff --git a/matitaB/matita/html/treeview/open.gif b/matitaB/matita/html/treeview/open.gif new file mode 100644 index 000000000..0ab3c81b9 Binary files /dev/null and b/matitaB/matita/html/treeview/open.gif differ diff --git a/matitaB/matita/html/treeview/xmlTree.css b/matitaB/matita/html/treeview/xmlTree.css new file mode 100644 index 000000000..9fee00e0c --- /dev/null +++ b/matitaB/matita/html/treeview/xmlTree.css @@ -0,0 +1,19 @@ +body{ + font: 10pt Verdana,sans-serif; + color: navy; +} +.trigger{ + cursor: pointer; + cursor: hand; + display: block; +} +.branch{ + display: none; + margin-left: 16px; +} +a{ + text-decoration: none; +} +a:hover{ + text-decoration: underline; +} diff --git a/matitaB/matita/html/treeview/xmlTree.js b/matitaB/matita/html/treeview/xmlTree.js new file mode 100644 index 000000000..c1a5c997f --- /dev/null +++ b/matitaB/matita/html/treeview/xmlTree.js @@ -0,0 +1,33 @@ +var openImg = new Image(); +openImg.src = "treeview/open.gif"; +var closedImg = new Image(); +closedImg.src = "treeview/closed.gif"; + +var diaFilename = document.getElementById("dialogFilename"); + +function showBranch(branch,path){ + var objBranch = document.getElementById(branch).style; + if(objBranch.display=="block") + objBranch.display="none"; + else + objBranch.display="block"; + swapFolder('I' + branch); + // codice per mostrare il path nella casella di testo + selectFile(path); +} + +function swapFolder(img){ + objImg = document.getElementById(img); + if(objImg.src.indexOf('treeview/closed.gif')>-1) + objImg.src = openImg.src; + else + objImg.src = closedImg.src; +} + +function selectFile(path) { + dialogFilename.value = path; +} + +function dialogOK() { + dialogBox.callback(document.getElementById("dialogFilename").value); +} diff --git a/matitaB/matita/html/utf8MacroTable.js b/matitaB/matita/html/utf8MacroTable.js new file mode 100644 index 000000000..19df80002 --- /dev/null +++ b/matitaB/matita/html/utf8MacroTable.js @@ -0,0 +1,4261 @@ +/* GENERATED by make_table: DO NOT EDIT! */ +var macro2utf8 = new Object(); +var utf82macro = new Object(); +macro2utf8["nscr"] = "𝓃"; +utf82macro["𝓃"] = "nscr"; +macro2utf8["LJcy"] = "Љ"; +utf82macro["Љ"] = "LJcy"; +macro2utf8["dd"] = "ⅆ"; +utf82macro["ⅆ"] = "dd"; +macro2utf8["Omacr"] = "Ō"; +utf82macro["Ō"] = "Omacr"; +macro2utf8["npreceq"] = "⪯̸"; +utf82macro["⪯̸"] = "npreceq"; +macro2utf8["Gcirc"] = "Ĝ"; +utf82macro["Ĝ"] = "Gcirc"; +macro2utf8["utilde"] = "ũ"; +utf82macro["ũ"] = "utilde"; +macro2utf8["rdca"] = "⤷"; +utf82macro["⤷"] = "rdca"; +macro2utf8["racute"] = "ŕ"; +utf82macro["ŕ"] = "racute"; +macro2utf8["mstpos"] = "∾"; +utf82macro["∾"] = "mstpos"; +macro2utf8["supnE"] = "⊋"; +utf82macro["⊋"] = "supnE"; +macro2utf8["NotLessLess"] = "≪̸︀"; +utf82macro["≪̸︀"] = "NotLessLess"; +macro2utf8["iiint"] = "∭"; +utf82macro["∭"] = "iiint"; +macro2utf8["uscr"] = "𝓊"; +utf82macro["𝓊"] = "uscr"; +macro2utf8["Sfr"] = "𝔖"; +utf82macro["𝔖"] = "Sfr"; +macro2utf8["nsupseteqq"] = "⊉"; +utf82macro["⊉"] = "nsupseteqq"; +macro2utf8["nwarrow"] = "↖"; +utf82macro["↖"] = "nwarrow"; +macro2utf8["twoheadrightarrow"] = "↠"; +utf82macro["↠"] = "twoheadrightarrow"; +macro2utf8["sccue"] = "≽"; +utf82macro["≽"] = "sccue"; +macro2utf8["NotSquareSuperset"] = "⊐̸"; +utf82macro["⊐̸"] = "NotSquareSuperset"; +macro2utf8["ee"] = "ⅇ"; +utf82macro["ⅇ"] = "ee"; +macro2utf8["boxbox"] = "⧉"; +utf82macro["⧉"] = "boxbox"; +macro2utf8["andand"] = "⩕"; +utf82macro["⩕"] = "andand"; +macro2utf8["LeftVectorBar"] = "⥒"; +utf82macro["⥒"] = "LeftVectorBar"; +macro2utf8["eg"] = "⪚"; +utf82macro["⪚"] = "eg"; +macro2utf8["csc"] = "csc"; +utf82macro["csc"] = "csc"; +macro2utf8["NotRightTriangleEqual"] = "⋭"; +utf82macro["⋭"] = "NotRightTriangleEqual"; +macro2utf8["filig"] = "fi"; +utf82macro["fi"] = "filig"; +macro2utf8["atilde"] = "ã"; +utf82macro["ã"] = "atilde"; +macro2utf8["ring"] = "˚"; +utf82macro["˚"] = "ring"; +macro2utf8["congdot"] = "⩭"; +utf82macro["⩭"] = "congdot"; +macro2utf8["gE"] = "≧"; +utf82macro["≧"] = "gE"; +macro2utf8["rcedil"] = "ŗ"; +utf82macro["ŗ"] = "rcedil"; +macro2utf8["el"] = "⪙"; +utf82macro["⪙"] = "el"; +macro2utf8["HorizontalLine"] = "─"; +utf82macro["─"] = "HorizontalLine"; +macro2utf8["incare"] = "℅"; +utf82macro["℅"] = "incare"; +macro2utf8["hoarr"] = "⇿"; +utf82macro["⇿"] = "hoarr"; +macro2utf8["SOFTcy"] = "Ь"; +utf82macro["Ь"] = "SOFTcy"; +macro2utf8["conint"] = "∮"; +utf82macro["∮"] = "conint"; +macro2utf8["OverParenthesis"] = "︵"; +utf82macro["︵"] = "OverParenthesis"; +macro2utf8["Uogon"] = "Ų"; +utf82macro["Ų"] = "Uogon"; +macro2utf8["supne"] = "⊋"; +utf82macro["⊋"] = "supne"; +macro2utf8["num"] = "#"; +utf82macro["#"] = "num"; +macro2utf8["zcy"] = "з"; +utf82macro["з"] = "zcy"; +macro2utf8["Hfr"] = "ℌ"; +utf82macro["ℌ"] = "Hfr"; +macro2utf8["dtri"] = "▿"; +utf82macro["▿"] = "dtri"; +macro2utf8["FilledSmallSquare"] = "◾"; +utf82macro["◾"] = "FilledSmallSquare"; +macro2utf8["SucceedsEqual"] = "≽"; +utf82macro["≽"] = "SucceedsEqual"; +macro2utf8["leftthreetimes"] = "⋋"; +utf82macro["⋋"] = "leftthreetimes"; +macro2utf8["ycirc"] = "ŷ"; +utf82macro["ŷ"] = "ycirc"; +macro2utf8["sqcup"] = "⊔"; +utf82macro["⊔"] = "sqcup"; +macro2utf8["DoubleLeftArrow"] = "⇐"; +utf82macro["⇐"] = "DoubleLeftArrow"; +macro2utf8["gtrless"] = "≷"; +utf82macro["≷"] = "gtrless"; +macro2utf8["ge"] = "≥"; +utf82macro["≥"] = "ge"; +macro2utf8["Product"] = "∏"; +utf82macro["∏"] = "Product"; +macro2utf8["NotExists"] = "∄"; +utf82macro["∄"] = "NotExists"; +macro2utf8["gg"] = "≫"; +utf82macro["≫"] = "gg"; +macro2utf8["curlyvee"] = "⋎"; +utf82macro["⋎"] = "curlyvee"; +macro2utf8["ntrianglerighteq"] = "⋭"; +utf82macro["⋭"] = "ntrianglerighteq"; +macro2utf8["Colon"] = "∷"; +utf82macro["∷"] = "Colon"; +macro2utf8["rbrke"] = "⦌"; +utf82macro["⦌"] = "rbrke"; +macro2utf8["LeftDownVector"] = "⇃"; +utf82macro["⇃"] = "LeftDownVector"; +macro2utf8["gl"] = "≷"; +utf82macro["≷"] = "gl"; +macro2utf8["lrcorner"] = "⌟"; +utf82macro["⌟"] = "lrcorner"; +macro2utf8["mapstodown"] = "↧"; +utf82macro["↧"] = "mapstodown"; +macro2utf8["excl"] = "!"; +utf82macro["!"] = "excl"; +macro2utf8["cdots"] = "⋯"; +utf82macro["⋯"] = "cdots"; +macro2utf8["larr"] = "←"; +utf82macro["←"] = "larr"; +macro2utf8["dtdot"] = "⋱"; +utf82macro["⋱"] = "dtdot"; +macro2utf8["kgreen"] = "ĸ"; +utf82macro["ĸ"] = "kgreen"; +macro2utf8["rtri"] = "▹"; +utf82macro["▹"] = "rtri"; +macro2utf8["rbarr"] = "⤍"; +utf82macro["⤍"] = "rbarr"; +macro2utf8["ocy"] = "о"; +utf82macro["о"] = "ocy"; +macro2utf8["gt"] = ">"; +utf82macro[">"] = "gt"; +macro2utf8["DownLeftRightVector"] = "⥐"; +utf82macro["⥐"] = "DownLeftRightVector"; +macro2utf8["cup"] = "∪"; +utf82macro["∪"] = "cup"; +macro2utf8["updownarrow"] = "↕"; +utf82macro["↕"] = "updownarrow"; +macro2utf8["Imacr"] = "Ī"; +utf82macro["Ī"] = "Imacr"; +macro2utf8["cross"] = "✗"; +utf82macro["✗"] = "cross"; +macro2utf8["Acirc"] = "Â"; +utf82macro["Â"] = "Acirc"; +macro2utf8["lvertneqq"] = "≨︀"; +utf82macro["≨︀"] = "lvertneqq"; +macro2utf8["ccaps"] = "⩍"; +utf82macro["⩍"] = "ccaps"; +macro2utf8["NotLeftTriangleEqual"] = "⋬"; +utf82macro["⋬"] = "NotLeftTriangleEqual"; +macro2utf8["IJlig"] = "IJ"; +utf82macro["IJ"] = "IJlig"; +macro2utf8["boxplus"] = "⊞"; +utf82macro["⊞"] = "boxplus"; +macro2utf8["epsilon"] = "ϵ"; +utf82macro["ϵ"] = "epsilon"; +macro2utf8["zfr"] = "𝔷"; +utf82macro["𝔷"] = "zfr"; +macro2utf8["late"] = "⪭"; +utf82macro["⪭"] = "late"; +macro2utf8["ic"] = "​"; +utf82macro["​"] = "ic"; +macro2utf8["lrhar"] = "⇋"; +utf82macro["⇋"] = "lrhar"; +macro2utf8["gsim"] = "≳"; +utf82macro["≳"] = "gsim"; +macro2utf8["inf"] = "inf"; +utf82macro["inf"] = "inf"; +macro2utf8["top"] = "⊤"; +utf82macro["⊤"] = "top"; +macro2utf8["odsold"] = "⦼"; +utf82macro["⦼"] = "odsold"; +macro2utf8["circlearrowright"] = "↻"; +utf82macro["↻"] = "circlearrowright"; +macro2utf8["rtimes"] = "⋊"; +utf82macro["⋊"] = "rtimes"; +macro2utf8["ii"] = "ⅈ"; +utf82macro["ⅈ"] = "ii"; +macro2utf8["DoubleRightTee"] = "⊨"; +utf82macro["⊨"] = "DoubleRightTee"; +macro2utf8["dcy"] = "д"; +utf82macro["д"] = "dcy"; +macro2utf8["boxdL"] = "╕"; +utf82macro["╕"] = "boxdL"; +macro2utf8["duhar"] = "⥯"; +utf82macro["⥯"] = "duhar"; +macro2utf8["vert"] = "|"; +utf82macro["|"] = "vert"; +macro2utf8["sacute"] = "ś"; +utf82macro["ś"] = "sacute"; +macro2utf8["in"] = "∈"; +utf82macro["∈"] = "in"; +macro2utf8["Assign"] = "≔"; +utf82macro["≔"] = "Assign"; +macro2utf8["nsim"] = "≁"; +utf82macro["≁"] = "nsim"; +macro2utf8["boxdR"] = "╒"; +utf82macro["╒"] = "boxdR"; +macro2utf8["o"] = "ο"; +utf82macro["ο"] = "o"; +macro2utf8["radic"] = "√"; +utf82macro["√"] = "radic"; +macro2utf8["it"] = "⁢"; +utf82macro["⁢"] = "it"; +macro2utf8["int"] = "∫"; +utf82macro["∫"] = "int"; +macro2utf8["cwint"] = "∱"; +utf82macro["∱"] = "cwint"; +macro2utf8["ForAll"] = "∀"; +utf82macro["∀"] = "ForAll"; +macro2utf8["simplus"] = "⨤"; +utf82macro["⨤"] = "simplus"; +macro2utf8["isindot"] = "⋵"; +utf82macro["⋵"] = "isindot"; +macro2utf8["rightthreetimes"] = "⋌"; +utf82macro["⋌"] = "rightthreetimes"; +macro2utf8["supseteqq"] = "⊇"; +utf82macro["⊇"] = "supseteqq"; +macro2utf8["bnot"] = "⌐"; +utf82macro["⌐"] = "bnot"; +macro2utf8["rppolint"] = "⨒"; +utf82macro["⨒"] = "rppolint"; +macro2utf8["def"] = "≝"; +utf82macro["≝"] = "def"; +macro2utf8["TScy"] = "Ц"; +utf82macro["Ц"] = "TScy"; +macro2utf8["lE"] = "≦"; +utf82macro["≦"] = "lE"; +macro2utf8["ffilig"] = "ffi"; +utf82macro["ffi"] = "ffilig"; +macro2utf8["deg"] = "deg"; +utf82macro["deg"] = "deg"; +macro2utf8["{"] = "{"; +utf82macro["{"] = "{"; +macro2utf8["RightVector"] = "⇀"; +utf82macro["⇀"] = "RightVector"; +macro2utf8["ofr"] = "𝔬"; +utf82macro["𝔬"] = "ofr"; +macro2utf8["|"] = "|"; +utf82macro["|"] = "|"; +macro2utf8["liminf"] = "liminf"; +utf82macro["liminf"] = "liminf"; +macro2utf8["}"] = "}"; +utf82macro["}"] = "}"; +macro2utf8["LeftUpTeeVector"] = "⥠"; +utf82macro["⥠"] = "LeftUpTeeVector"; +macro2utf8["scirc"] = "ŝ"; +utf82macro["ŝ"] = "scirc"; +macro2utf8["scedil"] = "ş"; +utf82macro["ş"] = "scedil"; +macro2utf8["ufisht"] = "⥾"; +utf82macro["⥾"] = "ufisht"; +macro2utf8["LeftUpDownVector"] = "⥑"; +utf82macro["⥑"] = "LeftUpDownVector"; +macro2utf8["questeq"] = "≟"; +utf82macro["≟"] = "questeq"; +macro2utf8["leftarrow"] = "←"; +utf82macro["←"] = "leftarrow"; +macro2utf8["Ycy"] = "Ы"; +utf82macro["Ы"] = "Ycy"; +macro2utf8["Coproduct"] = "∐"; +utf82macro["∐"] = "Coproduct"; +macro2utf8["det"] = "det"; +utf82macro["det"] = "det"; +macro2utf8["boxdl"] = "┐"; +utf82macro["┐"] = "boxdl"; +macro2utf8["Aopf"] = "𝔸"; +utf82macro["𝔸"] = "Aopf"; +macro2utf8["srarr"] = "→︀"; +utf82macro["→︀"] = "srarr"; +macro2utf8["lbrke"] = "⦋"; +utf82macro["⦋"] = "lbrke"; +macro2utf8["boxdr"] = "┌"; +utf82macro["┌"] = "boxdr"; +macro2utf8["Ntilde"] = "Ñ"; +utf82macro["Ñ"] = "Ntilde"; +macro2utf8["gnap"] = "⪊"; +utf82macro["⪊"] = "gnap"; +macro2utf8["Cap"] = "⋒"; +utf82macro["⋒"] = "Cap"; +macro2utf8["swarhk"] = "⤦"; +utf82macro["⤦"] = "swarhk"; +macro2utf8["ogt"] = "⧁"; +utf82macro["⧁"] = "ogt"; +macro2utf8["emptyset"] = "∅︀"; +utf82macro["∅︀"] = "emptyset"; +macro2utf8["harrw"] = "↭"; +utf82macro["↭"] = "harrw"; +macro2utf8["lbarr"] = "⤌"; +utf82macro["⤌"] = "lbarr"; +macro2utf8["Tilde"] = "∼"; +utf82macro["∼"] = "Tilde"; +macro2utf8["delta"] = "δ"; +utf82macro["δ"] = "delta"; +macro2utf8["Hopf"] = "ℍ"; +utf82macro["ℍ"] = "Hopf"; +macro2utf8["dfr"] = "𝔡"; +utf82macro["𝔡"] = "dfr"; +macro2utf8["le"] = "≤"; +utf82macro["≤"] = "le"; +macro2utf8["lg"] = "lg"; +utf82macro["lg"] = "lg"; +macro2utf8["ohm"] = "Ω"; +utf82macro["Ω"] = "ohm"; +macro2utf8["Jsercy"] = "Ј"; +utf82macro["Ј"] = "Jsercy"; +macro2utf8["quaternions"] = "ℍ"; +utf82macro["ℍ"] = "quaternions"; +macro2utf8["DoubleLongLeftArrow"] = ""; +utf82macro[""] = "DoubleLongLeftArrow"; +macro2utf8["Ncy"] = "Н"; +utf82macro["Н"] = "Ncy"; +macro2utf8["nabla"] = "∇"; +utf82macro["∇"] = "nabla"; +macro2utf8["ltcir"] = "⩹"; +utf82macro["⩹"] = "ltcir"; +macro2utf8["ll"] = "≪"; +utf82macro["≪"] = "ll"; +macro2utf8["ln"] = "ln"; +utf82macro["ln"] = "ln"; +macro2utf8["rmoust"] = "⎱"; +utf82macro["⎱"] = "rmoust"; +macro2utf8["Oopf"] = "𝕆"; +utf82macro["𝕆"] = "Oopf"; +macro2utf8["nbsp"] = " "; +utf82macro[" "] = "nbsp"; +macro2utf8["Kcedil"] = "Ķ"; +utf82macro["Ķ"] = "Kcedil"; +macro2utf8["vdots"] = "⋮"; +utf82macro["⋮"] = "vdots"; +macro2utf8["NotLessTilde"] = "≴"; +utf82macro["≴"] = "NotLessTilde"; +macro2utf8["lt"] = "<"; +utf82macro["<"] = "lt"; +macro2utf8["djcy"] = "ђ"; +utf82macro["ђ"] = "djcy"; +macro2utf8["DownRightTeeVector"] = "⥟"; +utf82macro["⥟"] = "DownRightTeeVector"; +macro2utf8["Ograve"] = "Ò"; +utf82macro["Ò"] = "Ograve"; +macro2utf8["boxhD"] = "╥"; +utf82macro["╥"] = "boxhD"; +macro2utf8["nsime"] = "≄"; +utf82macro["≄"] = "nsime"; +macro2utf8["egsdot"] = "⪘"; +utf82macro["⪘"] = "egsdot"; +macro2utf8["mDDot"] = "∺"; +utf82macro["∺"] = "mDDot"; +macro2utf8["bigodot"] = "⊙"; +utf82macro["⊙"] = "bigodot"; +macro2utf8["Vopf"] = "𝕍"; +utf82macro["𝕍"] = "Vopf"; +macro2utf8["looparrowright"] = "↬"; +utf82macro["↬"] = "looparrowright"; +macro2utf8["yucy"] = "ю"; +utf82macro["ю"] = "yucy"; +macro2utf8["trade"] = "™"; +utf82macro["™"] = "trade"; +macro2utf8["Yfr"] = "𝔜"; +utf82macro["𝔜"] = "Yfr"; +macro2utf8["kjcy"] = "ќ"; +utf82macro["ќ"] = "kjcy"; +macro2utf8["mp"] = "∓"; +utf82macro["∓"] = "mp"; +macro2utf8["leftrightarrows"] = "⇆"; +utf82macro["⇆"] = "leftrightarrows"; +macro2utf8["uharl"] = "↿"; +utf82macro["↿"] = "uharl"; +macro2utf8["ncap"] = "⩃"; +utf82macro["⩃"] = "ncap"; +macro2utf8["Iogon"] = "Į"; +utf82macro["Į"] = "Iogon"; +macro2utf8["NotSubset"] = "⊄"; +utf82macro["⊄"] = "NotSubset"; +macro2utf8["Bumpeq"] = "≎"; +utf82macro["≎"] = "Bumpeq"; +macro2utf8["mu"] = "μ"; +utf82macro["μ"] = "mu"; +macro2utf8["FilledVerySmallSquare"] = ""; +utf82macro[""] = "FilledVerySmallSquare"; +macro2utf8["breve"] = "˘"; +utf82macro["˘"] = "breve"; +macro2utf8["boxhU"] = "╨"; +utf82macro["╨"] = "boxhU"; +macro2utf8["Sigma"] = "Σ"; +utf82macro["Σ"] = "Sigma"; +macro2utf8["uharr"] = "↾"; +utf82macro["↾"] = "uharr"; +macro2utf8["xrArr"] = ""; +utf82macro[""] = "xrArr"; +macro2utf8["ne"] = "≠"; +utf82macro["≠"] = "ne"; +macro2utf8["oS"] = "Ⓢ"; +utf82macro["Ⓢ"] = "oS"; +macro2utf8["xodot"] = "⊙"; +utf82macro["⊙"] = "xodot"; +macro2utf8["ni"] = "∋"; +utf82macro["∋"] = "ni"; +macro2utf8["mdash"] = "—"; +utf82macro["—"] = "mdash"; +macro2utf8["Verbar"] = "‖"; +utf82macro["‖"] = "Verbar"; +macro2utf8["die"] = "¨"; +utf82macro["¨"] = "die"; +macro2utf8["veebar"] = "⊻"; +utf82macro["⊻"] = "veebar"; +macro2utf8["UpArrowBar"] = "⤒"; +utf82macro["⤒"] = "UpArrowBar"; +macro2utf8["Ncaron"] = "Ň"; +utf82macro["Ň"] = "Ncaron"; +macro2utf8["RightArrowBar"] = "⇥"; +utf82macro["⇥"] = "RightArrowBar"; +macro2utf8["LongLeftArrow"] = ""; +utf82macro[""] = "LongLeftArrow"; +macro2utf8["rceil"] = "⌉"; +utf82macro["⌉"] = "rceil"; +macro2utf8["LeftDownVectorBar"] = "⥙"; +utf82macro["⥙"] = "LeftDownVectorBar"; +macro2utf8["umacr"] = "ū"; +utf82macro["ū"] = "umacr"; +macro2utf8["Hacek"] = "ˇ"; +utf82macro["ˇ"] = "Hacek"; +macro2utf8["odblac"] = "ő"; +utf82macro["ő"] = "odblac"; +macro2utf8["lmidot"] = "ŀ"; +utf82macro["ŀ"] = "lmidot"; +macro2utf8["dopf"] = "𝕕"; +utf82macro["𝕕"] = "dopf"; +macro2utf8["boxhd"] = "┬"; +utf82macro["┬"] = "boxhd"; +macro2utf8["dim"] = "dim"; +utf82macro["dim"] = "dim"; +macro2utf8["vnsub"] = "⊄"; +utf82macro["⊄"] = "vnsub"; +macro2utf8["Bscr"] = "ℬ"; +utf82macro["ℬ"] = "Bscr"; +macro2utf8["plussim"] = "⨦"; +utf82macro["⨦"] = "plussim"; +macro2utf8["doublebarwedge"] = "⌆"; +utf82macro["⌆"] = "doublebarwedge"; +macro2utf8["nu"] = "ν"; +utf82macro["ν"] = "nu"; +macro2utf8["eqcolon"] = "≕"; +utf82macro["≕"] = "eqcolon"; +macro2utf8["luruhar"] = "⥦"; +utf82macro["⥦"] = "luruhar"; +macro2utf8["Nfr"] = "𝔑"; +utf82macro["𝔑"] = "Nfr"; +macro2utf8["preceq"] = "⪯"; +utf82macro["⪯"] = "preceq"; +macro2utf8["LeftTee"] = "⊣"; +utf82macro["⊣"] = "LeftTee"; +macro2utf8["div"] = "÷"; +utf82macro["÷"] = "div"; +macro2utf8["nVDash"] = "⊯"; +utf82macro["⊯"] = "nVDash"; +macro2utf8["kopf"] = "𝕜"; +utf82macro["𝕜"] = "kopf"; +macro2utf8["Iscr"] = "ℐ"; +utf82macro["ℐ"] = "Iscr"; +macro2utf8["vnsup"] = "⊅"; +utf82macro["⊅"] = "vnsup"; +macro2utf8["gneq"] = "≩"; +utf82macro["≩"] = "gneq"; +macro2utf8["backepsilon"] = "϶"; +utf82macro["϶"] = "backepsilon"; +macro2utf8["boxhu"] = "┴"; +utf82macro["┴"] = "boxhu"; +macro2utf8["ominus"] = "⊖"; +utf82macro["⊖"] = "ominus"; +macro2utf8["or"] = "∨"; +utf82macro["∨"] = "or"; +macro2utf8["lesdot"] = "⩿"; +utf82macro["⩿"] = "lesdot"; +macro2utf8["RightVectorBar"] = "⥓"; +utf82macro["⥓"] = "RightVectorBar"; +macro2utf8["tcedil"] = "ţ"; +utf82macro["ţ"] = "tcedil"; +macro2utf8["hstrok"] = "ħ"; +utf82macro["ħ"] = "hstrok"; +macro2utf8["nrarrc"] = "⤳̸"; +utf82macro["⤳̸"] = "nrarrc"; +macro2utf8["ropf"] = "𝕣"; +utf82macro["𝕣"] = "ropf"; +macro2utf8["diamond"] = "⋄"; +utf82macro["⋄"] = "diamond"; +macro2utf8["smid"] = "∣︀"; +utf82macro["∣︀"] = "smid"; +macro2utf8["nltri"] = "⋪"; +utf82macro["⋪"] = "nltri"; +macro2utf8["Pscr"] = "𝒫"; +utf82macro["𝒫"] = "Pscr"; +macro2utf8["vartheta"] = "ϑ"; +utf82macro["ϑ"] = "vartheta"; +macro2utf8["therefore"] = "∴"; +utf82macro["∴"] = "therefore"; +macro2utf8["pi"] = "π"; +utf82macro["π"] = "pi"; +macro2utf8["ntrianglelefteq"] = "⋬"; +utf82macro["⋬"] = "ntrianglelefteq"; +macro2utf8["nearrow"] = "↗"; +utf82macro["↗"] = "nearrow"; +macro2utf8["pm"] = "±"; +utf82macro["±"] = "pm"; +macro2utf8["natural"] = "♮"; +utf82macro["♮"] = "natural"; +macro2utf8["ucy"] = "у"; +utf82macro["у"] = "ucy"; +macro2utf8["olt"] = "⧀"; +utf82macro["⧀"] = "olt"; +macro2utf8["Cfr"] = "ℭ"; +utf82macro["ℭ"] = "Cfr"; +macro2utf8["yopf"] = "𝕪"; +utf82macro["𝕪"] = "yopf"; +macro2utf8["Otilde"] = "Õ"; +utf82macro["Õ"] = "Otilde"; +macro2utf8["ntriangleleft"] = "⋪"; +utf82macro["⋪"] = "ntriangleleft"; +macro2utf8["pr"] = "≺"; +utf82macro["≺"] = "pr"; +macro2utf8["Wscr"] = "𝒲"; +utf82macro["𝒲"] = "Wscr"; +macro2utf8["midcir"] = "⫰"; +utf82macro["⫰"] = "midcir"; +macro2utf8["Lacute"] = "Ĺ"; +utf82macro["Ĺ"] = "Lacute"; +macro2utf8["DoubleDot"] = "¨"; +utf82macro["¨"] = "DoubleDot"; +macro2utf8["Tstrok"] = "Ŧ"; +utf82macro["Ŧ"] = "Tstrok"; +macro2utf8["nrarrw"] = "↝̸"; +utf82macro["↝̸"] = "nrarrw"; +macro2utf8["uArr"] = "⇑"; +utf82macro["⇑"] = "uArr"; +macro2utf8["nLtv"] = "≪̸︀"; +utf82macro["≪̸︀"] = "nLtv"; +macro2utf8["rangle"] = "〉"; +utf82macro["〉"] = "rangle"; +macro2utf8["olcir"] = "⦾"; +utf82macro["⦾"] = "olcir"; +macro2utf8["Auml"] = "Ä"; +utf82macro["Ä"] = "Auml"; +macro2utf8["Succeeds"] = "≻"; +utf82macro["≻"] = "Succeeds"; +macro2utf8["DoubleLongLeftRightArrow"] = ""; +utf82macro[""] = "DoubleLongLeftRightArrow"; +macro2utf8["TSHcy"] = "Ћ"; +utf82macro["Ћ"] = "TSHcy"; +macro2utf8["gammad"] = "Ϝ"; +utf82macro["Ϝ"] = "gammad"; +macro2utf8["epsiv"] = "ɛ"; +utf82macro["ɛ"] = "epsiv"; +macro2utf8["notinva"] = "∉̸"; +utf82macro["∉̸"] = "notinva"; +macro2utf8["notinvb"] = "⋷"; +utf82macro["⋷"] = "notinvb"; +macro2utf8["eqvparsl"] = "⧥"; +utf82macro["⧥"] = "eqvparsl"; +macro2utf8["notinvc"] = "⋶"; +utf82macro["⋶"] = "notinvc"; +macro2utf8["nsubE"] = "⊈"; +utf82macro["⊈"] = "nsubE"; +macro2utf8["supplus"] = "⫀"; +utf82macro["⫀"] = "supplus"; +macro2utf8["RightUpDownVector"] = "⥏"; +utf82macro["⥏"] = "RightUpDownVector"; +macro2utf8["Tab"] = "\t"; +utf82macro["\t"] = "Tab"; +macro2utf8["Lcedil"] = "Ļ"; +utf82macro["Ļ"] = "Lcedil"; +macro2utf8["backslash"] = "\\"; +utf82macro["\\"] = "backslash"; +macro2utf8["pointint"] = "⨕"; +utf82macro["⨕"] = "pointint"; +macro2utf8["jcy"] = "й"; +utf82macro["й"] = "jcy"; +macro2utf8["iocy"] = "ё"; +utf82macro["ё"] = "iocy"; +macro2utf8["escr"] = "ℯ"; +utf82macro["ℯ"] = "escr"; +macro2utf8["submult"] = "⫁"; +utf82macro["⫁"] = "submult"; +macro2utf8["iiota"] = "℩"; +utf82macro["℩"] = "iiota"; +macro2utf8["lceil"] = "⌈"; +utf82macro["⌈"] = "lceil"; +macro2utf8["omacr"] = "ō"; +utf82macro["ō"] = "omacr"; +macro2utf8["gneqq"] = "≩"; +utf82macro["≩"] = "gneqq"; +macro2utf8["gcirc"] = "ĝ"; +utf82macro["ĝ"] = "gcirc"; +macro2utf8["dotsquare"] = "⊡"; +utf82macro["⊡"] = "dotsquare"; +macro2utf8["ccaron"] = "č"; +utf82macro["č"] = "ccaron"; +macro2utf8["Square"] = "□"; +utf82macro["□"] = "Square"; +macro2utf8["RightDownTeeVector"] = "⥝"; +utf82macro["⥝"] = "RightDownTeeVector"; +macro2utf8["Ouml"] = "Ö"; +utf82macro["Ö"] = "Ouml"; +macro2utf8["lurdshar"] = "⥊"; +utf82macro["⥊"] = "lurdshar"; +macro2utf8["SuchThat"] = "∋"; +utf82macro["∋"] = "SuchThat"; +macro2utf8["setminus"] = "∖"; +utf82macro["∖"] = "setminus"; +macro2utf8["lscr"] = "ℓ"; +utf82macro["ℓ"] = "lscr"; +macro2utf8["LessLess"] = "⪡"; +utf82macro["⪡"] = "LessLess"; +macro2utf8["Sub"] = "⋐"; +utf82macro["⋐"] = "Sub"; +macro2utf8["sc"] = "≻"; +utf82macro["≻"] = "sc"; +macro2utf8["rx"] = "℞"; +utf82macro["℞"] = "rx"; +macro2utf8["RightFloor"] = "⌋"; +utf82macro["⌋"] = "RightFloor"; +macro2utf8["blacksquare"] = "▪"; +utf82macro["▪"] = "blacksquare"; +macro2utf8["ufr"] = "𝔲"; +utf82macro["𝔲"] = "ufr"; +macro2utf8["block"] = "█"; +utf82macro["█"] = "block"; +macro2utf8["dots"] = "…"; +utf82macro["…"] = "dots"; +macro2utf8["nvsim"] = "≁̸"; +utf82macro["≁̸"] = "nvsim"; +macro2utf8["caret"] = "⁁"; +utf82macro["⁁"] = "caret"; +macro2utf8["demptyv"] = "⦱"; +utf82macro["⦱"] = "demptyv"; +macro2utf8["Sum"] = "∑"; +utf82macro["∑"] = "Sum"; +macro2utf8["sscr"] = "𝓈"; +utf82macro["𝓈"] = "sscr"; +macro2utf8["nsube"] = "⊈"; +utf82macro["⊈"] = "nsube"; +macro2utf8["Sup"] = "⋑"; +utf82macro["⋑"] = "Sup"; +macro2utf8["ccupssm"] = "⩐"; +utf82macro["⩐"] = "ccupssm"; +macro2utf8["Because"] = "∵"; +utf82macro["∵"] = "Because"; +macro2utf8["harrcir"] = "⥈"; +utf82macro["⥈"] = "harrcir"; +macro2utf8["capbrcup"] = "⩉"; +utf82macro["⩉"] = "capbrcup"; +macro2utf8["RightUpVectorBar"] = "⥔"; +utf82macro["⥔"] = "RightUpVectorBar"; +macro2utf8["caps"] = "∩︀"; +utf82macro["∩︀"] = "caps"; +macro2utf8["ohbar"] = "⦵"; +utf82macro["⦵"] = "ohbar"; +macro2utf8["laemptyv"] = "⦴"; +utf82macro["⦴"] = "laemptyv"; +macro2utf8["uacute"] = "ú"; +utf82macro["ú"] = "uacute"; +macro2utf8["straightphi"] = "φ"; +utf82macro["φ"] = "straightphi"; +macro2utf8["RightDoubleBracket"] = "〛"; +utf82macro["〛"] = "RightDoubleBracket"; +macro2utf8["zscr"] = "𝓏"; +utf82macro["𝓏"] = "zscr"; +macro2utf8["uogon"] = "ų"; +utf82macro["ų"] = "uogon"; +macro2utf8["Uarr"] = "↟"; +utf82macro["↟"] = "Uarr"; +macro2utf8["nsucc"] = "⊁"; +utf82macro["⊁"] = "nsucc"; +macro2utf8["RBarr"] = "⤐"; +utf82macro["⤐"] = "RBarr"; +macro2utf8["NotRightTriangleBar"] = "⧐̸"; +utf82macro["⧐̸"] = "NotRightTriangleBar"; +macro2utf8["to"] = "→"; +utf82macro["→"] = "to"; +macro2utf8["rpar"] = ")"; +utf82macro[")"] = "rpar"; +macro2utf8["rdsh"] = "↳"; +utf82macro["↳"] = "rdsh"; +macro2utf8["jfr"] = "𝔧"; +utf82macro["𝔧"] = "jfr"; +macro2utf8["ldquor"] = "„"; +utf82macro["„"] = "ldquor"; +macro2utf8["bsime"] = "⋍"; +utf82macro["⋍"] = "bsime"; +macro2utf8["lAtail"] = "⤛"; +utf82macro["⤛"] = "lAtail"; +macro2utf8["Hcirc"] = "Ĥ"; +utf82macro["Ĥ"] = "Hcirc"; +macro2utf8["aacute"] = "á"; +utf82macro["á"] = "aacute"; +macro2utf8["dot"] = "˙"; +utf82macro["˙"] = "dot"; +macro2utf8["Tcy"] = "Т"; +utf82macro["Т"] = "Tcy"; +macro2utf8["nsub"] = "⊄"; +utf82macro["⊄"] = "nsub"; +macro2utf8["kappa"] = "κ"; +utf82macro["κ"] = "kappa"; +macro2utf8["ovbar"] = "⌽"; +utf82macro["⌽"] = "ovbar"; +macro2utf8["shcy"] = "ш"; +utf82macro["ш"] = "shcy"; +macro2utf8["kappav"] = "ϰ"; +utf82macro["ϰ"] = "kappav"; +macro2utf8["ropar"] = "〙"; +utf82macro["〙"] = "ropar"; +macro2utf8["gtcc"] = "⪧"; +utf82macro["⪧"] = "gtcc"; +macro2utf8["ecolon"] = "≕"; +utf82macro["≕"] = "ecolon"; +macro2utf8["circledast"] = "⊛"; +utf82macro["⊛"] = "circledast"; +macro2utf8["colon"] = ":"; +utf82macro[":"] = "colon"; +macro2utf8["timesbar"] = "⨱"; +utf82macro["⨱"] = "timesbar"; +macro2utf8["precnsim"] = "⋨"; +utf82macro["⋨"] = "precnsim"; +macro2utf8["ord"] = "⩝"; +utf82macro["⩝"] = "ord"; +macro2utf8["real"] = "ℜ"; +utf82macro["ℜ"] = "real"; +macro2utf8["nexists"] = "∄"; +utf82macro["∄"] = "nexists"; +macro2utf8["nsup"] = "⊅"; +utf82macro["⊅"] = "nsup"; +macro2utf8["zhcy"] = "ж"; +utf82macro["ж"] = "zhcy"; +macro2utf8["imacr"] = "ī"; +utf82macro["ī"] = "imacr"; +macro2utf8["egrave"] = "è"; +utf82macro["è"] = "egrave"; +macro2utf8["acirc"] = "â"; +utf82macro["â"] = "acirc"; +macro2utf8["grave"] = "`"; +utf82macro["`"] = "grave"; +macro2utf8["biguplus"] = "⊎"; +utf82macro["⊎"] = "biguplus"; +macro2utf8["HumpEqual"] = "≏"; +utf82macro["≏"] = "HumpEqual"; +macro2utf8["GreaterSlantEqual"] = "⩾"; +utf82macro["⩾"] = "GreaterSlantEqual"; +macro2utf8["capand"] = "⩄"; +utf82macro["⩄"] = "capand"; +macro2utf8["yuml"] = "ÿ"; +utf82macro["ÿ"] = "yuml"; +macro2utf8["orv"] = "⩛"; +utf82macro["⩛"] = "orv"; +macro2utf8["Icy"] = "И"; +utf82macro["И"] = "Icy"; +macro2utf8["rightharpoondown"] = "⇁"; +utf82macro["⇁"] = "rightharpoondown"; +macro2utf8["upsilon"] = "υ"; +utf82macro["υ"] = "upsilon"; +macro2utf8["preccurlyeq"] = "≼"; +utf82macro["≼"] = "preccurlyeq"; +macro2utf8["ShortUpArrow"] = "⌃︀"; +utf82macro["⌃︀"] = "ShortUpArrow"; +macro2utf8["searhk"] = "⤥"; +utf82macro["⤥"] = "searhk"; +macro2utf8["commat"] = "@"; +utf82macro["@"] = "commat"; +macro2utf8["Sqrt"] = "√"; +utf82macro["√"] = "Sqrt"; +macro2utf8["wp"] = "℘"; +utf82macro["℘"] = "wp"; +macro2utf8["succnapprox"] = "⋩"; +utf82macro["⋩"] = "succnapprox"; +macro2utf8["wr"] = "≀"; +utf82macro["≀"] = "wr"; +macro2utf8["NotTildeTilde"] = "≉"; +utf82macro["≉"] = "NotTildeTilde"; +macro2utf8["dcaron"] = "ď"; +utf82macro["ď"] = "dcaron"; +macro2utf8["Tfr"] = "𝔗"; +utf82macro["𝔗"] = "Tfr"; +macro2utf8["bigwedge"] = "⋀"; +utf82macro["⋀"] = "bigwedge"; +macro2utf8["DScy"] = "Ѕ"; +utf82macro["Ѕ"] = "DScy"; +macro2utf8["nrtrie"] = "⋭"; +utf82macro["⋭"] = "nrtrie"; +macro2utf8["esim"] = "≂"; +utf82macro["≂"] = "esim"; +macro2utf8["Not"] = "⫬"; +utf82macro["⫬"] = "Not"; +macro2utf8["xmap"] = ""; +utf82macro[""] = "xmap"; +macro2utf8["rect"] = "▭"; +utf82macro["▭"] = "rect"; +macro2utf8["Fouriertrf"] = "ℱ"; +utf82macro["ℱ"] = "Fouriertrf"; +macro2utf8["xi"] = "ξ"; +utf82macro["ξ"] = "xi"; +macro2utf8["NotTilde"] = "≁"; +utf82macro["≁"] = "NotTilde"; +macro2utf8["gbreve"] = "ğ"; +utf82macro["ğ"] = "gbreve"; +macro2utf8["par"] = "∥"; +utf82macro["∥"] = "par"; +macro2utf8["ddots"] = "⋱"; +utf82macro["⋱"] = "ddots"; +macro2utf8["nhArr"] = "⇎"; +utf82macro["⇎"] = "nhArr"; +macro2utf8["lsim"] = "≲"; +utf82macro["≲"] = "lsim"; +macro2utf8["RightCeiling"] = "⌉"; +utf82macro["⌉"] = "RightCeiling"; +macro2utf8["nedot"] = "≠︀"; +utf82macro["≠︀"] = "nedot"; +macro2utf8["thksim"] = "∼︀"; +utf82macro["∼︀"] = "thksim"; +macro2utf8["lEg"] = "⋚"; +utf82macro["⋚"] = "lEg"; +macro2utf8["Ifr"] = "ℑ"; +utf82macro["ℑ"] = "Ifr"; +macro2utf8["emsp"] = " "; +utf82macro[" "] = "emsp"; +macro2utf8["lopar"] = "〘"; +utf82macro["〘"] = "lopar"; +macro2utf8["iiiint"] = "⨌"; +utf82macro["⨌"] = "iiiint"; +macro2utf8["straightepsilon"] = "ε"; +utf82macro["ε"] = "straightepsilon"; +macro2utf8["intlarhk"] = "⨗"; +utf82macro["⨗"] = "intlarhk"; +macro2utf8["image"] = "ℑ"; +utf82macro["ℑ"] = "image"; +macro2utf8["sqsubseteq"] = "⊑"; +utf82macro["⊑"] = "sqsubseteq"; +macro2utf8["lnapprox"] = "⪉"; +utf82macro["⪉"] = "lnapprox"; +macro2utf8["Leftrightarrow"] = "⇔"; +utf82macro["⇔"] = "Leftrightarrow"; +macro2utf8["cemptyv"] = "⦲"; +utf82macro["⦲"] = "cemptyv"; +macro2utf8["alpha"] = "α"; +utf82macro["α"] = "alpha"; +macro2utf8["uml"] = "¨"; +utf82macro["¨"] = "uml"; +macro2utf8["barwedge"] = "⊼"; +utf82macro["⊼"] = "barwedge"; +macro2utf8["KHcy"] = "Х"; +utf82macro["Х"] = "KHcy"; +macro2utf8["tilde"] = "˜"; +utf82macro["˜"] = "tilde"; +macro2utf8["Superset"] = "⊃"; +utf82macro["⊃"] = "Superset"; +macro2utf8["gesles"] = "⪔"; +utf82macro["⪔"] = "gesles"; +macro2utf8["bigoplus"] = "⊕"; +utf82macro["⊕"] = "bigoplus"; +macro2utf8["boxuL"] = "╛"; +utf82macro["╛"] = "boxuL"; +macro2utf8["rbbrk"] = "〕"; +utf82macro["〕"] = "rbbrk"; +macro2utf8["nrightarrow"] = "↛"; +utf82macro["↛"] = "nrightarrow"; +macro2utf8["hkswarow"] = "⤦"; +utf82macro["⤦"] = "hkswarow"; +macro2utf8["DiacriticalDoubleAcute"] = "˝"; +utf82macro["˝"] = "DiacriticalDoubleAcute"; +macro2utf8["nbumpe"] = "≏̸"; +utf82macro["≏̸"] = "nbumpe"; +macro2utf8["uhblk"] = "▀"; +utf82macro["▀"] = "uhblk"; +macro2utf8["NotSupersetEqual"] = "⊉"; +utf82macro["⊉"] = "NotSupersetEqual"; +macro2utf8["ntgl"] = "≹"; +utf82macro["≹"] = "ntgl"; +macro2utf8["Fopf"] = "𝔽"; +utf82macro["𝔽"] = "Fopf"; +macro2utf8["boxuR"] = "╘"; +utf82macro["╘"] = "boxuR"; +macro2utf8["swarr"] = "↙"; +utf82macro["↙"] = "swarr"; +macro2utf8["nsqsube"] = "⋢"; +utf82macro["⋢"] = "nsqsube"; +macro2utf8["pluscir"] = "⨢"; +utf82macro["⨢"] = "pluscir"; +macro2utf8["pcy"] = "п"; +utf82macro["п"] = "pcy"; +macro2utf8["leqslant"] = "⩽"; +utf82macro["⩽"] = "leqslant"; +macro2utf8["lnap"] = "⪉"; +utf82macro["⪉"] = "lnap"; +macro2utf8["lthree"] = "⋋"; +utf82macro["⋋"] = "lthree"; +macro2utf8["smte"] = "⪬"; +utf82macro["⪬"] = "smte"; +macro2utf8["olcross"] = "⦻"; +utf82macro["⦻"] = "olcross"; +macro2utf8["nvrArr"] = "⇏"; +utf82macro["⇏"] = "nvrArr"; +macro2utf8["andslope"] = "⩘"; +utf82macro["⩘"] = "andslope"; +macro2utf8["MediumSpace"] = " "; +utf82macro[" "] = "MediumSpace"; +macro2utf8["boxvH"] = "╪"; +utf82macro["╪"] = "boxvH"; +macro2utf8["Nacute"] = "Ń"; +utf82macro["Ń"] = "Nacute"; +macro2utf8["nGtv"] = "≫̸︀"; +utf82macro["≫̸︀"] = "nGtv"; +macro2utf8["Mopf"] = "𝕄"; +utf82macro["𝕄"] = "Mopf"; +macro2utf8["dfisht"] = "⥿"; +utf82macro["⥿"] = "dfisht"; +macro2utf8["boxvL"] = "╡"; +utf82macro["╡"] = "boxvL"; +macro2utf8["pertenk"] = "‱"; +utf82macro["‱"] = "pertenk"; +macro2utf8["NotPrecedes"] = "⊀"; +utf82macro["⊀"] = "NotPrecedes"; +macro2utf8["profalar"] = "⌮"; +utf82macro["⌮"] = "profalar"; +macro2utf8["roplus"] = "⨮"; +utf82macro["⨮"] = "roplus"; +macro2utf8["boxvR"] = "╞"; +utf82macro["╞"] = "boxvR"; +macro2utf8["utrif"] = "▴"; +utf82macro["▴"] = "utrif"; +macro2utf8["uHar"] = "⥣"; +utf82macro["⥣"] = "uHar"; +macro2utf8["nltrie"] = "⋬"; +utf82macro["⋬"] = "nltrie"; +macro2utf8["NotNestedGreaterGreater"] = "⒢̸"; +utf82macro["⒢̸"] = "NotNestedGreaterGreater"; +macro2utf8["smtes"] = "⪬︀"; +utf82macro["⪬︀"] = "smtes"; +macro2utf8["LeftAngleBracket"] = "〈"; +utf82macro["〈"] = "LeftAngleBracket"; +macro2utf8["iogon"] = "į"; +utf82macro["į"] = "iogon"; +macro2utf8["ExponentialE"] = "ⅇ"; +utf82macro["ⅇ"] = "ExponentialE"; +macro2utf8["Topf"] = "𝕋"; +utf82macro["𝕋"] = "Topf"; +macro2utf8["GreaterEqual"] = "≥"; +utf82macro["≥"] = "GreaterEqual"; +macro2utf8["DownTee"] = "⊤"; +utf82macro["⊤"] = "DownTee"; +macro2utf8["boxul"] = "┘"; +utf82macro["┘"] = "boxul"; +macro2utf8["wreath"] = "≀"; +utf82macro["≀"] = "wreath"; +macro2utf8["sigma"] = "σ"; +utf82macro["σ"] = "sigma"; +macro2utf8["ENG"] = "Ŋ"; +utf82macro["Ŋ"] = "ENG"; +macro2utf8["Ncedil"] = "Ņ"; +utf82macro["Ņ"] = "Ncedil"; +macro2utf8["ecy"] = "э"; +utf82macro["э"] = "ecy"; +macro2utf8["nsubset"] = "⊄"; +utf82macro["⊄"] = "nsubset"; +macro2utf8["LessFullEqual"] = "≦"; +utf82macro["≦"] = "LessFullEqual"; +macro2utf8["bsolb"] = "⧅"; +utf82macro["⧅"] = "bsolb"; +macro2utf8["boxur"] = "└"; +utf82macro["└"] = "boxur"; +macro2utf8["ThinSpace"] = " "; +utf82macro[" "] = "ThinSpace"; +macro2utf8["supdsub"] = "⫘"; +utf82macro["⫘"] = "supdsub"; +macro2utf8["colone"] = "≔"; +utf82macro["≔"] = "colone"; +macro2utf8["curren"] = "¤"; +utf82macro["¤"] = "curren"; +macro2utf8["boxvh"] = "┼"; +utf82macro["┼"] = "boxvh"; +macro2utf8["ecaron"] = "ě"; +utf82macro["ě"] = "ecaron"; +macro2utf8["UnderBrace"] = "︸"; +utf82macro["︸"] = "UnderBrace"; +macro2utf8["caron"] = "ˇ"; +utf82macro["ˇ"] = "caron"; +macro2utf8["ultri"] = "◸"; +utf82macro["◸"] = "ultri"; +macro2utf8["boxvl"] = "┤"; +utf82macro["┤"] = "boxvl"; +macro2utf8["scap"] = "≿"; +utf82macro["≿"] = "scap"; +macro2utf8["boxvr"] = "├"; +utf82macro["├"] = "boxvr"; +macro2utf8["bopf"] = "𝕓"; +utf82macro["𝕓"] = "bopf"; +macro2utf8["pfr"] = "𝔭"; +utf82macro["𝔭"] = "pfr"; +macro2utf8["nspar"] = "∦︀"; +utf82macro["∦︀"] = "nspar"; +macro2utf8["NegativeMediumSpace"] = " ︀"; +utf82macro[" ︀"] = "NegativeMediumSpace"; +macro2utf8["simgE"] = "⪠"; +utf82macro["⪠"] = "simgE"; +macro2utf8["nvDash"] = "⊭"; +utf82macro["⊭"] = "nvDash"; +macro2utf8["NotGreaterFullEqual"] = "≰"; +utf82macro["≰"] = "NotGreaterFullEqual"; +macro2utf8["uparrow"] = "↑"; +utf82macro["↑"] = "uparrow"; +macro2utf8["nsupset"] = "⊅"; +utf82macro["⊅"] = "nsupset"; +macro2utf8["simeq"] = "≃"; +utf82macro["≃"] = "simeq"; +macro2utf8["Zcy"] = "З"; +utf82macro["З"] = "Zcy"; +macro2utf8["RightTriangle"] = "⊳"; +utf82macro["⊳"] = "RightTriangle"; +macro2utf8["Lang"] = "《"; +utf82macro["《"] = "Lang"; +macro2utf8["Ucirc"] = "Û"; +utf82macro["Û"] = "Ucirc"; +macro2utf8["iopf"] = "𝕚"; +utf82macro["𝕚"] = "iopf"; +macro2utf8["leftrightsquigarrow"] = "↭"; +utf82macro["↭"] = "leftrightsquigarrow"; +macro2utf8["Gscr"] = "𝒢"; +utf82macro["𝒢"] = "Gscr"; +macro2utf8["lfloor"] = "⌊"; +utf82macro["⌊"] = "lfloor"; +macro2utf8["lbbrk"] = "〔"; +utf82macro["〔"] = "lbbrk"; +macro2utf8["bigvee"] = "⋁"; +utf82macro["⋁"] = "bigvee"; +macro2utf8["ordf"] = "ª"; +utf82macro["ª"] = "ordf"; +macro2utf8["rsquo"] = "’"; +utf82macro["’"] = "rsquo"; +macro2utf8["parallel"] = "∥"; +utf82macro["∥"] = "parallel"; +macro2utf8["half"] = "½"; +utf82macro["½"] = "half"; +macro2utf8["supseteq"] = "⊇"; +utf82macro["⊇"] = "supseteq"; +macro2utf8["ngeqq"] = "≱"; +utf82macro["≱"] = "ngeqq"; +macro2utf8["popf"] = "𝕡"; +utf82macro["𝕡"] = "popf"; +macro2utf8["NonBreakingSpace"] = " "; +utf82macro[" "] = "NonBreakingSpace"; +macro2utf8["softcy"] = "ь"; +utf82macro["ь"] = "softcy"; +macro2utf8["ordm"] = "º"; +utf82macro["º"] = "ordm"; +macro2utf8["Nscr"] = "𝒩"; +utf82macro["𝒩"] = "Nscr"; +macro2utf8["owns"] = "∋"; +utf82macro["∋"] = "owns"; +macro2utf8["phi"] = "ϕ"; +utf82macro["ϕ"] = "phi"; +macro2utf8["efr"] = "𝔢"; +utf82macro["𝔢"] = "efr"; +macro2utf8["nesear"] = "⤨"; +utf82macro["⤨"] = "nesear"; +macro2utf8["marker"] = "▮"; +utf82macro["▮"] = "marker"; +macro2utf8["lneq"] = "≨"; +utf82macro["≨"] = "lneq"; +macro2utf8["parallet"] = "????"; +utf82macro["????"] = "parallet"; +macro2utf8["ndash"] = "–"; +utf82macro["–"] = "ndash"; +macro2utf8["DoubleLeftTee"] = "⫤"; +utf82macro["⫤"] = "DoubleLeftTee"; +macro2utf8["lArr"] = "⇐"; +utf82macro["⇐"] = "lArr"; +macro2utf8["becaus"] = "∵"; +utf82macro["∵"] = "becaus"; +macro2utf8["RightTee"] = "⊢"; +utf82macro["⊢"] = "RightTee"; +macro2utf8["Ocy"] = "О"; +utf82macro["О"] = "Ocy"; +macro2utf8["ntlg"] = "≸"; +utf82macro["≸"] = "ntlg"; +macro2utf8["cacute"] = "ć"; +utf82macro["ć"] = "cacute"; +macro2utf8["wopf"] = "𝕨"; +utf82macro["𝕨"] = "wopf"; +macro2utf8["Cup"] = "⋓"; +utf82macro["⋓"] = "Cup"; +macro2utf8["Uscr"] = "𝒰"; +utf82macro["𝒰"] = "Uscr"; +macro2utf8["NotHumpEqual"] = "≏̸"; +utf82macro["≏̸"] = "NotHumpEqual"; +macro2utf8["rnmid"] = "⫮"; +utf82macro["⫮"] = "rnmid"; +macro2utf8["nsupE"] = "⊉"; +utf82macro["⊉"] = "nsupE"; +macro2utf8["bemptyv"] = "⦰"; +utf82macro["⦰"] = "bemptyv"; +macro2utf8["lsqb"] = "["; +utf82macro["["] = "lsqb"; +macro2utf8["nrarr"] = "↛"; +utf82macro["↛"] = "nrarr"; +macro2utf8["egs"] = "⋝"; +utf82macro["⋝"] = "egs"; +macro2utf8["reals"] = "ℝ"; +utf82macro["ℝ"] = "reals"; +macro2utf8["CupCap"] = "≍"; +utf82macro["≍"] = "CupCap"; +macro2utf8["Oacute"] = "Ó"; +utf82macro["Ó"] = "Oacute"; +macro2utf8["Zfr"] = "ℨ"; +utf82macro["ℨ"] = "Zfr"; +macro2utf8["ReverseEquilibrium"] = "⇋"; +utf82macro["⇋"] = "ReverseEquilibrium"; +macro2utf8["ccedil"] = "ç"; +utf82macro["ç"] = "ccedil"; +macro2utf8["bigtriangleup"] = "△"; +utf82macro["△"] = "bigtriangleup"; +macro2utf8["piv"] = "ϖ"; +utf82macro["ϖ"] = "piv"; +macro2utf8["cirscir"] = "⧂"; +utf82macro["⧂"] = "cirscir"; +macro2utf8["exists"] = "∃"; +utf82macro["∃"] = "exists"; +macro2utf8["Uarrocir"] = "⥉"; +utf82macro["⥉"] = "Uarrocir"; +macro2utf8["Dcy"] = "Д"; +utf82macro["Д"] = "Dcy"; +macro2utf8["cscr"] = "𝒸"; +utf82macro["𝒸"] = "cscr"; +macro2utf8["zcaron"] = "ž"; +utf82macro["ž"] = "zcaron"; +macro2utf8["isinE"] = "⋹"; +utf82macro["⋹"] = "isinE"; +macro2utf8["gtcir"] = "⩺"; +utf82macro["⩺"] = "gtcir"; +macro2utf8["hookrightarrow"] = "↪"; +utf82macro["↪"] = "hookrightarrow"; +macro2utf8["Int"] = "∬"; +utf82macro["∬"] = "Int"; +macro2utf8["nsupe"] = "⊉"; +utf82macro["⊉"] = "nsupe"; +macro2utf8["dotplus"] = "∔"; +utf82macro["∔"] = "dotplus"; +macro2utf8["ncup"] = "⩂"; +utf82macro["⩂"] = "ncup"; +macro2utf8["jscr"] = "𝒿"; +utf82macro["𝒿"] = "jscr"; +macro2utf8["angmsdaa"] = "⦨"; +utf82macro["⦨"] = "angmsdaa"; +macro2utf8["Iukcy"] = "І"; +utf82macro["І"] = "Iukcy"; +macro2utf8["flat"] = "♭"; +utf82macro["♭"] = "flat"; +macro2utf8["bNot"] = "⫭"; +utf82macro["⫭"] = "bNot"; +macro2utf8["angmsdab"] = "⦩"; +utf82macro["⦩"] = "angmsdab"; +macro2utf8["angmsdac"] = "⦪"; +utf82macro["⦪"] = "angmsdac"; +macro2utf8["xdtri"] = "▽"; +utf82macro["▽"] = "xdtri"; +macro2utf8["iota"] = "ι"; +utf82macro["ι"] = "iota"; +macro2utf8["angmsdad"] = "⦫"; +utf82macro["⦫"] = "angmsdad"; +macro2utf8["angmsdae"] = "⦬"; +utf82macro["⦬"] = "angmsdae"; +macro2utf8["rightarrowtail"] = "↣"; +utf82macro["↣"] = "rightarrowtail"; +macro2utf8["angmsdaf"] = "⦭"; +utf82macro["⦭"] = "angmsdaf"; +macro2utf8["Ocirc"] = "Ô"; +utf82macro["Ô"] = "Ocirc"; +macro2utf8["angmsdag"] = "⦮"; +utf82macro["⦮"] = "angmsdag"; +macro2utf8["Ofr"] = "𝔒"; +utf82macro["𝔒"] = "Ofr"; +macro2utf8["maltese"] = "✠"; +utf82macro["✠"] = "maltese"; +macro2utf8["angmsdah"] = "⦯"; +utf82macro["⦯"] = "angmsdah"; +macro2utf8["Del"] = "∇"; +utf82macro["∇"] = "Del"; +macro2utf8["Barwed"] = "⌆"; +utf82macro["⌆"] = "Barwed"; +macro2utf8["drbkarow"] = "⤐"; +utf82macro["⤐"] = "drbkarow"; +macro2utf8["qscr"] = "𝓆"; +utf82macro["𝓆"] = "qscr"; +macro2utf8["ETH"] = "Ð"; +utf82macro["Ð"] = "ETH"; +macro2utf8["operp"] = "⦹"; +utf82macro["⦹"] = "operp"; +macro2utf8["daleth"] = "ℸ"; +utf82macro["ℸ"] = "daleth"; +macro2utf8["bull"] = "•"; +utf82macro["•"] = "bull"; +macro2utf8["simlE"] = "⪟"; +utf82macro["⪟"] = "simlE"; +macro2utf8["lsquo"] = "‘"; +utf82macro["‘"] = "lsquo"; +macro2utf8["Larr"] = "↞"; +utf82macro["↞"] = "Larr"; +macro2utf8["curarr"] = "↷"; +utf82macro["↷"] = "curarr"; +macro2utf8["blacktriangleleft"] = "◂"; +utf82macro["◂"] = "blacktriangleleft"; +macro2utf8["hellip"] = "…"; +utf82macro["…"] = "hellip"; +macro2utf8["DoubleVerticalBar"] = "∥"; +utf82macro["∥"] = "DoubleVerticalBar"; +macro2utf8["rBarr"] = "⤏"; +utf82macro["⤏"] = "rBarr"; +macro2utf8["chcy"] = "ч"; +utf82macro["ч"] = "chcy"; +macro2utf8["varpi"] = "ϖ"; +utf82macro["ϖ"] = "varpi"; +macro2utf8["Cconint"] = "∰"; +utf82macro["∰"] = "Cconint"; +macro2utf8["xlarr"] = ""; +utf82macro[""] = "xlarr"; +macro2utf8["xscr"] = "𝓍"; +utf82macro["𝓍"] = "xscr"; +macro2utf8["DoubleLongRightArrow"] = ""; +utf82macro[""] = "DoubleLongRightArrow"; +macro2utf8["CounterClockwiseContourIntegral"] = "∳"; +utf82macro["∳"] = "CounterClockwiseContourIntegral"; +macro2utf8["urcrop"] = "⌎"; +utf82macro["⌎"] = "urcrop"; +macro2utf8["RightAngleBracket"] = "〉"; +utf82macro["〉"] = "RightAngleBracket"; +macro2utf8["Rcaron"] = "Ř"; +utf82macro["Ř"] = "Rcaron"; +macro2utf8["latail"] = "⤙"; +utf82macro["⤙"] = "latail"; +macro2utf8["pitchfork"] = "⋔"; +utf82macro["⋔"] = "pitchfork"; +macro2utf8["nvinfin"] = "⧞"; +utf82macro["⧞"] = "nvinfin"; +macro2utf8["hcirc"] = "ĥ"; +utf82macro["ĥ"] = "hcirc"; +macro2utf8["nexist"] = "∄"; +utf82macro["∄"] = "nexist"; +macro2utf8["checkmark"] = "✓"; +utf82macro["✓"] = "checkmark"; +macro2utf8["tridot"] = "◬"; +utf82macro["◬"] = "tridot"; +macro2utf8["vcy"] = "в"; +utf82macro["в"] = "vcy"; +macro2utf8["isins"] = "⋴"; +utf82macro["⋴"] = "isins"; +macro2utf8["fllig"] = "fl"; +utf82macro["fl"] = "fllig"; +macro2utf8["Dfr"] = "𝔇"; +utf82macro["𝔇"] = "Dfr"; +macro2utf8["hercon"] = "⊹"; +utf82macro["⊹"] = "hercon"; +macro2utf8["gEl"] = "⋛"; +utf82macro["⋛"] = "gEl"; +macro2utf8["bump"] = "≎"; +utf82macro["≎"] = "bump"; +macro2utf8["aleph"] = "ℵ"; +utf82macro["ℵ"] = "aleph"; +macro2utf8["Ubreve"] = "Ŭ"; +utf82macro["Ŭ"] = "Ubreve"; +macro2utf8["isinv"] = "∈"; +utf82macro["∈"] = "isinv"; +macro2utf8["smile"] = "⌣"; +utf82macro["⌣"] = "smile"; +macro2utf8["llcorner"] = "⌞"; +utf82macro["⌞"] = "llcorner"; +macro2utf8["boxH"] = "═"; +utf82macro["═"] = "boxH"; +macro2utf8["ecir"] = "≖"; +utf82macro["≖"] = "ecir"; +macro2utf8["varnothing"] = "∅"; +utf82macro["∅"] = "varnothing"; +macro2utf8["iuml"] = "ï"; +utf82macro["ï"] = "iuml"; +macro2utf8["mlcp"] = "⫛"; +utf82macro["⫛"] = "mlcp"; +macro2utf8["leftrightharpoons"] = "⇋"; +utf82macro["⇋"] = "leftrightharpoons"; +macro2utf8["ncong"] = "≇"; +utf82macro["≇"] = "ncong"; +macro2utf8["Vert"] = "‖"; +utf82macro["‖"] = "Vert"; +macro2utf8["vee"] = "∨"; +utf82macro["∨"] = "vee"; +macro2utf8["star"] = "⋆"; +utf82macro["⋆"] = "star"; +macro2utf8["boxV"] = "║"; +utf82macro["║"] = "boxV"; +macro2utf8["LeftRightArrow"] = "↔"; +utf82macro["↔"] = "LeftRightArrow"; +macro2utf8["leftrightarrow"] = "↔"; +utf82macro["↔"] = "leftrightarrow"; +macro2utf8["lstrok"] = "ł"; +utf82macro["ł"] = "lstrok"; +macro2utf8["ell"] = "ℓ"; +utf82macro["ℓ"] = "ell"; +macro2utf8["VerticalSeparator"] = "❘"; +utf82macro["❘"] = "VerticalSeparator"; +macro2utf8["Ubrcy"] = "Ў"; +utf82macro["Ў"] = "Ubrcy"; +macro2utf8["NotGreater"] = "≯"; +utf82macro["≯"] = "NotGreater"; +macro2utf8["Abreve"] = "Ă"; +utf82macro["Ă"] = "Abreve"; +macro2utf8["TildeTilde"] = "≈"; +utf82macro["≈"] = "TildeTilde"; +macro2utf8["CircleTimes"] = "⊗"; +utf82macro["⊗"] = "CircleTimes"; +macro2utf8["subsetneq"] = "⊊"; +utf82macro["⊊"] = "subsetneq"; +macro2utf8["ltcc"] = "⪦"; +utf82macro["⪦"] = "ltcc"; +macro2utf8["els"] = "⋜"; +utf82macro["⋜"] = "els"; +macro2utf8["succneqq"] = "⪶"; +utf82macro["⪶"] = "succneqq"; +macro2utf8["kcy"] = "к"; +utf82macro["к"] = "kcy"; +macro2utf8["nshortmid"] = "∤︀"; +utf82macro["∤︀"] = "nshortmid"; +macro2utf8["mldr"] = "…"; +utf82macro["…"] = "mldr"; +macro2utf8["harr"] = "↔"; +utf82macro["↔"] = "harr"; +macro2utf8["gimel"] = "ℷ"; +utf82macro["ℷ"] = "gimel"; +macro2utf8["Otimes"] = "⨷"; +utf82macro["⨷"] = "Otimes"; +macro2utf8["vsubnE"] = "⊊︀"; +utf82macro["⊊︀"] = "vsubnE"; +macro2utf8["ltdot"] = "⋖"; +utf82macro["⋖"] = "ltdot"; +macro2utf8["boxh"] = "─"; +utf82macro["─"] = "boxh"; +macro2utf8["notin"] = "∉"; +utf82macro["∉"] = "notin"; +macro2utf8["RuleDelayed"] = "⧴"; +utf82macro["⧴"] = "RuleDelayed"; +macro2utf8["sqsube"] = "⊑"; +utf82macro["⊑"] = "sqsube"; +macro2utf8["macr"] = "¯"; +utf82macro["¯"] = "macr"; +macro2utf8["Icirc"] = "Î"; +utf82macro["Î"] = "Icirc"; +macro2utf8["comma"] = ","; +utf82macro[","] = "comma"; +macro2utf8["Cayleys"] = "ℭ"; +utf82macro["ℭ"] = "Cayleys"; +macro2utf8["rightleftharpoons"] = "⇌"; +utf82macro["⇌"] = "rightleftharpoons"; +macro2utf8["Rarrtl"] = "⤖"; +utf82macro["⤖"] = "Rarrtl"; +macro2utf8["SquareSubsetEqual"] = "⊑"; +utf82macro["⊑"] = "SquareSubsetEqual"; +macro2utf8["NotGreaterEqual"] = "≱⃥"; +utf82macro["≱⃥"] = "NotGreaterEqual"; +macro2utf8["vfr"] = "𝔳"; +utf82macro["𝔳"] = "vfr"; +macro2utf8["utri"] = "▵"; +utf82macro["▵"] = "utri"; +macro2utf8["simne"] = "≆"; +utf82macro["≆"] = "simne"; +macro2utf8["LeftUpVectorBar"] = "⥘"; +utf82macro["⥘"] = "LeftUpVectorBar"; +macro2utf8["hksearow"] = "⤥"; +utf82macro["⤥"] = "hksearow"; +macro2utf8["boxv"] = "│"; +utf82macro["│"] = "boxv"; +macro2utf8["curvearrowleft"] = "↶"; +utf82macro["↶"] = "curvearrowleft"; +macro2utf8["eng"] = "ŋ"; +utf82macro["ŋ"] = "eng"; +macro2utf8["gtrarr"] = "⥸"; +utf82macro["⥸"] = "gtrarr"; +macro2utf8["iecy"] = "е"; +utf82macro["е"] = "iecy"; +macro2utf8["varr"] = "↕"; +utf82macro["↕"] = "varr"; +macro2utf8["lBarr"] = "⤎"; +utf82macro["⤎"] = "lBarr"; +macro2utf8["ker"] = "ker"; +utf82macro["ker"] = "ker"; +macro2utf8["imath"] = "ı"; +utf82macro["ı"] = "imath"; +macro2utf8["Dstrok"] = "Đ"; +utf82macro["Đ"] = "Dstrok"; +macro2utf8["rlarr"] = "⇄"; +utf82macro["⇄"] = "rlarr"; +macro2utf8["leftleftarrows"] = "⇇"; +utf82macro["⇇"] = "leftleftarrows"; +macro2utf8["DifferentialD"] = "ⅆ"; +utf82macro["ⅆ"] = "DifferentialD"; +macro2utf8["because"] = "∵"; +utf82macro["∵"] = "because"; +macro2utf8["ulcrop"] = "⌏"; +utf82macro["⌏"] = "ulcrop"; +macro2utf8["prE"] = "⪯"; +utf82macro["⪯"] = "prE"; +macro2utf8["oast"] = "⊛"; +utf82macro["⊛"] = "oast"; +macro2utf8["DotEqual"] = "≐"; +utf82macro["≐"] = "DotEqual"; +macro2utf8["vsubne"] = "⊊︀"; +utf82macro["⊊︀"] = "vsubne"; +macro2utf8["hbar"] = "ℏ︀"; +utf82macro["ℏ︀"] = "hbar"; +macro2utf8["subset"] = "⊂"; +utf82macro["⊂"] = "subset"; +macro2utf8["UpTeeArrow"] = "↥"; +utf82macro["↥"] = "UpTeeArrow"; +macro2utf8["LeftFloor"] = "⌊"; +utf82macro["⌊"] = "LeftFloor"; +macro2utf8["kfr"] = "𝔨"; +utf82macro["𝔨"] = "kfr"; +macro2utf8["nisd"] = "⋺"; +utf82macro["⋺"] = "nisd"; +macro2utf8["scnE"] = "⪶"; +utf82macro["⪶"] = "scnE"; +macro2utf8["Ucy"] = "У"; +utf82macro["У"] = "Ucy"; +macro2utf8["nprec"] = "⊀"; +utf82macro["⊀"] = "nprec"; +macro2utf8["ltrPar"] = "⦖"; +utf82macro["⦖"] = "ltrPar"; +macro2utf8["Scaron"] = "Š"; +utf82macro["Š"] = "Scaron"; +macro2utf8["InvisibleComma"] = "​"; +utf82macro["​"] = "InvisibleComma"; +macro2utf8["SquareUnion"] = "⊔"; +utf82macro["⊔"] = "SquareUnion"; +macro2utf8["ffllig"] = "ffl"; +utf82macro["ffl"] = "ffllig"; +macro2utf8["approxeq"] = "≊"; +utf82macro["≊"] = "approxeq"; +macro2utf8["yacute"] = "ý"; +utf82macro["ý"] = "yacute"; +macro2utf8["pre"] = "⪯"; +utf82macro["⪯"] = "pre"; +macro2utf8["nsqsupe"] = "⋣"; +utf82macro["⋣"] = "nsqsupe"; +macro2utf8["supset"] = "⊃"; +utf82macro["⊃"] = "supset"; +macro2utf8["bsolhsub"] = "\\⊂"; +utf82macro["\\⊂"] = "bsolhsub"; +macro2utf8["nshortparallel"] = "∦︀"; +utf82macro["∦︀"] = "nshortparallel"; +macro2utf8["lozenge"] = "◊"; +utf82macro["◊"] = "lozenge"; +macro2utf8["lnot"] = "¬"; +utf82macro["¬"] = "lnot"; +macro2utf8["Dopf"] = "𝔻"; +utf82macro["𝔻"] = "Dopf"; +macro2utf8["leftharpoonup"] = "↼"; +utf82macro["↼"] = "leftharpoonup"; +macro2utf8["Jcy"] = "Й"; +utf82macro["Й"] = "Jcy"; +macro2utf8["rightarrow"] = "→"; +utf82macro["→"] = "rightarrow"; +macro2utf8["ntriangleright"] = "⋫"; +utf82macro["⋫"] = "ntriangleright"; +macro2utf8["Ccirc"] = "Ĉ"; +utf82macro["Ĉ"] = "Ccirc"; +macro2utf8["eacute"] = "é"; +utf82macro["é"] = "eacute"; +macro2utf8["acute"] = "´"; +utf82macro["´"] = "acute"; +macro2utf8["Precedes"] = "≺"; +utf82macro["≺"] = "Precedes"; +macro2utf8["middot"] = "·"; +utf82macro["·"] = "middot"; +macro2utf8["lHar"] = "⥢"; +utf82macro["⥢"] = "lHar"; +macro2utf8["eparsl"] = "⧣"; +utf82macro["⧣"] = "eparsl"; +macro2utf8["psi"] = "ψ"; +utf82macro["ψ"] = "psi"; +macro2utf8["parsl"] = "∥︀"; +utf82macro["∥︀"] = "parsl"; +macro2utf8["UpperLeftArrow"] = "↖"; +utf82macro["↖"] = "UpperLeftArrow"; +macro2utf8["oror"] = "⩖"; +utf82macro["⩖"] = "oror"; +macro2utf8["Kopf"] = "𝕂"; +utf82macro["𝕂"] = "Kopf"; +macro2utf8["apacir"] = "⩯"; +utf82macro["⩯"] = "apacir"; +macro2utf8["dharl"] = "⇃"; +utf82macro["⇃"] = "dharl"; +macro2utf8["nequiv"] = "≢"; +utf82macro["≢"] = "nequiv"; +macro2utf8["rightleftarrows"] = "⇄"; +utf82macro["⇄"] = "rightleftarrows"; +macro2utf8["UnderParenthesis"] = "︶"; +utf82macro["︶"] = "UnderParenthesis"; +macro2utf8["notni"] = "∌"; +utf82macro["∌"] = "notni"; +macro2utf8["dagger"] = "†"; +utf82macro["†"] = "dagger"; +macro2utf8["dharr"] = "⇂"; +utf82macro["⇂"] = "dharr"; +macro2utf8["twoheadleftarrow"] = "↞"; +utf82macro["↞"] = "twoheadleftarrow"; +macro2utf8["frac12"] = "½"; +utf82macro["½"] = "frac12"; +macro2utf8["varsubsetneqq"] = "⊊︀"; +utf82macro["⊊︀"] = "varsubsetneqq"; +macro2utf8["frac13"] = "⅓"; +utf82macro["⅓"] = "frac13"; +macro2utf8["Ufr"] = "𝔘"; +utf82macro["𝔘"] = "Ufr"; +macro2utf8["NestedLessLess"] = "≪"; +utf82macro["≪"] = "NestedLessLess"; +macro2utf8["llarr"] = "⇇"; +utf82macro["⇇"] = "llarr"; +macro2utf8["frac14"] = "¼"; +utf82macro["¼"] = "frac14"; +macro2utf8["frac15"] = "⅕"; +utf82macro["⅕"] = "frac15"; +macro2utf8["Ropf"] = "ℝ"; +utf82macro["ℝ"] = "Ropf"; +macro2utf8["frac16"] = "⅙"; +utf82macro["⅙"] = "frac16"; +macro2utf8["lrtri"] = "⊿"; +utf82macro["⊿"] = "lrtri"; +macro2utf8["frac18"] = "⅛"; +utf82macro["⅛"] = "frac18"; +macro2utf8["cedil"] = "¸"; +utf82macro["¸"] = "cedil"; +macro2utf8["subsim"] = "⫇"; +utf82macro["⫇"] = "subsim"; +macro2utf8["PrecedesTilde"] = "≾"; +utf82macro["≾"] = "PrecedesTilde"; +macro2utf8["igrave"] = "ì"; +utf82macro["ì"] = "igrave"; +macro2utf8["gjcy"] = "ѓ"; +utf82macro["ѓ"] = "gjcy"; +macro2utf8["LeftVector"] = "↼"; +utf82macro["↼"] = "LeftVector"; +macro2utf8["notniva"] = "∌"; +utf82macro["∌"] = "notniva"; +macro2utf8["notnivb"] = "⋾"; +utf82macro["⋾"] = "notnivb"; +macro2utf8["ogon"] = "˛"; +utf82macro["˛"] = "ogon"; +macro2utf8["notnivc"] = "⋽"; +utf82macro["⋽"] = "notnivc"; +macro2utf8["Yopf"] = "𝕐"; +utf82macro["𝕐"] = "Yopf"; +macro2utf8["there4"] = "∴"; +utf82macro["∴"] = "there4"; +macro2utf8["udarr"] = "⇅"; +utf82macro["⇅"] = "udarr"; +macro2utf8["bkarow"] = "⤍"; +utf82macro["⤍"] = "bkarow"; +macro2utf8["frac23"] = "⅔"; +utf82macro["⅔"] = "frac23"; +macro2utf8["frac25"] = "⅖"; +utf82macro["⅖"] = "frac25"; +macro2utf8["njcy"] = "њ"; +utf82macro["њ"] = "njcy"; +macro2utf8["Dashv"] = "⫤"; +utf82macro["⫤"] = "Dashv"; +macro2utf8["eta"] = "η"; +utf82macro["η"] = "eta"; +macro2utf8["bcong"] = "≌"; +utf82macro["≌"] = "bcong"; +macro2utf8["Ugrave"] = "Ù"; +utf82macro["Ù"] = "Ugrave"; +macro2utf8["csube"] = "⫑"; +utf82macro["⫑"] = "csube"; +macro2utf8["clubs"] = "♣"; +utf82macro["♣"] = "clubs"; +macro2utf8["supmult"] = "⫂"; +utf82macro["⫂"] = "supmult"; +macro2utf8["MinusPlus"] = "∓"; +utf82macro["∓"] = "MinusPlus"; +macro2utf8["Jfr"] = "𝔍"; +utf82macro["𝔍"] = "Jfr"; +macro2utf8["ensp"] = " "; +utf82macro[" "] = "ensp"; +macro2utf8["ucirc"] = "û"; +utf82macro["û"] = "ucirc"; +macro2utf8["supsim"] = "⫈"; +utf82macro["⫈"] = "supsim"; +macro2utf8["eth"] = "ð"; +utf82macro["ð"] = "eth"; +macro2utf8["OverBrace"] = "︷"; +utf82macro["︷"] = "OverBrace"; +macro2utf8["Dot"] = "¨"; +utf82macro["¨"] = "Dot"; +macro2utf8["xcap"] = "⋂"; +utf82macro["⋂"] = "xcap"; +macro2utf8["vangrt"] = "⊾"; +utf82macro["⊾"] = "vangrt"; +macro2utf8["NotSubsetEqual"] = "⊈"; +utf82macro["⊈"] = "NotSubsetEqual"; +macro2utf8["frac34"] = "¾"; +utf82macro["¾"] = "frac34"; +macro2utf8["frac35"] = "⅗"; +utf82macro["⅗"] = "frac35"; +macro2utf8["planck"] = "ℏ︀"; +utf82macro["ℏ︀"] = "planck"; +macro2utf8["lnsim"] = "⋦"; +utf82macro["⋦"] = "lnsim"; +macro2utf8["gopf"] = "𝕘"; +utf82macro["𝕘"] = "gopf"; +macro2utf8["frac38"] = "⅜"; +utf82macro["⅜"] = "frac38"; +macro2utf8["DotDot"] = "⃜"; +utf82macro["⃜"] = "DotDot"; +macro2utf8["mapstoup"] = "↥"; +utf82macro["↥"] = "mapstoup"; +macro2utf8["Escr"] = "ℰ"; +utf82macro["ℰ"] = "Escr"; +macro2utf8["Integral"] = "∫"; +utf82macro["∫"] = "Integral"; +macro2utf8["Agrave"] = "À"; +utf82macro["À"] = "Agrave"; +macro2utf8["longleftarrow"] = "????;"; +utf82macro["????;"] = "longleftarrow"; +macro2utf8["Tcaron"] = "Ť"; +utf82macro["Ť"] = "Tcaron"; +macro2utf8["nopf"] = "𝕟"; +utf82macro["𝕟"] = "nopf"; +macro2utf8["LongLeftRightArrow"] = ""; +utf82macro[""] = "LongLeftRightArrow"; +macro2utf8["Emacr"] = "Ē"; +utf82macro["Ē"] = "Emacr"; +macro2utf8["omid"] = "⦶"; +utf82macro["⦶"] = "omid"; +macro2utf8["spades"] = "♠"; +utf82macro["♠"] = "spades"; +macro2utf8["naturals"] = "ℕ"; +utf82macro["ℕ"] = "naturals"; +macro2utf8["Lscr"] = "ℒ"; +utf82macro["ℒ"] = "Lscr"; +macro2utf8["udblac"] = "ű"; +utf82macro["ű"] = "udblac"; +macro2utf8["SucceedsTilde"] = "≿"; +utf82macro["≿"] = "SucceedsTilde"; +macro2utf8["frac45"] = "⅘"; +utf82macro["⅘"] = "frac45"; +macro2utf8["clubsuit"] = "♣"; +utf82macro["♣"] = "clubsuit"; +macro2utf8["mumap"] = "⊸"; +utf82macro["⊸"] = "mumap"; +macro2utf8["vltri"] = "⊲"; +utf82macro["⊲"] = "vltri"; +macro2utf8["LeftArrowBar"] = "⇤"; +utf82macro["⇤"] = "LeftArrowBar"; +macro2utf8["zacute"] = "ź"; +utf82macro["ź"] = "zacute"; +macro2utf8["szlig"] = "ß"; +utf82macro["ß"] = "szlig"; +macro2utf8["suplarr"] = "⥻"; +utf82macro["⥻"] = "suplarr"; +macro2utf8["RightDownVector"] = "⇂"; +utf82macro["⇂"] = "RightDownVector"; +macro2utf8["male"] = "♂"; +utf82macro["♂"] = "male"; +macro2utf8["RightDownVectorBar"] = "⥕"; +utf82macro["⥕"] = "RightDownVectorBar"; +macro2utf8["gdot"] = "ġ"; +utf82macro["ġ"] = "gdot"; +macro2utf8["nleqq"] = "≰"; +utf82macro["≰"] = "nleqq"; +macro2utf8["uopf"] = "𝕦"; +utf82macro["𝕦"] = "uopf"; +macro2utf8["YIcy"] = "Ї"; +utf82macro["Ї"] = "YIcy"; +macro2utf8["Sscr"] = "𝒮"; +utf82macro["𝒮"] = "Sscr"; +macro2utf8["empty"] = "∅︀"; +utf82macro["∅︀"] = "empty"; +macro2utf8["Vdash"] = "⊩"; +utf82macro["⊩"] = "Vdash"; +macro2utf8["sqsubset"] = "⊏"; +utf82macro["⊏"] = "sqsubset"; +macro2utf8["efDot"] = "≒"; +utf82macro["≒"] = "efDot"; +macro2utf8["times"] = "×"; +utf82macro["×"] = "times"; +macro2utf8["Oslash"] = "Ø"; +utf82macro["Ø"] = "Oslash"; +macro2utf8["itilde"] = "ĩ"; +utf82macro["ĩ"] = "itilde"; +macro2utf8["frac56"] = "⅚"; +utf82macro["⅚"] = "frac56"; +macro2utf8["numero"] = "№"; +utf82macro["№"] = "numero"; +macro2utf8["malt"] = "✠"; +utf82macro["✠"] = "malt"; +macro2utf8["npart"] = "∂̸"; +utf82macro["∂̸"] = "npart"; +macro2utf8["frac58"] = "⅝"; +utf82macro["⅝"] = "frac58"; +macro2utf8["Zscr"] = "𝒵"; +utf82macro["𝒵"] = "Zscr"; +macro2utf8["integers"] = "ℤ"; +utf82macro["ℤ"] = "integers"; +macro2utf8["CloseCurlyQuote"] = "’"; +utf82macro["’"] = "CloseCurlyQuote"; +macro2utf8["NewLine"] = "\n"; +utf82macro["\n"] = "NewLine"; +macro2utf8["fcy"] = "ф"; +utf82macro["ф"] = "fcy"; +macro2utf8["nwarr"] = "↖"; +utf82macro["↖"] = "nwarr"; +macro2utf8["thicksim"] = "∼︀"; +utf82macro["∼︀"] = "thicksim"; +macro2utf8["nprcue"] = "⋠"; +utf82macro["⋠"] = "nprcue"; +macro2utf8["lcub"] = "{"; +utf82macro["{"] = "lcub"; +macro2utf8["forall"] = "∀"; +utf82macro["∀"] = "forall"; +macro2utf8["plusacir"] = "⨣"; +utf82macro["⨣"] = "plusacir"; +macro2utf8["ascr"] = "𝒶"; +utf82macro["𝒶"] = "ascr"; +macro2utf8["plustwo"] = "⨧"; +utf82macro["⨧"] = "plustwo"; +macro2utf8["Utilde"] = "Ũ"; +utf82macro["Ũ"] = "Utilde"; +macro2utf8["lambda"] = "λ"; +utf82macro["λ"] = "lambda"; +macro2utf8["odash"] = "⊝"; +utf82macro["⊝"] = "odash"; +macro2utf8["iukcy"] = "і"; +utf82macro["і"] = "iukcy"; +macro2utf8["sqsupset"] = "⊐"; +utf82macro["⊐"] = "sqsupset"; +macro2utf8["Racute"] = "Ŕ"; +utf82macro["Ŕ"] = "Racute"; +macro2utf8["Longleftarrow"] = "????"; +utf82macro["????"] = "Longleftarrow"; +macro2utf8["capcap"] = "⩋"; +utf82macro["⩋"] = "capcap"; +macro2utf8["ocirc"] = "ô"; +utf82macro["ô"] = "ocirc"; +macro2utf8["nless"] = "≮"; +utf82macro["≮"] = "nless"; +macro2utf8["Wedge"] = "⋀"; +utf82macro["⋀"] = "Wedge"; +macro2utf8["qfr"] = "𝔮"; +utf82macro["𝔮"] = "qfr"; +macro2utf8["natur"] = "♮"; +utf82macro["♮"] = "natur"; +macro2utf8["hscr"] = "𝒽"; +utf82macro["𝒽"] = "hscr"; +macro2utf8["ldca"] = "⤶"; +utf82macro["⤶"] = "ldca"; +macro2utf8["ClockwiseContourIntegral"] = "∲"; +utf82macro["∲"] = "ClockwiseContourIntegral"; +macro2utf8["exp"] = "exp"; +utf82macro["exp"] = "exp"; +macro2utf8["RightTeeArrow"] = "↦"; +utf82macro["↦"] = "RightTeeArrow"; +macro2utf8["orarr"] = "↻"; +utf82macro["↻"] = "orarr"; +macro2utf8["tanh"] = "tanh"; +utf82macro["tanh"] = "tanh"; +macro2utf8["frac78"] = "⅞"; +utf82macro["⅞"] = "frac78"; +macro2utf8["Atilde"] = "Ã"; +utf82macro["Ã"] = "Atilde"; +macro2utf8["arcsin"] = "arcsin"; +utf82macro["arcsin"] = "arcsin"; +macro2utf8["Rcedil"] = "Ŗ"; +utf82macro["Ŗ"] = "Rcedil"; +macro2utf8["oscr"] = "ℴ"; +utf82macro["ℴ"] = "oscr"; +macro2utf8["InvisibleTimes"] = "⁢"; +utf82macro["⁢"] = "InvisibleTimes"; +macro2utf8["sime"] = "≃"; +utf82macro["≃"] = "sime"; +macro2utf8["simg"] = "⪞"; +utf82macro["⪞"] = "simg"; +macro2utf8["Conint"] = "∯"; +utf82macro["∯"] = "Conint"; +macro2utf8["Yuml"] = "Ÿ"; +utf82macro["Ÿ"] = "Yuml"; +macro2utf8["rlhar"] = "⇌"; +utf82macro["⇌"] = "rlhar"; +macro2utf8["rarrbfs"] = "⤠"; +utf82macro["⤠"] = "rarrbfs"; +macro2utf8["siml"] = "⪝"; +utf82macro["⪝"] = "siml"; +macro2utf8["DownRightVectorBar"] = "⥗"; +utf82macro["⥗"] = "DownRightVectorBar"; +macro2utf8["vscr"] = "𝓋"; +utf82macro["𝓋"] = "vscr"; +macro2utf8["divide"] = "÷"; +utf82macro["÷"] = "divide"; +macro2utf8["PlusMinus"] = "±"; +utf82macro["±"] = "PlusMinus"; +macro2utf8["ffr"] = "𝔣"; +utf82macro["𝔣"] = "ffr"; +macro2utf8["DownLeftTeeVector"] = "⥞"; +utf82macro["⥞"] = "DownLeftTeeVector"; +macro2utf8["EmptySmallSquare"] = "◽"; +utf82macro["◽"] = "EmptySmallSquare"; +macro2utf8["SHCHcy"] = "Щ"; +utf82macro["Щ"] = "SHCHcy"; +macro2utf8["cirmid"] = "⫯"; +utf82macro["⫯"] = "cirmid"; +macro2utf8["sigmav"] = "ς"; +utf82macro["ς"] = "sigmav"; +macro2utf8["csub"] = "⫏"; +utf82macro["⫏"] = "csub"; +macro2utf8["npar"] = "∦"; +utf82macro["∦"] = "npar"; +macro2utf8["bsemi"] = "⁏"; +utf82macro["⁏"] = "bsemi"; +macro2utf8["swArr"] = "⇙"; +utf82macro["⇙"] = "swArr"; +macro2utf8["Pcy"] = "П"; +utf82macro["П"] = "Pcy"; +macro2utf8["sinh"] = "sinh"; +utf82macro["sinh"] = "sinh"; +macro2utf8["lharul"] = "⥪"; +utf82macro["⥪"] = "lharul"; +macro2utf8["Jukcy"] = "Є"; +utf82macro["Є"] = "Jukcy"; +macro2utf8["permil"] = "‰"; +utf82macro["‰"] = "permil"; +macro2utf8["ndivides"] = "∤"; +utf82macro["∤"] = "ndivides"; +macro2utf8["Aring"] = "Å"; +utf82macro["Å"] = "Aring"; +macro2utf8["longmapsto"] = "????"; +utf82macro["????"] = "longmapsto"; +macro2utf8["Esim"] = "⩳"; +utf82macro["⩳"] = "Esim"; +macro2utf8["csup"] = "⫐"; +utf82macro["⫐"] = "csup"; +macro2utf8["trie"] = "≜"; +utf82macro["≜"] = "trie"; +macro2utf8["ubrcy"] = "ў"; +utf82macro["ў"] = "ubrcy"; +macro2utf8["NotEqualTilde"] = "≂̸"; +utf82macro["≂̸"] = "NotEqualTilde"; +macro2utf8["dotminus"] = "∸"; +utf82macro["∸"] = "dotminus"; +macro2utf8["diamondsuit"] = "♢"; +utf82macro["♢"] = "diamondsuit"; +macro2utf8["xnis"] = "⋻"; +utf82macro["⋻"] = "xnis"; +macro2utf8["Eogon"] = "Ę"; +utf82macro["Ę"] = "Eogon"; +macro2utf8["cuvee"] = "⋎"; +utf82macro["⋎"] = "cuvee"; +macro2utf8["DZcy"] = "Џ"; +utf82macro["Џ"] = "DZcy"; +macro2utf8["nRightarrow"] = "⇏"; +utf82macro["⇏"] = "nRightarrow"; +macro2utf8["sqsupe"] = "⊒"; +utf82macro["⊒"] = "sqsupe"; +macro2utf8["nsccue"] = "⋡"; +utf82macro["⋡"] = "nsccue"; +macro2utf8["drcrop"] = "⌌"; +utf82macro["⌌"] = "drcrop"; +macro2utf8["DownBreve"] = "̑"; +utf82macro["̑"] = "DownBreve"; +macro2utf8["Ecy"] = "Э"; +utf82macro["Э"] = "Ecy"; +macro2utf8["rdquor"] = "”"; +utf82macro["”"] = "rdquor"; +macro2utf8["rAtail"] = "⤜"; +utf82macro["⤜"] = "rAtail"; +macro2utf8["icirc"] = "î"; +utf82macro["î"] = "icirc"; +macro2utf8["gacute"] = "ǵ"; +utf82macro["ǵ"] = "gacute"; +macro2utf8["hyphen"] = "‐"; +utf82macro["‐"] = "hyphen"; +macro2utf8["uuml"] = "ü"; +utf82macro["ü"] = "uuml"; +macro2utf8["thorn"] = "þ"; +utf82macro["þ"] = "thorn"; +macro2utf8["ltri"] = "◃"; +utf82macro["◃"] = "ltri"; +macro2utf8["eqslantgtr"] = "⋝"; +utf82macro["⋝"] = "eqslantgtr"; +macro2utf8["DoubleContourIntegral"] = "∯"; +utf82macro["∯"] = "DoubleContourIntegral"; +macro2utf8["lescc"] = "⪨"; +utf82macro["⪨"] = "lescc"; +macro2utf8["DiacriticalGrave"] = "`"; +utf82macro["`"] = "DiacriticalGrave"; +macro2utf8["NotPrecedesEqual"] = "⪯̸"; +utf82macro["⪯̸"] = "NotPrecedesEqual"; +macro2utf8["RightArrow"] = "→"; +utf82macro["→"] = "RightArrow"; +macro2utf8["race"] = "⧚"; +utf82macro["⧚"] = "race"; +macro2utf8["topbot"] = "⌶"; +utf82macro["⌶"] = "topbot"; +macro2utf8["Pfr"] = "𝔓"; +utf82macro["𝔓"] = "Pfr"; +macro2utf8["napprox"] = "≉"; +utf82macro["≉"] = "napprox"; +macro2utf8["Sacute"] = "Ś"; +utf82macro["Ś"] = "Sacute"; +macro2utf8["cupor"] = "⩅"; +utf82macro["⩅"] = "cupor"; +macro2utf8["OverBar"] = "¯"; +utf82macro["¯"] = "OverBar"; +macro2utf8["bepsi"] = "϶"; +utf82macro["϶"] = "bepsi"; +macro2utf8["plankv"] = "ℏ"; +utf82macro["ℏ"] = "plankv"; +macro2utf8["lap"] = "≲"; +utf82macro["≲"] = "lap"; +macro2utf8["orslope"] = "⩗"; +utf82macro["⩗"] = "orslope"; +macro2utf8["beta"] = "β"; +utf82macro["β"] = "beta"; +macro2utf8["ShortDownArrow"] = "⌄︀"; +utf82macro["⌄︀"] = "ShortDownArrow"; +macro2utf8["perp"] = "⊥"; +utf82macro["⊥"] = "perp"; +macro2utf8["lat"] = "⪫"; +utf82macro["⪫"] = "lat"; +macro2utf8["CenterDot"] = "·"; +utf82macro["·"] = "CenterDot"; +macro2utf8["urcorner"] = "⌝"; +utf82macro["⌝"] = "urcorner"; +macro2utf8["models"] = "⊧"; +utf82macro["⊧"] = "models"; +macro2utf8["beth"] = "ℶ"; +utf82macro["ℶ"] = "beth"; +macro2utf8["subE"] = "⊆"; +utf82macro["⊆"] = "subE"; +macro2utf8["subnE"] = "⊊"; +utf82macro["⊊"] = "subnE"; +macro2utf8["ldots"] = "…"; +utf82macro["…"] = "ldots"; +macro2utf8["yacy"] = "я"; +utf82macro["я"] = "yacy"; +macro2utf8["udhar"] = "⥮"; +utf82macro["⥮"] = "udhar"; +macro2utf8["Scedil"] = "Ş"; +utf82macro["Ş"] = "Scedil"; +macro2utf8["subsub"] = "⫕"; +utf82macro["⫕"] = "subsub"; +macro2utf8["nvrtrie"] = "⋭̸"; +utf82macro["⋭̸"] = "nvrtrie"; +macro2utf8["Phi"] = "Φ"; +utf82macro["Φ"] = "Phi"; +macro2utf8["Efr"] = "𝔈"; +utf82macro["𝔈"] = "Efr"; +macro2utf8["larrfs"] = "⤝"; +utf82macro["⤝"] = "larrfs"; +macro2utf8["angle"] = "∠"; +utf82macro["∠"] = "angle"; +macro2utf8["TildeFullEqual"] = "≅"; +utf82macro["≅"] = "TildeFullEqual"; +macro2utf8["Jcirc"] = "Ĵ"; +utf82macro["Ĵ"] = "Jcirc"; +macro2utf8["THORN"] = "Þ"; +utf82macro["Þ"] = "THORN"; +macro2utf8["acE"] = "⧛"; +utf82macro["⧛"] = "acE"; +macro2utf8["Longleftrightarrow"] = "????"; +utf82macro["????"] = "Longleftrightarrow"; +macro2utf8["xuplus"] = "⊎"; +utf82macro["⊎"] = "xuplus"; +macro2utf8["searr"] = "↘"; +utf82macro["↘"] = "searr"; +macro2utf8["gvertneqq"] = "≩︀"; +utf82macro["≩︀"] = "gvertneqq"; +macro2utf8["subsup"] = "⫓"; +utf82macro["⫓"] = "subsup"; +macro2utf8["NotSucceedsEqual"] = "⪰̸"; +utf82macro["⪰̸"] = "NotSucceedsEqual"; +macro2utf8["gtrsim"] = "≳"; +utf82macro["≳"] = "gtrsim"; +macro2utf8["nrArr"] = "⇏"; +utf82macro["⇏"] = "nrArr"; +macro2utf8["NotSquareSupersetEqual"] = "⋣"; +utf82macro["⋣"] = "NotSquareSupersetEqual"; +macro2utf8["notindot"] = "⋶︀"; +utf82macro["⋶︀"] = "notindot"; +macro2utf8["HARDcy"] = "Ъ"; +utf82macro["Ъ"] = "HARDcy"; +macro2utf8["jmath"] = "j︀"; +utf82macro["j︀"] = "jmath"; +macro2utf8["aelig"] = "æ"; +utf82macro["æ"] = "aelig"; +macro2utf8["slarr"] = "←︀"; +utf82macro["←︀"] = "slarr"; +macro2utf8["dlcrop"] = "⌍"; +utf82macro["⌍"] = "dlcrop"; +macro2utf8["sube"] = "⊆"; +utf82macro["⊆"] = "sube"; +macro2utf8["cuepr"] = "⋞"; +utf82macro["⋞"] = "cuepr"; +macro2utf8["supsub"] = "⫔"; +utf82macro["⫔"] = "supsub"; +macro2utf8["trianglelefteq"] = "⊴"; +utf82macro["⊴"] = "trianglelefteq"; +macro2utf8["subne"] = "⊊"; +utf82macro["⊊"] = "subne"; +macro2utf8["between"] = "≬"; +utf82macro["≬"] = "between"; +macro2utf8["measuredangle"] = "∡"; +utf82macro["∡"] = "measuredangle"; +macro2utf8["swnwar"] = "⤪"; +utf82macro["⤪"] = "swnwar"; +macro2utf8["lcy"] = "л"; +utf82macro["л"] = "lcy"; +macro2utf8["ccirc"] = "ĉ"; +utf82macro["ĉ"] = "ccirc"; +macro2utf8["larrhk"] = "↩"; +utf82macro["↩"] = "larrhk"; +macro2utf8["DiacriticalTilde"] = "˜"; +utf82macro["˜"] = "DiacriticalTilde"; +macro2utf8["brvbar"] = "¦"; +utf82macro["¦"] = "brvbar"; +macro2utf8["triangledown"] = "▿"; +utf82macro["▿"] = "triangledown"; +macro2utf8["dtrif"] = "▾"; +utf82macro["▾"] = "dtrif"; +macro2utf8["Bopf"] = "𝔹"; +utf82macro["𝔹"] = "Bopf"; +macro2utf8["xwedge"] = "⋀"; +utf82macro["⋀"] = "xwedge"; +macro2utf8["rightsquigarrow"] = "↝"; +utf82macro["↝"] = "rightsquigarrow"; +macro2utf8["acd"] = "∿"; +utf82macro["∿"] = "acd"; +macro2utf8["supsup"] = "⫖"; +utf82macro["⫖"] = "supsup"; +macro2utf8["UpEquilibrium"] = "⥮"; +utf82macro["⥮"] = "UpEquilibrium"; +macro2utf8["succ"] = "≻"; +utf82macro["≻"] = "succ"; +macro2utf8["eqslantless"] = "⋜"; +utf82macro["⋜"] = "eqslantless"; +macro2utf8["coprod"] = "∐"; +utf82macro["∐"] = "coprod"; +macro2utf8["OpenCurlyDoubleQuote"] = "“"; +utf82macro["“"] = "OpenCurlyDoubleQuote"; +macro2utf8["NotGreaterSlantEqual"] = "≱"; +utf82macro["≱"] = "NotGreaterSlantEqual"; +macro2utf8["solb"] = "⧄"; +utf82macro["⧄"] = "solb"; +macro2utf8["HumpDownHump"] = "≎"; +utf82macro["≎"] = "HumpDownHump"; +macro2utf8["gtrapprox"] = "≳"; +utf82macro["≳"] = "gtrapprox"; +macro2utf8["Iopf"] = "𝕀"; +utf82macro["𝕀"] = "Iopf"; +macro2utf8["leg"] = "⋚"; +utf82macro["⋚"] = "leg"; +macro2utf8["wfr"] = "𝔴"; +utf82macro["𝔴"] = "wfr"; +macro2utf8["mapstoleft"] = "↤"; +utf82macro["↤"] = "mapstoleft"; +macro2utf8["gnapprox"] = "⪊"; +utf82macro["⪊"] = "gnapprox"; +macro2utf8["lgE"] = "⪑"; +utf82macro["⪑"] = "lgE"; +macro2utf8["CloseCurlyDoubleQuote"] = "”"; +utf82macro["”"] = "CloseCurlyDoubleQuote"; +macro2utf8["NotNestedLessLess"] = "⒡̸"; +utf82macro["⒡̸"] = "NotNestedLessLess"; +macro2utf8["acy"] = "а"; +utf82macro["а"] = "acy"; +macro2utf8["leq"] = "≤"; +utf82macro["≤"] = "leq"; +macro2utf8["Popf"] = "ℙ"; +utf82macro["ℙ"] = "Popf"; +macro2utf8["les"] = "⩽"; +utf82macro["⩽"] = "les"; +macro2utf8["succcurlyeq"] = "≽"; +utf82macro["≽"] = "succcurlyeq"; +macro2utf8["heartsuit"] = "♡"; +utf82macro["♡"] = "heartsuit"; +macro2utf8["angmsd"] = "∡"; +utf82macro["∡"] = "angmsd"; +macro2utf8["cuesc"] = "⋟"; +utf82macro["⋟"] = "cuesc"; +macro2utf8["lesseqgtr"] = "⋚"; +utf82macro["⋚"] = "lesseqgtr"; +macro2utf8["vartriangleright"] = "⊳"; +utf82macro["⊳"] = "vartriangleright"; +macro2utf8["csupe"] = "⫒"; +utf82macro["⫒"] = "csupe"; +macro2utf8["rthree"] = "⋌"; +utf82macro["⋌"] = "rthree"; +macro2utf8["Idot"] = "İ"; +utf82macro["İ"] = "Idot"; +macro2utf8["gtdot"] = "⋗"; +utf82macro["⋗"] = "gtdot"; +macro2utf8["dashv"] = "⊣"; +utf82macro["⊣"] = "dashv"; +macro2utf8["Odblac"] = "Ő"; +utf82macro["Ő"] = "Odblac"; +macro2utf8["Lmidot"] = "Ŀ"; +utf82macro["Ŀ"] = "Lmidot"; +macro2utf8["andd"] = "⩜"; +utf82macro["⩜"] = "andd"; +macro2utf8["Wopf"] = "𝕎"; +utf82macro["𝕎"] = "Wopf"; +macro2utf8["nvltrie"] = "⋬̸"; +utf82macro["⋬̸"] = "nvltrie"; +macro2utf8["nhpar"] = "⫲"; +utf82macro["⫲"] = "nhpar"; +macro2utf8["geqslant"] = "⩾"; +utf82macro["⩾"] = "geqslant"; +macro2utf8["xlArr"] = ""; +utf82macro[""] = "xlArr"; +macro2utf8["SquareSubset"] = "⊏"; +utf82macro["⊏"] = "SquareSubset"; +macro2utf8["intcal"] = "⊺"; +utf82macro["⊺"] = "intcal"; +macro2utf8["ljcy"] = "љ"; +utf82macro["љ"] = "ljcy"; +macro2utf8["lfr"] = "𝔩"; +utf82macro["𝔩"] = "lfr"; +macro2utf8["gtlPar"] = "⦕"; +utf82macro["⦕"] = "gtlPar"; +macro2utf8["zigrarr"] = "⇝"; +utf82macro["⇝"] = "zigrarr"; +macro2utf8["nvap"] = "≉̸"; +utf82macro["≉̸"] = "nvap"; +macro2utf8["boxtimes"] = "⊠"; +utf82macro["⊠"] = "boxtimes"; +macro2utf8["raquo"] = "»"; +utf82macro["»"] = "raquo"; +macro2utf8["CircleMinus"] = "⊖"; +utf82macro["⊖"] = "CircleMinus"; +macro2utf8["centerdot"] = "·"; +utf82macro["·"] = "centerdot"; +macro2utf8["xoplus"] = "⊕"; +utf82macro["⊕"] = "xoplus"; +macro2utf8["simdot"] = "⩪"; +utf82macro["⩪"] = "simdot"; +macro2utf8["Vcy"] = "В"; +utf82macro["В"] = "Vcy"; +macro2utf8["profline"] = "⌒"; +utf82macro["⌒"] = "profline"; +macro2utf8["ltquest"] = "⩻"; +utf82macro["⩻"] = "ltquest"; +macro2utf8["andv"] = "⩚"; +utf82macro["⩚"] = "andv"; +macro2utf8["lessgtr"] = "≶"; +utf82macro["≶"] = "lessgtr"; +macro2utf8["lesdoto"] = "⪁"; +utf82macro["⪁"] = "lesdoto"; +macro2utf8["NotSquareSubset"] = "⊏̸"; +utf82macro["⊏̸"] = "NotSquareSubset"; +macro2utf8["bullet"] = "•"; +utf82macro["•"] = "bullet"; +macro2utf8["rarrsim"] = "⥴"; +utf82macro["⥴"] = "rarrsim"; +macro2utf8["Tcedil"] = "Ţ"; +utf82macro["Ţ"] = "Tcedil"; +macro2utf8["Hstrok"] = "Ħ"; +utf82macro["Ħ"] = "Hstrok"; +macro2utf8["eopf"] = "𝕖"; +utf82macro["𝕖"] = "eopf"; +macro2utf8["Theta"] = "Θ"; +utf82macro["Θ"] = "Theta"; +macro2utf8["Cscr"] = "𝒞"; +utf82macro["𝒞"] = "Cscr"; +macro2utf8["emacr"] = "ē"; +utf82macro["ē"] = "emacr"; +macro2utf8["UnionPlus"] = "⊎"; +utf82macro["⊎"] = "UnionPlus"; +macro2utf8["Vee"] = "⋁"; +utf82macro["⋁"] = "Vee"; +macro2utf8["arctan"] = "arctan"; +utf82macro["arctan"] = "arctan"; +macro2utf8["afr"] = "𝔞"; +utf82macro["𝔞"] = "afr"; +macro2utf8["thinsp"] = " "; +utf82macro[" "] = "thinsp"; +macro2utf8["bottom"] = "⊥"; +utf82macro["⊥"] = "bottom"; +macro2utf8["lopf"] = "𝕝"; +utf82macro["𝕝"] = "lopf"; +macro2utf8["larrlp"] = "↫"; +utf82macro["↫"] = "larrlp"; +macro2utf8["lbrace"] = "{"; +utf82macro["{"] = "lbrace"; +macro2utf8["Jscr"] = "𝒥"; +utf82macro["𝒥"] = "Jscr"; +macro2utf8["Kcy"] = "К"; +utf82macro["К"] = "Kcy"; +macro2utf8["shortparallel"] = "∥︀"; +utf82macro["∥︀"] = "shortparallel"; +macro2utf8["hairsp"] = " "; +utf82macro[" "] = "hairsp"; +macro2utf8["osol"] = "⊘"; +utf82macro["⊘"] = "osol"; +macro2utf8["lbrack"] = "["; +utf82macro["["] = "lbrack"; +macro2utf8["hArr"] = "⇔"; +utf82macro["⇔"] = "hArr"; +macro2utf8["vdash"] = "⊢"; +utf82macro["⊢"] = "vdash"; +macro2utf8["UpDownArrow"] = "↕"; +utf82macro["↕"] = "UpDownArrow"; +macro2utf8["edot"] = "ė"; +utf82macro["ė"] = "edot"; +macro2utf8["vzigzag"] = "⦚"; +utf82macro["⦚"] = "vzigzag"; +macro2utf8["sopf"] = "𝕤"; +utf82macro["𝕤"] = "sopf"; +macro2utf8["NotLessGreater"] = "≸"; +utf82macro["≸"] = "NotLessGreater"; +macro2utf8["Qscr"] = "𝒬"; +utf82macro["𝒬"] = "Qscr"; +macro2utf8["Gammad"] = "Ϝ"; +utf82macro["Ϝ"] = "Gammad"; +macro2utf8["SubsetEqual"] = "⊆"; +utf82macro["⊆"] = "SubsetEqual"; +macro2utf8["uplus"] = "⊎"; +utf82macro["⊎"] = "uplus"; +macro2utf8["LeftTriangle"] = "⊲"; +utf82macro["⊲"] = "LeftTriangle"; +macro2utf8["ange"] = "⦤"; +utf82macro["⦤"] = "ange"; +macro2utf8["lim"] = "lim"; +utf82macro["lim"] = "lim"; +macro2utf8["triangleright"] = "▹"; +utf82macro["▹"] = "triangleright"; +macro2utf8["angrt"] = "∟"; +utf82macro["∟"] = "angrt"; +macro2utf8["rfloor"] = "⌋"; +utf82macro["⌋"] = "rfloor"; +macro2utf8["bigtriangledown"] = "▽"; +utf82macro["▽"] = "bigtriangledown"; +macro2utf8["ofcir"] = "⦿"; +utf82macro["⦿"] = "ofcir"; +macro2utf8["Vfr"] = "𝔙"; +utf82macro["𝔙"] = "Vfr"; +macro2utf8["zopf"] = "𝕫"; +utf82macro["𝕫"] = "zopf"; +macro2utf8["UpArrowDownArrow"] = "⇅"; +utf82macro["⇅"] = "UpArrowDownArrow"; +macro2utf8["Xscr"] = "𝒳"; +utf82macro["𝒳"] = "Xscr"; +macro2utf8["digamma"] = "Ϝ"; +utf82macro["Ϝ"] = "digamma"; +macro2utf8["SmallCircle"] = "∘"; +utf82macro["∘"] = "SmallCircle"; +macro2utf8["vArr"] = "⇕"; +utf82macro["⇕"] = "vArr"; +macro2utf8["eqsim"] = "≂"; +utf82macro["≂"] = "eqsim"; +macro2utf8["downharpoonright"] = "⇂"; +utf82macro["⇂"] = "downharpoonright"; +macro2utf8["Ccaron"] = "Č"; +utf82macro["Č"] = "Ccaron"; +macro2utf8["sdot"] = "⋅"; +utf82macro["⋅"] = "sdot"; +macro2utf8["frown"] = "⌢"; +utf82macro["⌢"] = "frown"; +macro2utf8["angst"] = "Å"; +utf82macro["Å"] = "angst"; +macro2utf8["lesges"] = "⪓"; +utf82macro["⪓"] = "lesges"; +macro2utf8["iacute"] = "í"; +utf82macro["í"] = "iacute"; +macro2utf8["wedge"] = "∧"; +utf82macro["∧"] = "wedge"; +macro2utf8["ssetmn"] = "∖︀"; +utf82macro["∖︀"] = "ssetmn"; +macro2utf8["rotimes"] = "⨵"; +utf82macro["⨵"] = "rotimes"; +macro2utf8["laquo"] = "«"; +utf82macro["«"] = "laquo"; +macro2utf8["bigstar"] = "★"; +utf82macro["★"] = "bigstar"; +macro2utf8["Rrightarrow"] = "⇛"; +utf82macro["⇛"] = "Rrightarrow"; +macro2utf8["erDot"] = "≓"; +utf82macro["≓"] = "erDot"; +macro2utf8["subseteq"] = "⊆"; +utf82macro["⊆"] = "subseteq"; +macro2utf8["leftharpoondown"] = "↽"; +utf82macro["↽"] = "leftharpoondown"; +macro2utf8["infin"] = "∞"; +utf82macro["∞"] = "infin"; +macro2utf8["zdot"] = "ż"; +utf82macro["ż"] = "zdot"; +macro2utf8["solbar"] = "⌿"; +utf82macro["⌿"] = "solbar"; +macro2utf8["Iuml"] = "Ï"; +utf82macro["Ï"] = "Iuml"; +macro2utf8["Kfr"] = "𝔎"; +utf82macro["𝔎"] = "Kfr"; +macro2utf8["fscr"] = "𝒻"; +utf82macro["𝒻"] = "fscr"; +macro2utf8["DJcy"] = "Ђ"; +utf82macro["Ђ"] = "DJcy"; +macro2utf8["veeeq"] = "≚"; +utf82macro["≚"] = "veeeq"; +macro2utf8["Star"] = "⋆"; +utf82macro["⋆"] = "Star"; +macro2utf8["lsquor"] = "‚"; +utf82macro["‚"] = "lsquor"; +macro2utf8["Uacute"] = "Ú"; +utf82macro["Ú"] = "Uacute"; +macro2utf8["weierp"] = "℘"; +utf82macro["℘"] = "weierp"; +macro2utf8["rang"] = "〉"; +utf82macro["〉"] = "rang"; +macro2utf8["hamilt"] = "ℋ"; +utf82macro["ℋ"] = "hamilt"; +macro2utf8["angsph"] = "∢"; +utf82macro["∢"] = "angsph"; +macro2utf8["YUcy"] = "Ю"; +utf82macro["Ю"] = "YUcy"; +macro2utf8["Wcirc"] = "Ŵ"; +utf82macro["Ŵ"] = "Wcirc"; +macro2utf8["supsetneq"] = "⊋"; +utf82macro["⊋"] = "supsetneq"; +macro2utf8["gap"] = "≳"; +utf82macro["≳"] = "gap"; +macro2utf8["mscr"] = "𝓂"; +utf82macro["𝓂"] = "mscr"; +macro2utf8["KJcy"] = "Ќ"; +utf82macro["Ќ"] = "KJcy"; +macro2utf8["qprime"] = "⁗"; +utf82macro["⁗"] = "qprime"; +macro2utf8["EqualTilde"] = "≂"; +utf82macro["≂"] = "EqualTilde"; +macro2utf8["vBar"] = "⫨"; +utf82macro["⫨"] = "vBar"; +macro2utf8["larrpl"] = "⤹"; +utf82macro["⤹"] = "larrpl"; +macro2utf8["nvge"] = "≱"; +utf82macro["≱"] = "nvge"; +macro2utf8["approx"] = "≈"; +utf82macro["≈"] = "approx"; +macro2utf8["lnE"] = "≨"; +utf82macro["≨"] = "lnE"; +macro2utf8["NotGreaterLess"] = "≹"; +utf82macro["≹"] = "NotGreaterLess"; +macro2utf8["epar"] = "⋕"; +utf82macro["⋕"] = "epar"; +macro2utf8["bigotimes"] = "⊗"; +utf82macro["⊗"] = "bigotimes"; +macro2utf8["xharr"] = ""; +utf82macro[""] = "xharr"; +macro2utf8["roang"] = ""; +utf82macro[""] = "roang"; +macro2utf8["xcup"] = "⋃"; +utf82macro["⋃"] = "xcup"; +macro2utf8["tscr"] = "𝓉"; +utf82macro["𝓉"] = "tscr"; +macro2utf8["thkap"] = "≈︀"; +utf82macro["≈︀"] = "thkap"; +macro2utf8["Aacute"] = "Á"; +utf82macro["Á"] = "Aacute"; +macro2utf8["rcy"] = "р"; +utf82macro["р"] = "rcy"; +macro2utf8["jukcy"] = "є"; +utf82macro["є"] = "jukcy"; +macro2utf8["hookleftarrow"] = "↩"; +utf82macro["↩"] = "hookleftarrow"; +macro2utf8["napid"] = "≋̸"; +utf82macro["≋̸"] = "napid"; +macro2utf8["tscy"] = "ц"; +utf82macro["ц"] = "tscy"; +macro2utf8["nvgt"] = "≯"; +utf82macro["≯"] = "nvgt"; +macro2utf8["lpar"] = "("; +utf82macro["("] = "lpar"; +macro2utf8["ldsh"] = "↲"; +utf82macro["↲"] = "ldsh"; +macro2utf8["aring"] = "å"; +utf82macro["å"] = "aring"; +macro2utf8["nGg"] = "⋙̸"; +utf82macro["⋙̸"] = "nGg"; +macro2utf8["LessEqualGreater"] = "⋚"; +utf82macro["⋚"] = "LessEqualGreater"; +macro2utf8["gcd"] = "gcd"; +utf82macro["gcd"] = "gcd"; +macro2utf8["oplus"] = "⊕"; +utf82macro["⊕"] = "oplus"; +macro2utf8["lcaron"] = "ľ"; +utf82macro["ľ"] = "lcaron"; +macro2utf8["DownArrow"] = "↓"; +utf82macro["↓"] = "DownArrow"; +macro2utf8["xutri"] = "△"; +utf82macro["△"] = "xutri"; +macro2utf8["Psi"] = "Ψ"; +utf82macro["Ψ"] = "Psi"; +macro2utf8["lesssim"] = "≲"; +utf82macro["≲"] = "lesssim"; +macro2utf8["topcir"] = "⫱"; +utf82macro["⫱"] = "topcir"; +macro2utf8["puncsp"] = " "; +utf82macro[" "] = "puncsp"; +macro2utf8["origof"] = "⊶"; +utf82macro["⊶"] = "origof"; +macro2utf8["gnsim"] = "⋧"; +utf82macro["⋧"] = "gnsim"; +macro2utf8["eogon"] = "ę"; +utf82macro["ę"] = "eogon"; +macro2utf8["spar"] = "∥︀"; +utf82macro["∥︀"] = "spar"; +macro2utf8["LowerRightArrow"] = "↘"; +utf82macro["↘"] = "LowerRightArrow"; +macro2utf8["Lleftarrow"] = "⇚"; +utf82macro["⇚"] = "Lleftarrow"; +macro2utf8["nGt"] = "≫̸"; +utf82macro["≫̸"] = "nGt"; +macro2utf8["euml"] = "ë"; +utf82macro["ë"] = "euml"; +macro2utf8["reg"] = "®"; +utf82macro["®"] = "reg"; +macro2utf8["exponentiale"] = "ⅇ"; +utf82macro["ⅇ"] = "exponentiale"; +macro2utf8["qint"] = "⨌"; +utf82macro["⨌"] = "qint"; +macro2utf8["sqcups"] = "⊔︀"; +utf82macro["⊔︀"] = "sqcups"; +macro2utf8["lne"] = "≨"; +utf82macro["≨"] = "lne"; +macro2utf8["LessSlantEqual"] = "⩽"; +utf82macro["⩽"] = "LessSlantEqual"; +macro2utf8["Egrave"] = "È"; +utf82macro["È"] = "Egrave"; +macro2utf8["orderof"] = "ℴ"; +utf82macro["ℴ"] = "orderof"; +macro2utf8["cirE"] = "⧃"; +utf82macro["⧃"] = "cirE"; +macro2utf8["nleqslant"] = "≰"; +utf82macro["≰"] = "nleqslant"; +macro2utf8["gcy"] = "г"; +utf82macro["г"] = "gcy"; +macro2utf8["curvearrowright"] = "↷"; +utf82macro["↷"] = "curvearrowright"; +macro2utf8["ratail"] = "↣"; +utf82macro["↣"] = "ratail"; +macro2utf8["emsp13"] = " "; +utf82macro[" "] = "emsp13"; +macro2utf8["sdotb"] = "⊡"; +utf82macro["⊡"] = "sdotb"; +macro2utf8["horbar"] = "―"; +utf82macro["―"] = "horbar"; +macro2utf8["emsp14"] = " "; +utf82macro[" "] = "emsp14"; +macro2utf8["npre"] = "⪯̸"; +utf82macro["⪯̸"] = "npre"; +macro2utf8["rbrksld"] = "⦎"; +utf82macro["⦎"] = "rbrksld"; +macro2utf8["sdote"] = "⩦"; +utf82macro["⩦"] = "sdote"; +macro2utf8["varsupsetneqq"] = "⊋︀"; +utf82macro["⊋︀"] = "varsupsetneqq"; +macro2utf8["VeryThinSpace"] = " "; +utf82macro[" "] = "VeryThinSpace"; +macro2utf8["DownArrowBar"] = "⤓"; +utf82macro["⤓"] = "DownArrowBar"; +macro2utf8["Rightarrow"] = "⇒"; +utf82macro["⇒"] = "Rightarrow"; +macro2utf8["ocir"] = "⊚"; +utf82macro["⊚"] = "ocir"; +macro2utf8["NotHumpDownHump"] = "≎̸"; +utf82macro["≎̸"] = "NotHumpDownHump"; +macro2utf8["darr"] = "↓"; +utf82macro["↓"] = "darr"; +macro2utf8["geqq"] = "≧"; +utf82macro["≧"] = "geqq"; +macro2utf8["sup1"] = "¹"; +utf82macro["¹"] = "sup1"; +macro2utf8["log"] = "log"; +utf82macro["log"] = "log"; +macro2utf8["sup2"] = "²"; +utf82macro["²"] = "sup2"; +macro2utf8["micro"] = "µ"; +utf82macro["µ"] = "micro"; +macro2utf8["amp"] = "&"; +utf82macro["&"] = "amp"; +macro2utf8["arccos"] = "arccos"; +utf82macro["arccos"] = "arccos"; +macro2utf8["sup3"] = "³"; +utf82macro["³"] = "sup3"; +macro2utf8["GreaterTilde"] = "≳"; +utf82macro["≳"] = "GreaterTilde"; +macro2utf8["circeq"] = "≗"; +utf82macro["≗"] = "circeq"; +macro2utf8["rfr"] = "𝔯"; +utf82macro["𝔯"] = "rfr"; +macro2utf8["dash"] = "‐"; +utf82macro["‐"] = "dash"; +macro2utf8["rbrkslu"] = "⦐"; +utf82macro["⦐"] = "rbrkslu"; +macro2utf8["Dcaron"] = "Ď"; +utf82macro["Ď"] = "Dcaron"; +macro2utf8["and"] = "∧"; +utf82macro["∧"] = "and"; +macro2utf8["Vbar"] = "⫫"; +utf82macro["⫫"] = "Vbar"; +macro2utf8["angzarr"] = "⍼"; +utf82macro["⍼"] = "angzarr"; +macro2utf8["gel"] = "⋛"; +utf82macro["⋛"] = "gel"; +macro2utf8["ang"] = "∠"; +utf82macro["∠"] = "ang"; +macro2utf8["lor"] = "∨"; +utf82macro["∨"] = "lor"; +macro2utf8["circ"] = "∘"; +utf82macro["∘"] = "circ"; +macro2utf8["upharpoonright"] = "↾"; +utf82macro["↾"] = "upharpoonright"; +macro2utf8["dblac"] = "˝"; +utf82macro["˝"] = "dblac"; +macro2utf8["subsetneqq"] = "⊊"; +utf82macro["⊊"] = "subsetneqq"; +macro2utf8["rhard"] = "⇁"; +utf82macro["⇁"] = "rhard"; +macro2utf8["Intersection"] = "⋂"; +utf82macro["⋂"] = "Intersection"; +macro2utf8["cire"] = "≗"; +utf82macro["≗"] = "cire"; +macro2utf8["apE"] = "≊"; +utf82macro["≊"] = "apE"; +macro2utf8["sung"] = "♪"; +utf82macro["♪"] = "sung"; +macro2utf8["geq"] = "≥"; +utf82macro["≥"] = "geq"; +macro2utf8["succsim"] = "≿"; +utf82macro["≿"] = "succsim"; +macro2utf8["ges"] = "⩾"; +utf82macro["⩾"] = "ges"; +macro2utf8["Gbreve"] = "Ğ"; +utf82macro["Ğ"] = "Gbreve"; +macro2utf8["intercal"] = "⊺"; +utf82macro["⊺"] = "intercal"; +macro2utf8["supE"] = "⊇"; +utf82macro["⊇"] = "supE"; +macro2utf8["NotCupCap"] = "≭"; +utf82macro["≭"] = "NotCupCap"; +macro2utf8["loz"] = "◊"; +utf82macro["◊"] = "loz"; +macro2utf8["capcup"] = "⩇"; +utf82macro["⩇"] = "capcup"; +macro2utf8["larrtl"] = "↢"; +utf82macro["↢"] = "larrtl"; +macro2utf8["AElig"] = "Æ"; +utf82macro["Æ"] = "AElig"; +macro2utf8["rarr"] = "→"; +utf82macro["→"] = "rarr"; +macro2utf8["varkappa"] = "ϰ"; +utf82macro["ϰ"] = "varkappa"; +macro2utf8["upsi"] = "υ"; +utf82macro["υ"] = "upsi"; +macro2utf8["loang"] = ""; +utf82macro[""] = "loang"; +macro2utf8["looparrowleft"] = "↫"; +utf82macro["↫"] = "looparrowleft"; +macro2utf8["IOcy"] = "Ё"; +utf82macro["Ё"] = "IOcy"; +macro2utf8["backprime"] = "‵"; +utf82macro["‵"] = "backprime"; +macro2utf8["sstarf"] = "⋆"; +utf82macro["⋆"] = "sstarf"; +macro2utf8["rharu"] = "⇀"; +utf82macro["⇀"] = "rharu"; +macro2utf8["gesl"] = "⋛︀"; +utf82macro["⋛︀"] = "gesl"; +macro2utf8["xotime"] = "⊗"; +utf82macro["⊗"] = "xotime"; +macro2utf8["minus"] = "−"; +utf82macro["−"] = "minus"; +macro2utf8["gvnE"] = "≩︀"; +utf82macro["≩︀"] = "gvnE"; +macro2utf8["gfr"] = "𝔤"; +utf82macro["𝔤"] = "gfr"; +macro2utf8["lfisht"] = "⥼"; +utf82macro["⥼"] = "lfisht"; +macro2utf8["jcirc"] = "ĵ"; +utf82macro["ĵ"] = "jcirc"; +macro2utf8["roarr"] = "⇾"; +utf82macro["⇾"] = "roarr"; +macro2utf8["rho"] = "ρ"; +utf82macro["ρ"] = "rho"; +macro2utf8["nvle"] = "≰"; +utf82macro["≰"] = "nvle"; +macro2utf8["sect"] = "§"; +utf82macro["§"] = "sect"; +macro2utf8["ggg"] = "⋙"; +utf82macro["⋙"] = "ggg"; +macro2utf8["plusb"] = "⊞"; +utf82macro["⊞"] = "plusb"; +macro2utf8["NotTildeFullEqual"] = "≇"; +utf82macro["≇"] = "NotTildeFullEqual"; +macro2utf8["NegativeVeryThinSpace"] = " ︀"; +utf82macro[" ︀"] = "NegativeVeryThinSpace"; +macro2utf8["ape"] = "≊"; +utf82macro["≊"] = "ape"; +macro2utf8["pluse"] = "⩲"; +utf82macro["⩲"] = "pluse"; +macro2utf8["dollar"] = "$"; +utf82macro["$"] = "dollar"; +macro2utf8["divonx"] = "⋇"; +utf82macro["⋇"] = "divonx"; +macro2utf8["partial"] = "∂"; +utf82macro["∂"] = "partial"; +macro2utf8["DoubleLeftRightArrow"] = "⇔"; +utf82macro["⇔"] = "DoubleLeftRightArrow"; +macro2utf8["varepsilon"] = "ε"; +utf82macro["ε"] = "varepsilon"; +macro2utf8["supe"] = "⊇"; +utf82macro["⊇"] = "supe"; +macro2utf8["nvlt"] = "≮"; +utf82macro["≮"] = "nvlt"; +macro2utf8["angrtvb"] = "⦝︀"; +utf82macro["⦝︀"] = "angrtvb"; +macro2utf8["gets"] = "←"; +utf82macro["←"] = "gets"; +macro2utf8["nparallel"] = "∦"; +utf82macro["∦"] = "nparallel"; +macro2utf8["varphi"] = "φ"; +utf82macro["φ"] = "varphi"; +macro2utf8["nsupseteq"] = "⊉"; +utf82macro["⊉"] = "nsupseteq"; +macro2utf8["circledR"] = "®"; +utf82macro["®"] = "circledR"; +macro2utf8["circledS"] = "Ⓢ"; +utf82macro["Ⓢ"] = "circledS"; +macro2utf8["primes"] = "ℙ"; +utf82macro["ℙ"] = "primes"; +macro2utf8["cuwed"] = "⋏"; +utf82macro["⋏"] = "cuwed"; +macro2utf8["cupcap"] = "⩆"; +utf82macro["⩆"] = "cupcap"; +macro2utf8["nLl"] = "⋘̸"; +utf82macro["⋘̸"] = "nLl"; +macro2utf8["lozf"] = "⧫"; +utf82macro["⧫"] = "lozf"; +macro2utf8["ShortLeftArrow"] = "←︀"; +utf82macro["←︀"] = "ShortLeftArrow"; +macro2utf8["nLt"] = "≪̸"; +utf82macro["≪̸"] = "nLt"; +macro2utf8["lesdotor"] = "⪃"; +utf82macro["⪃"] = "lesdotor"; +macro2utf8["Fcy"] = "Ф"; +utf82macro["Ф"] = "Fcy"; +macro2utf8["scnsim"] = "⋩"; +utf82macro["⋩"] = "scnsim"; +macro2utf8["VerticalLine"] = "|"; +utf82macro["|"] = "VerticalLine"; +macro2utf8["nwArr"] = "⇖"; +utf82macro["⇖"] = "nwArr"; +macro2utf8["LeftTeeArrow"] = "↤"; +utf82macro["↤"] = "LeftTeeArrow"; +macro2utf8["iprod"] = "⨼"; +utf82macro["⨼"] = "iprod"; +macro2utf8["lsh"] = "↰"; +utf82macro["↰"] = "lsh"; +macro2utf8["Congruent"] = "≡"; +utf82macro["≡"] = "Congruent"; +macro2utf8["NotLeftTriangle"] = "⋪"; +utf82macro["⋪"] = "NotLeftTriangle"; +macro2utf8["rdldhar"] = "⥩"; +utf82macro["⥩"] = "rdldhar"; +macro2utf8["varpropto"] = "∝"; +utf82macro["∝"] = "varpropto"; +macro2utf8["nvlArr"] = "⇍"; +utf82macro["⇍"] = "nvlArr"; +macro2utf8["arg"] = "arg"; +utf82macro["arg"] = "arg"; +macro2utf8["lhard"] = "↽"; +utf82macro["↽"] = "lhard"; +macro2utf8["surd"] = "????"; +utf82macro["????"] = "surd"; +macro2utf8["napos"] = "ʼn"; +utf82macro["ʼn"] = "napos"; +macro2utf8["lparlt"] = "⦓"; +utf82macro["⦓"] = "lparlt"; +macro2utf8["hslash"] = "ℏ"; +utf82macro["ℏ"] = "hslash"; +macro2utf8["Gopf"] = "𝔾"; +utf82macro["𝔾"] = "Gopf"; +macro2utf8["SHcy"] = "Ш"; +utf82macro["Ш"] = "SHcy"; +macro2utf8["triangle"] = "▵"; +utf82macro["▵"] = "triangle"; +macro2utf8["Qfr"] = "𝔔"; +utf82macro["𝔔"] = "Qfr"; +macro2utf8["DiacriticalAcute"] = "´"; +utf82macro["´"] = "DiacriticalAcute"; +macro2utf8["tbrk"] = "⎴"; +utf82macro["⎴"] = "tbrk"; +macro2utf8["Implies"] = "⇒"; +utf82macro["⇒"] = "Implies"; +macro2utf8["comp"] = "∁"; +utf82macro["∁"] = "comp"; +macro2utf8["ddarr"] = "⇊"; +utf82macro["⇊"] = "ddarr"; +macro2utf8["Colone"] = "⩴"; +utf82macro["⩴"] = "Colone"; +macro2utf8["smashp"] = "⨳"; +utf82macro["⨳"] = "smashp"; +macro2utf8["ccups"] = "⩌"; +utf82macro["⩌"] = "ccups"; +macro2utf8["triangleq"] = "≜"; +utf82macro["≜"] = "triangleq"; +macro2utf8["NotSquareSubsetEqual"] = "⋢"; +utf82macro["⋢"] = "NotSquareSubsetEqual"; +macro2utf8["Nopf"] = "ℕ"; +utf82macro["ℕ"] = "Nopf"; +macro2utf8["ZHcy"] = "Ж"; +utf82macro["Ж"] = "ZHcy"; +macro2utf8["map"] = "↦"; +utf82macro["↦"] = "map"; +macro2utf8["lharu"] = "↼"; +utf82macro["↼"] = "lharu"; +macro2utf8["glE"] = "⪒"; +utf82macro["⪒"] = "glE"; +macro2utf8["cong"] = "≅"; +utf82macro["≅"] = "cong"; +macro2utf8["Ecaron"] = "Ě"; +utf82macro["Ě"] = "Ecaron"; +macro2utf8["Uring"] = "Ů"; +utf82macro["Ů"] = "Uring"; +macro2utf8["blacktriangleright"] = "▸"; +utf82macro["▸"] = "blacktriangleright"; +macro2utf8["ntilde"] = "ñ"; +utf82macro["ñ"] = "ntilde"; +macro2utf8["max"] = "max"; +utf82macro["max"] = "max"; +macro2utf8["loarr"] = "⇽"; +utf82macro["⇽"] = "loarr"; +macro2utf8["LeftArrow"] = "←"; +utf82macro["←"] = "LeftArrow"; +macro2utf8["Gdot"] = "Ġ"; +utf82macro["Ġ"] = "Gdot"; +macro2utf8["Uopf"] = "𝕌"; +utf82macro["𝕌"] = "Uopf"; +macro2utf8["bigsqcup"] = "⊔"; +utf82macro["⊔"] = "bigsqcup"; +macro2utf8["wedgeq"] = "≙"; +utf82macro["≙"] = "wedgeq"; +macro2utf8["RoundImplies"] = "⥰"; +utf82macro["⥰"] = "RoundImplies"; +macro2utf8["prap"] = "≾"; +utf82macro["≾"] = "prap"; +macro2utf8["gescc"] = "⪩"; +utf82macro["⪩"] = "gescc"; +macro2utf8["realine"] = "ℛ"; +utf82macro["ℛ"] = "realine"; +macro2utf8["ast"] = "*"; +utf82macro["*"] = "ast"; +macro2utf8["subedot"] = "⫃"; +utf82macro["⫃"] = "subedot"; +macro2utf8["LeftTeeVector"] = "⥚"; +utf82macro["⥚"] = "LeftTeeVector"; +macro2utf8["female"] = "♀"; +utf82macro["♀"] = "female"; +macro2utf8["circlearrowleft"] = "↺"; +utf82macro["↺"] = "circlearrowleft"; +macro2utf8["Ffr"] = "𝔉"; +utf82macro["𝔉"] = "Ffr"; +macro2utf8["VDash"] = "⊫"; +utf82macro["⊫"] = "VDash"; +macro2utf8["jsercy"] = "ј"; +utf82macro["ј"] = "jsercy"; +macro2utf8["Proportional"] = "∝"; +utf82macro["∝"] = "Proportional"; +macro2utf8["OverBracket"] = "⎴"; +utf82macro["⎴"] = "OverBracket"; +macro2utf8["gla"] = "⪥"; +utf82macro["⪥"] = "gla"; +macro2utf8["NotElement"] = "∉"; +utf82macro["∉"] = "NotElement"; +macro2utf8["theta"] = "θ"; +utf82macro["θ"] = "theta"; +macro2utf8["kcedil"] = "ķ"; +utf82macro["ķ"] = "kcedil"; +macro2utf8["smeparsl"] = "⧤"; +utf82macro["⧤"] = "smeparsl"; +macro2utf8["rarrb"] = "⇥"; +utf82macro["⇥"] = "rarrb"; +macro2utf8["rarrc"] = "⤳"; +utf82macro["⤳"] = "rarrc"; +macro2utf8["ograve"] = "ò"; +utf82macro["ò"] = "ograve"; +macro2utf8["glj"] = "⪤"; +utf82macro["⪤"] = "glj"; +macro2utf8["infty"] = "∞"; +utf82macro["∞"] = "infty"; +macro2utf8["gnE"] = "≩"; +utf82macro["≩"] = "gnE"; +macro2utf8["copf"] = "𝕔"; +utf82macro["𝕔"] = "copf"; +macro2utf8["LeftArrowRightArrow"] = "⇆"; +utf82macro["⇆"] = "LeftArrowRightArrow"; +macro2utf8["cwconint"] = "∲"; +utf82macro["∲"] = "cwconint"; +macro2utf8["Ascr"] = "𝒜"; +utf82macro["𝒜"] = "Ascr"; +macro2utf8["NegativeThinSpace"] = " ︀"; +utf82macro[" ︀"] = "NegativeThinSpace"; +macro2utf8["varsubsetneq"] = "⊊︀"; +utf82macro["⊊︀"] = "varsubsetneq"; +macro2utf8["trisb"] = "⧍"; +utf82macro["⧍"] = "trisb"; +macro2utf8["rightharpoonup"] = "⇀"; +utf82macro["⇀"] = "rightharpoonup"; +macro2utf8["imagline"] = "ℐ"; +utf82macro["ℐ"] = "imagline"; +macro2utf8["mcy"] = "м"; +utf82macro["м"] = "mcy"; +macro2utf8["Cacute"] = "Ć"; +utf82macro["Ć"] = "Cacute"; +macro2utf8["bumpeq"] = "≏"; +utf82macro["≏"] = "bumpeq"; +macro2utf8["jopf"] = "𝕛"; +utf82macro["𝕛"] = "jopf"; +macro2utf8["shchcy"] = "щ"; +utf82macro["щ"] = "shchcy"; +macro2utf8["rarrw"] = "↝"; +utf82macro["↝"] = "rarrw"; +macro2utf8["uuarr"] = "⇈"; +utf82macro["⇈"] = "uuarr"; +macro2utf8["doteq"] = "≐"; +utf82macro["≐"] = "doteq"; +macro2utf8["cudarrl"] = "⤸"; +utf82macro["⤸"] = "cudarrl"; +macro2utf8["varsigma"] = "ς"; +utf82macro["ς"] = "varsigma"; +macro2utf8["Hscr"] = "ℋ"; +utf82macro["ℋ"] = "Hscr"; +macro2utf8["DownArrowUpArrow"] = "⇵"; +utf82macro["⇵"] = "DownArrowUpArrow"; +macro2utf8["Ecirc"] = "Ê"; +utf82macro["Ê"] = "Ecirc"; +macro2utf8["DD"] = "ⅅ"; +utf82macro["ⅅ"] = "DD"; +macro2utf8["copy"] = "©"; +utf82macro["©"] = "copy"; +macro2utf8["SquareIntersection"] = "⊓"; +utf82macro["⊓"] = "SquareIntersection"; +macro2utf8["RightUpVector"] = "↾"; +utf82macro["↾"] = "RightUpVector"; +macro2utf8["NotSucceedsSlantEqual"] = "⋡"; +utf82macro["⋡"] = "NotSucceedsSlantEqual"; +macro2utf8["cudarrr"] = "⤵"; +utf82macro["⤵"] = "cudarrr"; +macro2utf8["verbar"] = "|"; +utf82macro["|"] = "verbar"; +macro2utf8["ncaron"] = "ň"; +utf82macro["ň"] = "ncaron"; +macro2utf8["prurel"] = "⊰"; +utf82macro["⊰"] = "prurel"; +macro2utf8["nearr"] = "↗"; +utf82macro["↗"] = "nearr"; +macro2utf8["cdot"] = "ċ"; +utf82macro["ċ"] = "cdot"; +macro2utf8["qopf"] = "𝕢"; +utf82macro["𝕢"] = "qopf"; +macro2utf8["SucceedsSlantEqual"] = "≽"; +utf82macro["≽"] = "SucceedsSlantEqual"; +macro2utf8["Oscr"] = "𝒪"; +utf82macro["𝒪"] = "Oscr"; +macro2utf8["xfr"] = "𝔵"; +utf82macro["𝔵"] = "xfr"; +macro2utf8["gne"] = "≩"; +utf82macro["≩"] = "gne"; +macro2utf8["Ccedil"] = "Ç"; +utf82macro["Ç"] = "Ccedil"; +macro2utf8["nlarr"] = "↚"; +utf82macro["↚"] = "nlarr"; +macro2utf8["inodot"] = "ı"; +utf82macro["ı"] = "inodot"; +macro2utf8["prec"] = "≺"; +utf82macro["≺"] = "prec"; +macro2utf8["percnt"] = "%"; +utf82macro["%"] = "percnt"; +macro2utf8["Exists"] = "∃"; +utf82macro["∃"] = "Exists"; +macro2utf8["bcy"] = "б"; +utf82macro["б"] = "bcy"; +macro2utf8["xopf"] = "𝕩"; +utf82macro["𝕩"] = "xopf"; +macro2utf8["nsimeq"] = "≄"; +utf82macro["≄"] = "nsimeq"; +macro2utf8["nrtri"] = "⋫"; +utf82macro["⋫"] = "nrtri"; +macro2utf8["barvee"] = "⊽"; +utf82macro["⊽"] = "barvee"; +macro2utf8["Vscr"] = "𝒱"; +utf82macro["𝒱"] = "Vscr"; +macro2utf8["Zcaron"] = "Ž"; +utf82macro["Ž"] = "Zcaron"; +macro2utf8["ReverseElement"] = "∋"; +utf82macro["∋"] = "ReverseElement"; +macro2utf8["npolint"] = "⨔"; +utf82macro["⨔"] = "npolint"; +macro2utf8["NotGreaterTilde"] = "≵"; +utf82macro["≵"] = "NotGreaterTilde"; +macro2utf8["lmoustache"] = "⎰"; +utf82macro["⎰"] = "lmoustache"; +macro2utf8["forkv"] = "⫙"; +utf82macro["⫙"] = "forkv"; +macro2utf8["rmoustache"] = "⎱"; +utf82macro["⎱"] = "rmoustache"; +macro2utf8["DownLeftVectorBar"] = "⥖"; +utf82macro["⥖"] = "DownLeftVectorBar"; +macro2utf8["cosh"] = "cosh"; +utf82macro["cosh"] = "cosh"; +macro2utf8["mfr"] = "𝔪"; +utf82macro["𝔪"] = "mfr"; +macro2utf8["LessGreater"] = "≶"; +utf82macro["≶"] = "LessGreater"; +macro2utf8["zeetrf"] = "ℨ"; +utf82macro["ℨ"] = "zeetrf"; +macro2utf8["DiacriticalDot"] = "˙"; +utf82macro["˙"] = "DiacriticalDot"; +macro2utf8["Poincareplane"] = "ℌ"; +utf82macro["ℌ"] = "Poincareplane"; +macro2utf8["curlyeqsucc"] = "⋟"; +utf82macro["⋟"] = "curlyeqsucc"; +macro2utf8["Equal"] = "⩵"; +utf82macro["⩵"] = "Equal"; +macro2utf8["divides"] = "∣"; +utf82macro["∣"] = "divides"; +macro2utf8["scpolint"] = "⨓"; +utf82macro["⨓"] = "scpolint"; +macro2utf8["ngsim"] = "≵"; +utf82macro["≵"] = "ngsim"; +macro2utf8["larrbfs"] = "⤟"; +utf82macro["⤟"] = "larrbfs"; +macro2utf8["HilbertSpace"] = "ℋ"; +utf82macro["ℋ"] = "HilbertSpace"; +macro2utf8["otilde"] = "õ"; +utf82macro["õ"] = "otilde"; +macro2utf8["larrb"] = "⇤"; +utf82macro["⇤"] = "larrb"; +macro2utf8["wcirc"] = "ŵ"; +utf82macro["ŵ"] = "wcirc"; +macro2utf8["dscr"] = "𝒹"; +utf82macro["𝒹"] = "dscr"; +macro2utf8["phmmat"] = "ℳ"; +utf82macro["ℳ"] = "phmmat"; +macro2utf8["lacute"] = "ĺ"; +utf82macro["ĺ"] = "lacute"; +macro2utf8["tstrok"] = "ŧ"; +utf82macro["ŧ"] = "tstrok"; +macro2utf8["NotDoubleVerticalBar"] = "∦"; +utf82macro["∦"] = "NotDoubleVerticalBar"; +macro2utf8["lagran"] = "ℒ"; +utf82macro["ℒ"] = "lagran"; +macro2utf8["NotRightTriangle"] = "⋫"; +utf82macro["⋫"] = "NotRightTriangle"; +macro2utf8["dscy"] = "ѕ"; +utf82macro["ѕ"] = "dscy"; +macro2utf8["rightrightarrows"] = "⇉"; +utf82macro["⇉"] = "rightrightarrows"; +macro2utf8["seArr"] = "⇘"; +utf82macro["⇘"] = "seArr"; +macro2utf8["RightTriangleBar"] = "⧐"; +utf82macro["⧐"] = "RightTriangleBar"; +macro2utf8["coth"] = "coth"; +utf82macro["coth"] = "coth"; +macro2utf8["swarrow"] = "↙"; +utf82macro["↙"] = "swarrow"; +macro2utf8["semi"] = ";"; +utf82macro[";"] = "semi"; +macro2utf8["kscr"] = "𝓀"; +utf82macro["𝓀"] = "kscr"; +macro2utf8["NotLessEqual"] = "≰⃥"; +utf82macro["≰⃥"] = "NotLessEqual"; +macro2utf8["cularr"] = "↶"; +utf82macro["↶"] = "cularr"; +macro2utf8["blacklozenge"] = "⧫"; +utf82macro["⧫"] = "blacklozenge"; +macro2utf8["realpart"] = "ℜ"; +utf82macro["ℜ"] = "realpart"; +macro2utf8["LeftTriangleEqual"] = "⊴"; +utf82macro["⊴"] = "LeftTriangleEqual"; +macro2utf8["bfr"] = "𝔟"; +utf82macro["𝔟"] = "bfr"; +macro2utf8["Uuml"] = "Ü"; +utf82macro["Ü"] = "Uuml"; +macro2utf8["longleftrightarrow"] = "????"; +utf82macro["????"] = "longleftrightarrow"; +macro2utf8["lcedil"] = "ļ"; +utf82macro["ļ"] = "lcedil"; +macro2utf8["complement"] = "∁"; +utf82macro["∁"] = "complement"; +macro2utf8["rscr"] = "𝓇"; +utf82macro["𝓇"] = "rscr"; +macro2utf8["mho"] = "℧"; +utf82macro["℧"] = "mho"; +macro2utf8["mcomma"] = "⨩"; +utf82macro["⨩"] = "mcomma"; +macro2utf8["wedbar"] = "⩟"; +utf82macro["⩟"] = "wedbar"; +macro2utf8["NotVerticalBar"] = "∤"; +utf82macro["∤"] = "NotVerticalBar"; +macro2utf8["Lcy"] = "Л"; +utf82macro["Л"] = "Lcy"; +macro2utf8["tprime"] = "‴"; +utf82macro["‴"] = "tprime"; +macro2utf8["precneqq"] = "⪵"; +utf82macro["⪵"] = "precneqq"; +macro2utf8["Downarrow"] = "⇓"; +utf82macro["⇓"] = "Downarrow"; +macro2utf8["rsh"] = "↱"; +utf82macro["↱"] = "rsh"; +macro2utf8["mid"] = "∣"; +utf82macro["∣"] = "mid"; +macro2utf8["blank"] = "␣"; +utf82macro["␣"] = "blank"; +macro2utf8["square"] = "□"; +utf82macro["□"] = "square"; +macro2utf8["squarf"] = "▪"; +utf82macro["▪"] = "squarf"; +macro2utf8["fflig"] = "ff"; +utf82macro["ff"] = "fflig"; +macro2utf8["downdownarrows"] = "⇊"; +utf82macro["⇊"] = "downdownarrows"; +macro2utf8["yscr"] = "𝓎"; +utf82macro["𝓎"] = "yscr"; +macro2utf8["subdot"] = "⪽"; +utf82macro["⪽"] = "subdot"; +macro2utf8["ShortRightArrow"] = "→︀"; +utf82macro["→︀"] = "ShortRightArrow"; +macro2utf8["NotCongruent"] = "≢"; +utf82macro["≢"] = "NotCongruent"; +macro2utf8["Gg"] = "⋙"; +utf82macro["⋙"] = "Gg"; +macro2utf8["Lstrok"] = "Ł"; +utf82macro["Ł"] = "Lstrok"; +macro2utf8["min"] = "max"; +utf82macro["max"] = "min"; +macro2utf8["Laplacetrf"] = "ℒ"; +utf82macro["ℒ"] = "Laplacetrf"; +macro2utf8["rarrap"] = "⥵"; +utf82macro["⥵"] = "rarrap"; +macro2utf8["NotLessSlantEqual"] = "≰"; +utf82macro["≰"] = "NotLessSlantEqual"; +macro2utf8["DoubleRightArrow"] = "⇒"; +utf82macro["⇒"] = "DoubleRightArrow"; +macro2utf8["Wfr"] = "𝔚"; +utf82macro["𝔚"] = "Wfr"; +macro2utf8["subrarr"] = "⥹"; +utf82macro["⥹"] = "subrarr"; +macro2utf8["numsp"] = " "; +utf82macro[" "] = "numsp"; +macro2utf8["khcy"] = "х"; +utf82macro["х"] = "khcy"; +macro2utf8["oint"] = "∮"; +utf82macro["∮"] = "oint"; +macro2utf8["vprop"] = "∝"; +utf82macro["∝"] = "vprop"; +macro2utf8["hardcy"] = "ъ"; +utf82macro["ъ"] = "hardcy"; +macro2utf8["boxminus"] = "⊟"; +utf82macro["⊟"] = "boxminus"; +macro2utf8["GreaterLess"] = "≷"; +utf82macro["≷"] = "GreaterLess"; +macro2utf8["thetav"] = "ϑ"; +utf82macro["ϑ"] = "thetav"; +macro2utf8["scE"] = "≾"; +utf82macro["≾"] = "scE"; +macro2utf8["Gt"] = "≫"; +utf82macro["≫"] = "Gt"; +macro2utf8["Acy"] = "А"; +utf82macro["А"] = "Acy"; +macro2utf8["backcong"] = "≌"; +utf82macro["≌"] = "backcong"; +macro2utf8["gtquest"] = "⩼"; +utf82macro["⩼"] = "gtquest"; +macro2utf8["awint"] = "⨑"; +utf82macro["⨑"] = "awint"; +macro2utf8["profsurf"] = "⌓"; +utf82macro["⌓"] = "profsurf"; +macro2utf8["capdot"] = "⩀"; +utf82macro["⩀"] = "capdot"; +macro2utf8["supdot"] = "⪾"; +utf82macro["⪾"] = "supdot"; +macro2utf8["oelig"] = "œ"; +utf82macro["œ"] = "oelig"; +macro2utf8["doteqdot"] = "≑"; +utf82macro["≑"] = "doteqdot"; +macro2utf8["rharul"] = "⥬"; +utf82macro["⥬"] = "rharul"; +macro2utf8["cylcty"] = "⌭"; +utf82macro["⌭"] = "cylcty"; +macro2utf8["epsi"] = "ε"; +utf82macro["ε"] = "epsi"; +macro2utf8["eqcirc"] = "≖"; +utf82macro["≖"] = "eqcirc"; +macro2utf8["nLeftarrow"] = "⇍"; +utf82macro["⇍"] = "nLeftarrow"; +macro2utf8["rtrie"] = "⊵"; +utf82macro["⊵"] = "rtrie"; +macro2utf8["para"] = "¶"; +utf82macro["¶"] = "para"; +macro2utf8["Lfr"] = "𝔏"; +utf82macro["𝔏"] = "Lfr"; +macro2utf8["rtrif"] = "▸"; +utf82macro["▸"] = "rtrif"; +macro2utf8["NotReverseElement"] = "∌"; +utf82macro["∌"] = "NotReverseElement"; +macro2utf8["emptyv"] = "∅"; +utf82macro["∅"] = "emptyv"; +macro2utf8["nldr"] = "‥"; +utf82macro["‥"] = "nldr"; +macro2utf8["leqq"] = "≦"; +utf82macro["≦"] = "leqq"; +macro2utf8["CapitalDifferentialD"] = "ⅅ"; +utf82macro["ⅅ"] = "CapitalDifferentialD"; +macro2utf8["supsetneqq"] = "⊋"; +utf82macro["⊋"] = "supsetneqq"; +macro2utf8["boxDL"] = "╗"; +utf82macro["╗"] = "boxDL"; +macro2utf8["Im"] = "ℑ"; +utf82macro["ℑ"] = "Im"; +macro2utf8["sce"] = "≽"; +utf82macro["≽"] = "sce"; +macro2utf8["prsim"] = "≾"; +utf82macro["≾"] = "prsim"; +macro2utf8["diams"] = "♦"; +utf82macro["♦"] = "diams"; +macro2utf8["gtreqqless"] = "⋛"; +utf82macro["⋛"] = "gtreqqless"; +macro2utf8["boxDR"] = "╔"; +utf82macro["╔"] = "boxDR"; +macro2utf8["vartriangleleft"] = "⊲"; +utf82macro["⊲"] = "vartriangleleft"; +macro2utf8["SupersetEqual"] = "⊇"; +utf82macro["⊇"] = "SupersetEqual"; +macro2utf8["Omega"] = "Ω"; +utf82macro["Ω"] = "Omega"; +macro2utf8["nsubseteqq"] = "⊈"; +utf82macro["⊈"] = "nsubseteqq"; +macro2utf8["Subset"] = "⋐"; +utf82macro["⋐"] = "Subset"; +macro2utf8["ncongdot"] = "⩭̸"; +utf82macro["⩭̸"] = "ncongdot"; +macro2utf8["minusb"] = "⊟"; +utf82macro["⊟"] = "minusb"; +macro2utf8["ltimes"] = "⋉"; +utf82macro["⋉"] = "ltimes"; +macro2utf8["seswar"] = "⤩"; +utf82macro["⤩"] = "seswar"; +macro2utf8["part"] = "∂"; +utf82macro["∂"] = "part"; +macro2utf8["bumpE"] = "⪮"; +utf82macro["⪮"] = "bumpE"; +macro2utf8["minusd"] = "∸"; +utf82macro["∸"] = "minusd"; +macro2utf8["Amacr"] = "Ā"; +utf82macro["Ā"] = "Amacr"; +macro2utf8["nleq"] = "≰"; +utf82macro["≰"] = "nleq"; +macro2utf8["nles"] = "≰"; +utf82macro["≰"] = "nles"; +macro2utf8["NotLess"] = "≮"; +utf82macro["≮"] = "NotLess"; +macro2utf8["scy"] = "с"; +utf82macro["с"] = "scy"; +macro2utf8["iinfin"] = "⧜"; +utf82macro["⧜"] = "iinfin"; +macro2utf8["Afr"] = "𝔄"; +utf82macro["𝔄"] = "Afr"; +macro2utf8["isinsv"] = "⋳"; +utf82macro["⋳"] = "isinsv"; +macro2utf8["prnE"] = "⪵"; +utf82macro["⪵"] = "prnE"; +macro2utf8["lesg"] = "⋚︀"; +utf82macro["⋚︀"] = "lesg"; +macro2utf8["cups"] = "∪︀"; +utf82macro["∪︀"] = "cups"; +macro2utf8["thickapprox"] = "≈︀"; +utf82macro["≈︀"] = "thickapprox"; +macro2utf8["RightTeeVector"] = "⥛"; +utf82macro["⥛"] = "RightTeeVector"; +macro2utf8["LowerLeftArrow"] = "↙"; +utf82macro["↙"] = "LowerLeftArrow"; +macro2utf8["utdot"] = "⋰"; +utf82macro["⋰"] = "utdot"; +macro2utf8["homtht"] = "∻"; +utf82macro["∻"] = "homtht"; +macro2utf8["ddotseq"] = "⩷"; +utf82macro["⩷"] = "ddotseq"; +macro2utf8["bowtie"] = "⋈"; +utf82macro["⋈"] = "bowtie"; +macro2utf8["succnsim"] = "⋩"; +utf82macro["⋩"] = "succnsim"; +macro2utf8["boxDl"] = "╖"; +utf82macro["╖"] = "boxDl"; +macro2utf8["quot"] = """; +utf82macro["""] = "quot"; +macro2utf8["lvnE"] = "≨︀"; +utf82macro["≨︀"] = "lvnE"; +macro2utf8["CircleDot"] = "⊙"; +utf82macro["⊙"] = "CircleDot"; +macro2utf8["lsime"] = "⪍"; +utf82macro["⪍"] = "lsime"; +macro2utf8["Yacute"] = "Ý"; +utf82macro["Ý"] = "Yacute"; +macro2utf8["esdot"] = "≐"; +utf82macro["≐"] = "esdot"; +macro2utf8["Supset"] = "⋑"; +utf82macro["⋑"] = "Supset"; +macro2utf8["lsimg"] = "⪏"; +utf82macro["⪏"] = "lsimg"; +macro2utf8["eDot"] = "≑"; +utf82macro["≑"] = "eDot"; +macro2utf8["sec"] = "sec"; +utf82macro["sec"] = "sec"; +macro2utf8["boxDr"] = "╓"; +utf82macro["╓"] = "boxDr"; +macro2utf8["plus"] = "+"; +utf82macro["+"] = "plus"; +macro2utf8["ddagger"] = "‡"; +utf82macro["‡"] = "ddagger"; +macro2utf8["Vdashl"] = "⫦"; +utf82macro["⫦"] = "Vdashl"; +macro2utf8["equest"] = "≟"; +utf82macro["≟"] = "equest"; +macro2utf8["quest"] = "?"; +utf82macro["?"] = "quest"; +macro2utf8["divideontimes"] = "⋇"; +utf82macro["⋇"] = "divideontimes"; +macro2utf8["nsmid"] = "∤︀"; +utf82macro["∤︀"] = "nsmid"; +macro2utf8["fnof"] = "ƒ"; +utf82macro["ƒ"] = "fnof"; +macro2utf8["bumpe"] = "≏"; +utf82macro["≏"] = "bumpe"; +macro2utf8["lhblk"] = "▄"; +utf82macro["▄"] = "lhblk"; +macro2utf8["prnap"] = "⋨"; +utf82macro["⋨"] = "prnap"; +macro2utf8["compfn"] = "∘"; +utf82macro["∘"] = "compfn"; +macro2utf8["nsucceq"] = "⪰̸"; +utf82macro["⪰̸"] = "nsucceq"; +macro2utf8["RightArrowLeftArrow"] = "⇄"; +utf82macro["⇄"] = "RightArrowLeftArrow"; +macro2utf8["sharp"] = "♯"; +utf82macro["♯"] = "sharp"; +macro2utf8["CHcy"] = "Ч"; +utf82macro["Ч"] = "CHcy"; +macro2utf8["dwangle"] = "⦦"; +utf82macro["⦦"] = "dwangle"; +macro2utf8["angrtvbd"] = "⦝"; +utf82macro["⦝"] = "angrtvbd"; +macro2utf8["period"] = "."; +utf82macro["."] = "period"; +macro2utf8["phone"] = "☎"; +utf82macro["☎"] = "phone"; +macro2utf8["Eacute"] = "É"; +utf82macro["É"] = "Eacute"; +macro2utf8["dzigrarr"] = ""; +utf82macro[""] = "dzigrarr"; +macro2utf8["Ll"] = "⋘"; +utf82macro["⋘"] = "Ll"; +macro2utf8["succapprox"] = "≿"; +utf82macro["≿"] = "succapprox"; +macro2utf8["rarrfs"] = "⤞"; +utf82macro["⤞"] = "rarrfs"; +macro2utf8["dbkarow"] = "⤏"; +utf82macro["⤏"] = "dbkarow"; +macro2utf8["zeta"] = "ζ"; +utf82macro["ζ"] = "zeta"; +macro2utf8["Lt"] = "≪"; +utf82macro["≪"] = "Lt"; +macro2utf8["triminus"] = "⨺"; +utf82macro["⨺"] = "triminus"; +macro2utf8["odiv"] = "⨸"; +utf82macro["⨸"] = "odiv"; +macro2utf8["ltrie"] = "⊴"; +utf82macro["⊴"] = "ltrie"; +macro2utf8["Dagger"] = "‡"; +utf82macro["‡"] = "Dagger"; +macro2utf8["ltrif"] = "◂"; +utf82macro["◂"] = "ltrif"; +macro2utf8["boxHD"] = "╦"; +utf82macro["╦"] = "boxHD"; +macro2utf8["timesb"] = "⊠"; +utf82macro["⊠"] = "timesb"; +macro2utf8["check"] = "✓"; +utf82macro["✓"] = "check"; +macro2utf8["urcorn"] = "⌝"; +utf82macro["⌝"] = "urcorn"; +macro2utf8["timesd"] = "⨰"; +utf82macro["⨰"] = "timesd"; +macro2utf8["tshcy"] = "ћ"; +utf82macro["ћ"] = "tshcy"; +macro2utf8["sfr"] = "𝔰"; +utf82macro["𝔰"] = "sfr"; +macro2utf8["lmoust"] = "⎰"; +utf82macro["⎰"] = "lmoust"; +macro2utf8["ruluhar"] = "⥨"; +utf82macro["⥨"] = "ruluhar"; +macro2utf8["bne"] = "=⃥"; +utf82macro["=⃥"] = "bne"; +macro2utf8["prod"] = "∏"; +utf82macro["∏"] = "prod"; +macro2utf8["Eopf"] = "𝔼"; +utf82macro["𝔼"] = "Eopf"; +macro2utf8["scsim"] = "≿"; +utf82macro["≿"] = "scsim"; +macro2utf8["GreaterEqualLess"] = "⋛"; +utf82macro["⋛"] = "GreaterEqualLess"; +macro2utf8["Igrave"] = "Ì"; +utf82macro["Ì"] = "Igrave"; +macro2utf8["Longrightarrow"] = "⇒"; +utf82macro["⇒"] = "Longrightarrow"; +macro2utf8["bigcap"] = "⋂"; +utf82macro["⋂"] = "bigcap"; +macro2utf8["boxHU"] = "╩"; +utf82macro["╩"] = "boxHU"; +macro2utf8["uring"] = "ů"; +utf82macro["ů"] = "uring"; +macro2utf8["equivDD"] = "⩸"; +utf82macro["⩸"] = "equivDD"; +macro2utf8["prop"] = "∝"; +utf82macro["∝"] = "prop"; +macro2utf8["Lopf"] = "𝕃"; +utf82macro["𝕃"] = "Lopf"; +macro2utf8["ldrushar"] = "⥋"; +utf82macro["⥋"] = "ldrushar"; +macro2utf8["rarrhk"] = "↪"; +utf82macro["↪"] = "rarrhk"; +macro2utf8["Leftarrow"] = "⇐"; +utf82macro["⇐"] = "Leftarrow"; +macro2utf8["lltri"] = "◺"; +utf82macro["◺"] = "lltri"; +macro2utf8["NestedGreaterGreater"] = "≫"; +utf82macro["≫"] = "NestedGreaterGreater"; +macro2utf8["GreaterFullEqual"] = "≧"; +utf82macro["≧"] = "GreaterFullEqual"; +macro2utf8["robrk"] = "〛"; +utf82macro["〛"] = "robrk"; +macro2utf8["larrsim"] = "⥳"; +utf82macro["⥳"] = "larrsim"; +macro2utf8["boxHd"] = "╤"; +utf82macro["╤"] = "boxHd"; +macro2utf8["vDash"] = "⊨"; +utf82macro["⊨"] = "vDash"; +macro2utf8["hfr"] = "𝔥"; +utf82macro["𝔥"] = "hfr"; +macro2utf8["Edot"] = "Ė"; +utf82macro["Ė"] = "Edot"; +macro2utf8["Vvdash"] = "⊪"; +utf82macro["⊪"] = "Vvdash"; +macro2utf8["Sopf"] = "𝕊"; +utf82macro["𝕊"] = "Sopf"; +macro2utf8["upuparrows"] = "⇈"; +utf82macro["⇈"] = "upuparrows"; +macro2utf8["RightUpTeeVector"] = "⥜"; +utf82macro["⥜"] = "RightUpTeeVector"; +macro2utf8["DownLeftVector"] = "↽"; +utf82macro["↽"] = "DownLeftVector"; +macro2utf8["xhArr"] = ""; +utf82macro[""] = "xhArr"; +macro2utf8["triplus"] = "⨹"; +utf82macro["⨹"] = "triplus"; +macro2utf8["bot"] = "⊥"; +utf82macro["⊥"] = "bot"; +macro2utf8["Rcy"] = "Р"; +utf82macro["Р"] = "Rcy"; +macro2utf8["eDDot"] = "⩷"; +utf82macro["⩷"] = "eDDot"; +macro2utf8["subseteqq"] = "⊆"; +utf82macro["⊆"] = "subseteqq"; +macro2utf8["cirfnint"] = "⨐"; +utf82macro["⨐"] = "cirfnint"; +macro2utf8["spadesuit"] = "♠"; +utf82macro["♠"] = "spadesuit"; +macro2utf8["nacute"] = "ń"; +utf82macro["ń"] = "nacute"; +macro2utf8["Zopf"] = "ℤ"; +utf82macro["ℤ"] = "Zopf"; +macro2utf8["upharpoonleft"] = "↿"; +utf82macro["↿"] = "upharpoonleft"; +macro2utf8["shy"] = "­"; +utf82macro["­"] = "shy"; +macro2utf8["nparsl"] = "∥︀⃥"; +utf82macro["∥︀⃥"] = "nparsl"; +macro2utf8["boxHu"] = "╧"; +utf82macro["╧"] = "boxHu"; +macro2utf8["ThickSpace"] = "   "; +utf82macro["   "] = "ThickSpace"; +macro2utf8["Or"] = "⩔"; +utf82macro["⩔"] = "Or"; +macro2utf8["raemptyv"] = "⦳"; +utf82macro["⦳"] = "raemptyv"; +macro2utf8["Aogon"] = "Ą"; +utf82macro["Ą"] = "Aogon"; +macro2utf8["IEcy"] = "Е"; +utf82macro["Е"] = "IEcy"; +macro2utf8["sim"] = "∼"; +utf82macro["∼"] = "sim"; +macro2utf8["sin"] = "sin"; +utf82macro["sin"] = "sin"; +macro2utf8["copysr"] = "℗"; +utf82macro["℗"] = "copysr"; +macro2utf8["scnap"] = "⋩"; +utf82macro["⋩"] = "scnap"; +macro2utf8["rdquo"] = "”"; +utf82macro["”"] = "rdquo"; +macro2utf8["aopf"] = "𝕒"; +utf82macro["𝕒"] = "aopf"; +macro2utf8["Pi"] = "Π"; +utf82macro["Π"] = "Pi"; +macro2utf8["Udblac"] = "Ű"; +utf82macro["Ű"] = "Udblac"; +macro2utf8["expectation"] = "ℰ"; +utf82macro["ℰ"] = "expectation"; +macro2utf8["Zacute"] = "Ź"; +utf82macro["Ź"] = "Zacute"; +macro2utf8["urtri"] = "◹"; +utf82macro["◹"] = "urtri"; +macro2utf8["NotTildeEqual"] = "≄"; +utf82macro["≄"] = "NotTildeEqual"; +macro2utf8["ncedil"] = "ņ"; +utf82macro["ņ"] = "ncedil"; +macro2utf8["Gamma"] = "Γ"; +utf82macro["Γ"] = "Gamma"; +macro2utf8["ecirc"] = "ê"; +utf82macro["ê"] = "ecirc"; +macro2utf8["dsol"] = "⧶"; +utf82macro["⧶"] = "dsol"; +macro2utf8["Gcy"] = "Г"; +utf82macro["Г"] = "Gcy"; +macro2utf8["Pr"] = "Pr"; +utf82macro["Pr"] = "Pr"; +macro2utf8["Zdot"] = "Ż"; +utf82macro["Ż"] = "Zdot"; +macro2utf8["mnplus"] = "∓"; +utf82macro["∓"] = "mnplus"; +macro2utf8["hopf"] = "𝕙"; +utf82macro["𝕙"] = "hopf"; +macro2utf8["blacktriangledown"] = "▾"; +utf82macro["▾"] = "blacktriangledown"; +macro2utf8["LeftCeiling"] = "⌈"; +utf82macro["⌈"] = "LeftCeiling"; +macro2utf8["ulcorn"] = "⌜"; +utf82macro["⌜"] = "ulcorn"; +macro2utf8["searrow"] = "↘"; +utf82macro["↘"] = "searrow"; +macro2utf8["GreaterGreater"] = "⪢"; +utf82macro["⪢"] = "GreaterGreater"; +macro2utf8["Fscr"] = "ℱ"; +utf82macro["ℱ"] = "Fscr"; +macro2utf8["cupcup"] = "⩊"; +utf82macro["⩊"] = "cupcup"; +macro2utf8["NotEqual"] = "≠"; +utf82macro["≠"] = "NotEqual"; +macro2utf8["sext"] = "✶"; +utf82macro["✶"] = "sext"; +macro2utf8["CirclePlus"] = "⊕"; +utf82macro["⊕"] = "CirclePlus"; +macro2utf8["erarr"] = "⥱"; +utf82macro["⥱"] = "erarr"; +macro2utf8["dArr"] = "⇓"; +utf82macro["⇓"] = "dArr"; +macro2utf8["PrecedesSlantEqual"] = "≼"; +utf82macro["≼"] = "PrecedesSlantEqual"; +macro2utf8["Itilde"] = "Ĩ"; +utf82macro["Ĩ"] = "Itilde"; +macro2utf8["gesdoto"] = "⪂"; +utf82macro["⪂"] = "gesdoto"; +macro2utf8["Rang"] = "》"; +utf82macro["》"] = "Rang"; +macro2utf8["nwarhk"] = "⤣"; +utf82macro["⤣"] = "nwarhk"; +macro2utf8["minusdu"] = "⨪"; +utf82macro["⨪"] = "minusdu"; +macro2utf8["oopf"] = "𝕠"; +utf82macro["𝕠"] = "oopf"; +macro2utf8["Mscr"] = "ℳ"; +utf82macro["ℳ"] = "Mscr"; +macro2utf8["Rfr"] = "ℜ"; +utf82macro["ℜ"] = "Rfr"; +macro2utf8["langle"] = "〈"; +utf82macro["〈"] = "langle"; +macro2utf8["And"] = "⩓"; +utf82macro["⩓"] = "And"; +macro2utf8["bprime"] = "‵"; +utf82macro["‵"] = "bprime"; +macro2utf8["nLeftrightarrow"] = "⇎"; +utf82macro["⇎"] = "nLeftrightarrow"; +macro2utf8["Re"] = "ℜ"; +utf82macro["ℜ"] = "Re"; +macro2utf8["OpenCurlyQuote"] = "‘"; +utf82macro["‘"] = "OpenCurlyQuote"; +macro2utf8["vopf"] = "𝕧"; +utf82macro["𝕧"] = "vopf"; +macro2utf8["ulcorner"] = "⌜"; +utf82macro["⌜"] = "ulcorner"; +macro2utf8["nap"] = "≉"; +utf82macro["≉"] = "nap"; +macro2utf8["Tscr"] = "𝒯"; +utf82macro["𝒯"] = "Tscr"; +macro2utf8["gtreqless"] = "⋛"; +utf82macro["⋛"] = "gtreqless"; +macro2utf8["rarrlp"] = "↬"; +utf82macro["↬"] = "rarrlp"; +macro2utf8["Lambda"] = "Λ"; +utf82macro["Λ"] = "Lambda"; +macro2utf8["lobrk"] = "〚"; +utf82macro["〚"] = "lobrk"; +macro2utf8["rbrace"] = "}"; +utf82macro["}"] = "rbrace"; +macro2utf8["rArr"] = "⇒"; +utf82macro["⇒"] = "rArr"; +macro2utf8["coloneq"] = "≔"; +utf82macro["≔"] = "coloneq"; +macro2utf8["UpArrow"] = "↑"; +utf82macro["↑"] = "UpArrow"; +macro2utf8["odot"] = "⊙"; +utf82macro["⊙"] = "odot"; +macro2utf8["LeftDownTeeVector"] = "⥡"; +utf82macro["⥡"] = "LeftDownTeeVector"; +macro2utf8["complexes"] = "ℂ"; +utf82macro["ℂ"] = "complexes"; +macro2utf8["rbrack"] = "]"; +utf82macro["]"] = "rbrack"; +macro2utf8["DownTeeArrow"] = "↧"; +utf82macro["↧"] = "DownTeeArrow"; +macro2utf8["sqcap"] = "⊓"; +utf82macro["⊓"] = "sqcap"; +macro2utf8["Sc"] = "⪼"; +utf82macro["⪼"] = "Sc"; +macro2utf8["ycy"] = "ы"; +utf82macro["ы"] = "ycy"; +macro2utf8["Prime"] = "″"; +utf82macro["″"] = "Prime"; +macro2utf8["Gfr"] = "𝔊"; +utf82macro["𝔊"] = "Gfr"; +macro2utf8["trianglerighteq"] = "⊵"; +utf82macro["⊵"] = "trianglerighteq"; +macro2utf8["rangd"] = "⦒"; +utf82macro["⦒"] = "rangd"; +macro2utf8["gtrdot"] = "⋗"; +utf82macro["⋗"] = "gtrdot"; +macro2utf8["range"] = "⦥"; +utf82macro["⦥"] = "range"; +macro2utf8["rsqb"] = "]"; +utf82macro["]"] = "rsqb"; +macro2utf8["Euml"] = "Ë"; +utf82macro["Ë"] = "Euml"; +macro2utf8["Therefore"] = "∴"; +utf82macro["∴"] = "Therefore"; +macro2utf8["nesim"] = "≂̸"; +utf82macro["≂̸"] = "nesim"; +macro2utf8["order"] = "ℴ"; +utf82macro["ℴ"] = "order"; +macro2utf8["vsupnE"] = "⊋︀"; +utf82macro["⊋︀"] = "vsupnE"; +macro2utf8["awconint"] = "∳"; +utf82macro["∳"] = "awconint"; +macro2utf8["bscr"] = "𝒷"; +utf82macro["𝒷"] = "bscr"; +macro2utf8["lesseqqgtr"] = "⋚"; +utf82macro["⋚"] = "lesseqqgtr"; +macro2utf8["cap"] = "∩"; +utf82macro["∩"] = "cap"; +macro2utf8["ldquo"] = "“"; +utf82macro["“"] = "ldquo"; +macro2utf8["nsubseteq"] = "⊈"; +utf82macro["⊈"] = "nsubseteq"; +macro2utf8["rhov"] = "ϱ"; +utf82macro["ϱ"] = "rhov"; +macro2utf8["xvee"] = "⋁"; +utf82macro["⋁"] = "xvee"; +macro2utf8["olarr"] = "↺"; +utf82macro["↺"] = "olarr"; +macro2utf8["nang"] = "∠̸"; +utf82macro["∠̸"] = "nang"; +macro2utf8["uwangle"] = "⦧"; +utf82macro["⦧"] = "uwangle"; +macro2utf8["nlsim"] = "≴"; +utf82macro["≴"] = "nlsim"; +macro2utf8["smt"] = "⪪"; +utf82macro["⪪"] = "smt"; +macro2utf8["nVdash"] = "⊮"; +utf82macro["⊮"] = "nVdash"; +macro2utf8["napE"] = "⩰̸"; +utf82macro["⩰̸"] = "napE"; +macro2utf8["ngeq"] = "≱"; +utf82macro["≱"] = "ngeq"; +macro2utf8["iscr"] = "𝒾"; +utf82macro["𝒾"] = "iscr"; +macro2utf8["GJcy"] = "Ѓ"; +utf82macro["Ѓ"] = "GJcy"; +macro2utf8["nges"] = "≱"; +utf82macro["≱"] = "nges"; +macro2utf8["exist"] = "∃"; +utf82macro["∃"] = "exist"; +macro2utf8["cent"] = "¢"; +utf82macro["¢"] = "cent"; +macro2utf8["oacute"] = "ó"; +utf82macro["ó"] = "oacute"; +macro2utf8["Darr"] = "↡"; +utf82macro["↡"] = "Darr"; +macro2utf8["yen"] = "¥"; +utf82macro["¥"] = "yen"; +macro2utf8["bigcirc"] = "◯"; +utf82macro["◯"] = "bigcirc"; +macro2utf8["ncy"] = "н"; +utf82macro["н"] = "ncy"; +macro2utf8["midast"] = "*"; +utf82macro["*"] = "midast"; +macro2utf8["UpperRightArrow"] = "↗"; +utf82macro["↗"] = "UpperRightArrow"; +macro2utf8["precnapprox"] = "⋨"; +utf82macro["⋨"] = "precnapprox"; +macro2utf8["OElig"] = "Œ"; +utf82macro["Œ"] = "OElig"; +macro2utf8["hybull"] = "⁃"; +utf82macro["⁃"] = "hybull"; +macro2utf8["cupbrcap"] = "⩈"; +utf82macro["⩈"] = "cupbrcap"; +macro2utf8["rationals"] = "ℚ"; +utf82macro["ℚ"] = "rationals"; +macro2utf8["VerticalTilde"] = "≀"; +utf82macro["≀"] = "VerticalTilde"; +macro2utf8["pscr"] = "𝓅"; +utf82macro["𝓅"] = "pscr"; +macro2utf8["NJcy"] = "Њ"; +utf82macro["Њ"] = "NJcy"; +macro2utf8["NotSucceedsTilde"] = "≿̸"; +utf82macro["≿̸"] = "NotSucceedsTilde"; +macro2utf8["vsupne"] = "⊋︀"; +utf82macro["⊋︀"] = "vsupne"; +macro2utf8["Updownarrow"] = "⇕"; +utf82macro["⇕"] = "Updownarrow"; +macro2utf8["Lsh"] = "↰"; +utf82macro["↰"] = "Lsh"; +macro2utf8["rAarr"] = "⇛"; +utf82macro["⇛"] = "rAarr"; +macro2utf8["precapprox"] = "≾"; +utf82macro["≾"] = "precapprox"; +macro2utf8["rsquor"] = "’"; +utf82macro["’"] = "rsquor"; +macro2utf8["pound"] = "£"; +utf82macro["£"] = "pound"; +macro2utf8["lbrksld"] = "⦏"; +utf82macro["⦏"] = "lbrksld"; +macro2utf8["gesdot"] = "⪀"; +utf82macro["⪀"] = "gesdot"; +macro2utf8["Element"] = "∈"; +utf82macro["∈"] = "Element"; +macro2utf8["xcirc"] = "◯"; +utf82macro["◯"] = "xcirc"; +macro2utf8["wscr"] = "𝓌"; +utf82macro["𝓌"] = "wscr"; +macro2utf8["toea"] = "⤨"; +utf82macro["⤨"] = "toea"; +macro2utf8["setmn"] = "∖"; +utf82macro["∖"] = "setmn"; +macro2utf8["neg"] = "¬"; +utf82macro["¬"] = "neg"; +macro2utf8["sol"] = "/"; +utf82macro["/"] = "sol"; +macro2utf8["yfr"] = "𝔶"; +utf82macro["𝔶"] = "yfr"; +macro2utf8["DoubleDownArrow"] = "⇓"; +utf82macro["⇓"] = "DoubleDownArrow"; +macro2utf8["Rarr"] = "↠"; +utf82macro["↠"] = "Rarr"; +macro2utf8["ngE"] = "≱"; +utf82macro["≱"] = "ngE"; +macro2utf8["Upsi"] = "ϒ"; +utf82macro["ϒ"] = "Upsi"; +macro2utf8["opar"] = "⦷"; +utf82macro["⦷"] = "opar"; +macro2utf8["rarrpl"] = "⥅"; +utf82macro["⥅"] = "rarrpl"; +macro2utf8["auml"] = "ä"; +utf82macro["ä"] = "auml"; +macro2utf8["bmod"] = "mod"; +utf82macro["mod"] = "bmod"; +macro2utf8["SquareSuperset"] = "⊐"; +utf82macro["⊐"] = "SquareSuperset"; +macro2utf8["neq"] = "≠"; +utf82macro["≠"] = "neq"; +macro2utf8["circleddash"] = "⊝"; +utf82macro["⊝"] = "circleddash"; +macro2utf8["xrarr"] = ""; +utf82macro[""] = "xrarr"; +macro2utf8["barwed"] = "⊼"; +utf82macro["⊼"] = "barwed"; +macro2utf8["lbrkslu"] = "⦍"; +utf82macro["⦍"] = "lbrkslu"; +macro2utf8["planckh"] = "ℎ"; +utf82macro["ℎ"] = "planckh"; +macro2utf8["ldrdhar"] = "⥧"; +utf82macro["⥧"] = "ldrdhar"; +macro2utf8["circledcirc"] = "⊚"; +utf82macro["⊚"] = "circledcirc"; +macro2utf8["ctdot"] = "⋯"; +utf82macro["⋯"] = "ctdot"; +macro2utf8["fallingdotseq"] = "≒"; +utf82macro["≒"] = "fallingdotseq"; +macro2utf8["Map"] = "⤅"; +utf82macro["⤅"] = "Map"; +macro2utf8["VerticalBar"] = "∣"; +utf82macro["∣"] = "VerticalBar"; +macro2utf8["succeq"] = "≽"; +utf82macro["≽"] = "succeq"; +macro2utf8["tint"] = "∭"; +utf82macro["∭"] = "tint"; +macro2utf8["imof"] = "⊷"; +utf82macro["⊷"] = "imof"; +macro2utf8["diam"] = "⋄"; +utf82macro["⋄"] = "diam"; +macro2utf8["twixt"] = "≬"; +utf82macro["≬"] = "twixt"; +macro2utf8["NoBreak"] = ""; +utf82macro[""] = "NoBreak"; +macro2utf8["langd"] = "⦑"; +utf82macro["⦑"] = "langd"; +macro2utf8["Bernoullis"] = "ℬ"; +utf82macro["ℬ"] = "Bernoullis"; +macro2utf8["rcaron"] = "ř"; +utf82macro["ř"] = "rcaron"; +macro2utf8["hom"] = "hom"; +utf82macro["hom"] = "hom"; +macro2utf8["nfr"] = "𝔫"; +utf82macro["𝔫"] = "nfr"; +macro2utf8["backsimeq"] = "⋍"; +utf82macro["⋍"] = "backsimeq"; +macro2utf8["target"] = "⌖"; +utf82macro["⌖"] = "target"; +macro2utf8["ouml"] = "ö"; +utf82macro["ö"] = "ouml"; +macro2utf8["nge"] = "≱⃥"; +utf82macro["≱⃥"] = "nge"; +macro2utf8["LeftTriangleBar"] = "⧏"; +utf82macro["⧏"] = "LeftTriangleBar"; +macro2utf8["subplus"] = "⪿"; +utf82macro["⪿"] = "subplus"; +macro2utf8["parsim"] = "⫳"; +utf82macro["⫳"] = "parsim"; +macro2utf8["Gcedil"] = "Ģ"; +utf82macro["Ģ"] = "Gcedil"; +macro2utf8["bnequiv"] = "≡⃥"; +utf82macro["≡⃥"] = "bnequiv"; +macro2utf8["ubreve"] = "ŭ"; +utf82macro["ŭ"] = "ubreve"; +macro2utf8["iexcl"] = "¡"; +utf82macro["¡"] = "iexcl"; +macro2utf8["Xi"] = "Ξ"; +utf82macro["Ξ"] = "Xi"; +macro2utf8["omega"] = "ω"; +utf82macro["ω"] = "omega"; +macro2utf8["elsdot"] = "⪗"; +utf82macro["⪗"] = "elsdot"; +macro2utf8["propto"] = "∝"; +utf82macro["∝"] = "propto"; +macro2utf8["squ"] = "□"; +utf82macro["□"] = "squ"; +macro2utf8["Ycirc"] = "Ŷ"; +utf82macro["Ŷ"] = "Ycirc"; +macro2utf8["amacr"] = "ā"; +utf82macro["ā"] = "amacr"; +macro2utf8["curlyeqprec"] = "⋞"; +utf82macro["⋞"] = "curlyeqprec"; +macro2utf8["ngt"] = "≯"; +utf82macro["≯"] = "ngt"; +macro2utf8["plusdo"] = "∔"; +utf82macro["∔"] = "plusdo"; +macro2utf8["ngeqslant"] = "≱"; +utf82macro["≱"] = "ngeqslant"; +macro2utf8["LongRightArrow"] = ""; +utf82macro[""] = "LongRightArrow"; +macro2utf8["LeftUpVector"] = "↿"; +utf82macro["↿"] = "LeftUpVector"; +macro2utf8["asymp"] = "≍"; +utf82macro["≍"] = "asymp"; +macro2utf8["imped"] = "𝕃"; +utf82macro["𝕃"] = "imped"; +macro2utf8["tritime"] = "⨻"; +utf82macro["⨻"] = "tritime"; +macro2utf8["rpargt"] = "⦔"; +utf82macro["⦔"] = "rpargt"; +macro2utf8["DDotrahd"] = "⤑"; +utf82macro["⤑"] = "DDotrahd"; +macro2utf8["prnsim"] = "⋨"; +utf82macro["⋨"] = "prnsim"; +macro2utf8["plusdu"] = "⨥"; +utf82macro["⨥"] = "plusdu"; +macro2utf8["cfr"] = "𝔠"; +utf82macro["𝔠"] = "cfr"; +macro2utf8["abreve"] = "ă"; +utf82macro["ă"] = "abreve"; +macro2utf8["suphsol"] = "⊃/"; +utf82macro["⊃/"] = "suphsol"; +macro2utf8["NegativeThickSpace"] = " ︀"; +utf82macro[" ︀"] = "NegativeThickSpace"; +macro2utf8["Mcy"] = "М"; +utf82macro["М"] = "Mcy"; +macro2utf8["uarr"] = "↑"; +utf82macro["↑"] = "uarr"; +macro2utf8["LeftRightVector"] = "⥎"; +utf82macro["⥎"] = "LeftRightVector"; +macro2utf8["lAarr"] = "⇚"; +utf82macro["⇚"] = "lAarr"; +macro2utf8["bsim"] = "∽"; +utf82macro["∽"] = "bsim"; +macro2utf8["simrarr"] = "⥲"; +utf82macro["⥲"] = "simrarr"; +macro2utf8["otimes"] = "⊗"; +utf82macro["⊗"] = "otimes"; +macro2utf8["NotSucceeds"] = "⊁"; +utf82macro["⊁"] = "NotSucceeds"; +macro2utf8["Cross"] = "⨯"; +utf82macro["⨯"] = "Cross"; +macro2utf8["downarrow"] = "↓"; +utf82macro["↓"] = "downarrow"; +macro2utf8["blacktriangle"] = "▴"; +utf82macro["▴"] = "blacktriangle"; +macro2utf8["TripleDot"] = "⃛"; +utf82macro["⃛"] = "TripleDot"; +macro2utf8["smallsetminus"] = "∖︀"; +utf82macro["∖︀"] = "smallsetminus"; +macro2utf8["supedot"] = "⫄"; +utf82macro["⫄"] = "supedot"; +macro2utf8["NotPrecedesSlantEqual"] = "⋠"; +utf82macro["⋠"] = "NotPrecedesSlantEqual"; +macro2utf8["neArr"] = "⇗"; +utf82macro["⇗"] = "neArr"; +macro2utf8["rarrtl"] = "↣"; +utf82macro["↣"] = "rarrtl"; +macro2utf8["isin"] = "∈"; +utf82macro["∈"] = "isin"; +macro2utf8["rrarr"] = "⇉"; +utf82macro["⇉"] = "rrarr"; +macro2utf8["Upsilon"] = "ϒ"; +utf82macro["ϒ"] = "Upsilon"; +macro2utf8["sqsub"] = "⊏"; +utf82macro["⊏"] = "sqsub"; +macro2utf8["boxUL"] = "╝"; +utf82macro["╝"] = "boxUL"; +macro2utf8["LessTilde"] = "≲"; +utf82macro["≲"] = "LessTilde"; +macro2utf8["Xfr"] = "𝔛"; +utf82macro["𝔛"] = "Xfr"; +macro2utf8["nis"] = "⋼"; +utf82macro["⋼"] = "nis"; +macro2utf8["chi"] = "χ"; +utf82macro["χ"] = "chi"; +macro2utf8["DownRightVector"] = "⇁"; +utf82macro["⇁"] = "DownRightVector"; +macro2utf8["niv"] = "∋"; +utf82macro["∋"] = "niv"; +macro2utf8["boxUR"] = "╚"; +utf82macro["╚"] = "boxUR"; +macro2utf8["nlArr"] = "⇍"; +utf82macro["⇍"] = "nlArr"; +macro2utf8["Bcy"] = "Б"; +utf82macro["Б"] = "Bcy"; +macro2utf8["tan"] = "tan"; +utf82macro["tan"] = "tan"; +macro2utf8["EmptyVerySmallSquare"] = ""; +utf82macro[""] = "EmptyVerySmallSquare"; +macro2utf8["dstrok"] = "đ"; +utf82macro["đ"] = "dstrok"; +macro2utf8["rfisht"] = "⥽"; +utf82macro["⥽"] = "rfisht"; +macro2utf8["easter"] = "≛"; +utf82macro["≛"] = "easter"; +macro2utf8["nlE"] = "≰"; +utf82macro["≰"] = "nlE"; +macro2utf8["Mellintrf"] = "ℳ"; +utf82macro["ℳ"] = "Mellintrf"; +macro2utf8["lotimes"] = "⨴"; +utf82macro["⨴"] = "lotimes"; +macro2utf8["sqsup"] = "⊐"; +utf82macro["⊐"] = "sqsup"; +macro2utf8["boxVH"] = "╬"; +utf82macro["╬"] = "boxVH"; +macro2utf8["bbrk"] = "⎵"; +utf82macro["⎵"] = "bbrk"; +macro2utf8["tau"] = "τ"; +utf82macro["τ"] = "tau"; +macro2utf8["UpTee"] = "⊥"; +utf82macro["⊥"] = "UpTee"; +macro2utf8["NotLeftTriangleBar"] = "⧏̸"; +utf82macro["⧏̸"] = "NotLeftTriangleBar"; +macro2utf8["boxVL"] = "╣"; +utf82macro["╣"] = "boxVL"; +macro2utf8["Proportion"] = "∷"; +utf82macro["∷"] = "Proportion"; +macro2utf8["equiv"] = "≡"; +utf82macro["≡"] = "equiv"; +macro2utf8["blk12"] = "▒"; +utf82macro["▒"] = "blk12"; +macro2utf8["blk14"] = "░"; +utf82macro["░"] = "blk14"; +macro2utf8["fpartint"] = "⨍"; +utf82macro["⨍"] = "fpartint"; +macro2utf8["boxVR"] = "╠"; +utf82macro["╠"] = "boxVR"; +macro2utf8["starf"] = "★"; +utf82macro["★"] = "starf"; +macro2utf8["risingdotseq"] = "≓"; +utf82macro["≓"] = "risingdotseq"; +macro2utf8["Equilibrium"] = "⇌"; +utf82macro["⇌"] = "Equilibrium"; +macro2utf8["ijlig"] = "ij"; +utf82macro["ij"] = "ijlig"; +macro2utf8["yicy"] = "ї"; +utf82macro["ї"] = "yicy"; +macro2utf8["sum"] = "∑"; +utf82macro["∑"] = "sum"; +macro2utf8["cir"] = "○"; +utf82macro["○"] = "cir"; +macro2utf8["telrec"] = "⌕"; +utf82macro["⌕"] = "telrec"; +macro2utf8["Mfr"] = "𝔐"; +utf82macro["𝔐"] = "Mfr"; +macro2utf8["dHar"] = "⥥"; +utf82macro["⥥"] = "dHar"; +macro2utf8["boxUl"] = "╜"; +utf82macro["╜"] = "boxUl"; +macro2utf8["apid"] = "≋"; +utf82macro["≋"] = "apid"; +macro2utf8["nleftarrow"] = "↚"; +utf82macro["↚"] = "nleftarrow"; +macro2utf8["curarrm"] = "⤼"; +utf82macro["⤼"] = "curarrm"; +macro2utf8["Scirc"] = "Ŝ"; +utf82macro["Ŝ"] = "Scirc"; +macro2utf8["Copf"] = "ℂ"; +utf82macro["ℂ"] = "Copf"; +macro2utf8["RightTriangleEqual"] = "⊵"; +utf82macro["⊵"] = "RightTriangleEqual"; +macro2utf8["boxUr"] = "╙"; +utf82macro["╙"] = "boxUr"; +macro2utf8["loplus"] = "⨭"; +utf82macro["⨭"] = "loplus"; +macro2utf8["varsupsetneq"] = "⊋︀"; +utf82macro["⊋︀"] = "varsupsetneq"; +macro2utf8["scaron"] = "š"; +utf82macro["š"] = "scaron"; +macro2utf8["Diamond"] = "⋄"; +utf82macro["⋄"] = "Diamond"; +macro2utf8["lowast"] = "∗"; +utf82macro["∗"] = "lowast"; +macro2utf8["nle"] = "≰⃥"; +utf82macro["≰⃥"] = "nle"; +macro2utf8["phiv"] = "ϕ"; +utf82macro["ϕ"] = "phiv"; +macro2utf8["gesdotol"] = "⪄"; +utf82macro["⪄"] = "gesdotol"; +macro2utf8["boxVh"] = "╫"; +utf82macro["╫"] = "boxVh"; +macro2utf8["nleftrightarrow"] = "↮"; +utf82macro["↮"] = "nleftrightarrow"; +macro2utf8["Jopf"] = "𝕁"; +utf82macro["𝕁"] = "Jopf"; +macro2utf8["boxVl"] = "╢"; +utf82macro["╢"] = "boxVl"; +macro2utf8["nearhk"] = "⤤"; +utf82macro["⤤"] = "nearhk"; +macro2utf8["vBarv"] = "⫩"; +utf82macro["⫩"] = "vBarv"; +macro2utf8["rHar"] = "⥤"; +utf82macro["⥤"] = "rHar"; +macro2utf8["boxVr"] = "╟"; +utf82macro["╟"] = "boxVr"; +macro2utf8["lessdot"] = "⋖"; +utf82macro["⋖"] = "lessdot"; +macro2utf8["LeftDoubleBracket"] = "〚"; +utf82macro["〚"] = "LeftDoubleBracket"; +macro2utf8["Delta"] = "Δ"; +utf82macro["Δ"] = "Delta"; +macro2utf8["limsup"] = "limsup"; +utf82macro["limsup"] = "limsup"; +macro2utf8["tcy"] = "т"; +utf82macro["т"] = "tcy"; +macro2utf8["nlt"] = "≮"; +utf82macro["≮"] = "nlt"; +macro2utf8["Cdot"] = "Ċ"; +utf82macro["Ċ"] = "Cdot"; +macro2utf8["blk34"] = "▓"; +utf82macro["▓"] = "blk34"; +macro2utf8["Bfr"] = "𝔅"; +utf82macro["𝔅"] = "Bfr"; +macro2utf8["lowbar"] = "_"; +utf82macro["_"] = "lowbar"; +macro2utf8["lneqq"] = "≨"; +utf82macro["≨"] = "lneqq"; +macro2utf8["TildeEqual"] = "≃"; +utf82macro["≃"] = "TildeEqual"; +macro2utf8["shortmid"] = "∣︀"; +utf82macro["∣︀"] = "shortmid"; +macro2utf8["Qopf"] = "ℚ"; +utf82macro["ℚ"] = "Qopf"; +macro2utf8["drcorn"] = "⌟"; +utf82macro["⌟"] = "drcorn"; +macro2utf8["ZeroWidthSpace"] = "​"; +utf82macro["​"] = "ZeroWidthSpace"; +macro2utf8["aogon"] = "ą"; +utf82macro["ą"] = "aogon"; +macro2utf8["Rsh"] = "↱"; +utf82macro["↱"] = "Rsh"; +macro2utf8["lrarr"] = "⇆"; +utf82macro["⇆"] = "lrarr"; +macro2utf8["cupdot"] = "⊍"; +utf82macro["⊍"] = "cupdot"; +macro2utf8["Xopf"] = "𝕏"; +utf82macro["𝕏"] = "Xopf"; +macro2utf8["Backslash"] = "∖"; +utf82macro["∖"] = "Backslash"; +macro2utf8["Union"] = "⋃"; +utf82macro["⋃"] = "Union"; +macro2utf8["ratio"] = "∶"; +utf82macro["∶"] = "ratio"; +macro2utf8["duarr"] = "⇵"; +utf82macro["⇵"] = "duarr"; +macro2utf8["lates"] = "⪭︀"; +utf82macro["⪭︀"] = "lates"; +macro2utf8["suphsub"] = "⫗"; +utf82macro["⫗"] = "suphsub"; +macro2utf8["squf"] = "▪"; +utf82macro["▪"] = "squf"; +macro2utf8["gamma"] = "γ"; +utf82macro["γ"] = "gamma"; +macro2utf8["lrhard"] = "⥭"; +utf82macro["⥭"] = "lrhard"; +macro2utf8["intprod"] = "⨼"; +utf82macro["⨼"] = "intprod"; +macro2utf8["ReverseUpEquilibrium"] = "⥯"; +utf82macro["⥯"] = "ReverseUpEquilibrium"; +macro2utf8["icy"] = "и"; +utf82macro["и"] = "icy"; +macro2utf8["quatint"] = "⨖"; +utf82macro["⨖"] = "quatint"; +macro2utf8["nbump"] = "≎̸"; +utf82macro["≎̸"] = "nbump"; +macro2utf8["downharpoonleft"] = "⇃"; +utf82macro["⇃"] = "downharpoonleft"; +macro2utf8["otimesas"] = "⨶"; +utf82macro["⨶"] = "otimesas"; +macro2utf8["nvHarr"] = "⇎"; +utf82macro["⇎"] = "nvHarr"; +macro2utf8["ContourIntegral"] = "∮"; +utf82macro["∮"] = "ContourIntegral"; +macro2utf8["bsol"] = "\\"; +utf82macro["\\"] = "bsol"; +macro2utf8["DoubleUpDownArrow"] = "⇕"; +utf82macro["⇕"] = "DoubleUpDownArrow"; +macro2utf8["disin"] = "⋲"; +utf82macro["⋲"] = "disin"; +macro2utf8["Breve"] = "˘"; +utf82macro["˘"] = "Breve"; +macro2utf8["YAcy"] = "Я"; +utf82macro["Я"] = "YAcy"; +macro2utf8["precsim"] = "≾"; +utf82macro["≾"] = "precsim"; +macro2utf8["NotGreaterGreater"] = "≫̸︀"; +utf82macro["≫̸︀"] = "NotGreaterGreater"; +macro2utf8["fopf"] = "𝕗"; +utf82macro["𝕗"] = "fopf"; +macro2utf8["SquareSupersetEqual"] = "⊒"; +utf82macro["⊒"] = "SquareSupersetEqual"; +macro2utf8["Dscr"] = "𝒟"; +utf82macro["𝒟"] = "Dscr"; +macro2utf8["gsime"] = "⪎"; +utf82macro["⪎"] = "gsime"; +macro2utf8["PartialD"] = "∂"; +utf82macro["∂"] = "PartialD"; +macro2utf8["Umacr"] = "Ū"; +utf82macro["Ū"] = "Umacr"; +macro2utf8["tfr"] = "𝔱"; +utf82macro["𝔱"] = "tfr"; +macro2utf8["cularrp"] = "⤽"; +utf82macro["⤽"] = "cularrp"; +macro2utf8["UnderBracket"] = "⎵"; +utf82macro["⎵"] = "UnderBracket"; +macro2utf8["ugrave"] = "ù"; +utf82macro["ù"] = "ugrave"; +macro2utf8["mopf"] = "𝕞"; +utf82macro["𝕞"] = "mopf"; +macro2utf8["gsiml"] = "⪐"; +utf82macro["⪐"] = "gsiml"; +macro2utf8["iquest"] = "¿"; +utf82macro["¿"] = "iquest"; +macro2utf8["nmid"] = "∤"; +utf82macro["∤"] = "nmid"; +macro2utf8["leftarrowtail"] = "↢"; +utf82macro["↢"] = "leftarrowtail"; +macro2utf8["not"] = "¬"; +utf82macro["¬"] = "not"; +macro2utf8["Kscr"] = "𝒦"; +utf82macro["𝒦"] = "Kscr"; +macro2utf8["xsqcup"] = "⊔"; +utf82macro["⊔"] = "xsqcup"; +macro2utf8["triangleleft"] = "◃"; +utf82macro["◃"] = "triangleleft"; +macro2utf8["amalg"] = "⨿"; +utf82macro["⨿"] = "amalg"; +macro2utf8["prcue"] = "≼"; +utf82macro["≼"] = "prcue"; +macro2utf8["ac"] = "⤏"; +utf82macro["⤏"] = "ac"; +macro2utf8["nharr"] = "↮"; +utf82macro["↮"] = "nharr"; +macro2utf8["dzcy"] = "џ"; +utf82macro["џ"] = "dzcy"; +macro2utf8["topf"] = "𝕥"; +utf82macro["𝕥"] = "topf"; +macro2utf8["iff"] = "⇔"; +utf82macro["⇔"] = "iff"; +macro2utf8["af"] = "⁡"; +utf82macro["⁡"] = "af"; +macro2utf8["Uparrow"] = "⇑"; +utf82macro["⇑"] = "Uparrow"; +macro2utf8["Iacute"] = "Í"; +utf82macro["Í"] = "Iacute"; +macro2utf8["Rscr"] = "ℛ"; +utf82macro["ℛ"] = "Rscr"; +macro2utf8["vrtri"] = "⊳"; +utf82macro["⊳"] = "vrtri"; +macro2utf8["multimap"] = "⊸"; +utf82macro["⊸"] = "multimap"; +macro2utf8["Hat"] = "̂"; +utf82macro["̂"] = "Hat"; +macro2utf8["rtriltri"] = "⧎"; +utf82macro["⧎"] = "rtriltri"; +macro2utf8["npr"] = "⊀"; +utf82macro["⊀"] = "npr"; +macro2utf8["agrave"] = "à"; +utf82macro["à"] = "agrave"; +macro2utf8["UnderBar"] = "̲"; +utf82macro["̲"] = "UnderBar"; +macro2utf8["prime"] = "′"; +utf82macro["′"] = "prime"; +macro2utf8["plusmn"] = "±"; +utf82macro["±"] = "plusmn"; +macro2utf8["eplus"] = "⩱"; +utf82macro["⩱"] = "eplus"; +macro2utf8["ap"] = "≈"; +utf82macro["≈"] = "ap"; +macro2utf8["dlcorn"] = "⌞"; +utf82macro["⌞"] = "dlcorn"; +macro2utf8["backsim"] = "∽"; +utf82macro["∽"] = "backsim"; +macro2utf8["ifr"] = "𝔦"; +utf82macro["𝔦"] = "ifr"; +macro2utf8["bigcup"] = "⋃"; +utf82macro["⋃"] = "bigcup"; +macro2utf8["tcaron"] = "ť"; +utf82macro["ť"] = "tcaron"; +macro2utf8["sqcaps"] = "⊓︀"; +utf82macro["⊓︀"] = "sqcaps"; +macro2utf8["equals"] = "="; +utf82macro["="] = "equals"; +macro2utf8["curlywedge"] = "⋏"; +utf82macro["⋏"] = "curlywedge"; +macro2utf8["Yscr"] = "𝒴"; +utf82macro["𝒴"] = "Yscr"; +macro2utf8["longrightarrow"] = "????"; +utf82macro["????"] = "longrightarrow"; +macro2utf8["fork"] = "⋔"; +utf82macro["⋔"] = "fork"; +macro2utf8["cos"] = "cos"; +utf82macro["cos"] = "cos"; +macro2utf8["cot"] = "cot"; +utf82macro["cot"] = "cot"; +macro2utf8["ImaginaryI"] = "ⅈ"; +utf82macro["ⅈ"] = "ImaginaryI"; +macro2utf8["Scy"] = "С"; +utf82macro["С"] = "Scy"; +macro2utf8["mapsto"] = "↦"; +utf82macro["↦"] = "mapsto"; +macro2utf8["tdot"] = "⃛"; +utf82macro["⃛"] = "tdot"; +macro2utf8["vellip"] = "⋮"; +utf82macro["⋮"] = "vellip"; +macro2utf8["sqsupseteq"] = "⊒"; +utf82macro["⊒"] = "sqsupseteq"; +macro2utf8["nvdash"] = "⊬"; +utf82macro["⊬"] = "nvdash"; +macro2utf8["NotSuperset"] = "⊅"; +utf82macro["⊅"] = "NotSuperset"; +macro2utf8["DoubleUpArrow"] = "⇑"; +utf82macro["⇑"] = "DoubleUpArrow"; +macro2utf8["land"] = "∧"; +utf82macro["∧"] = "land"; +macro2utf8["topfork"] = "⫚"; +utf82macro["⫚"] = "topfork"; +macro2utf8["llhard"] = "⥫"; +utf82macro["⥫"] = "llhard"; +macro2utf8["apos"] = "'"; +utf82macro["'"] = "apos"; +macro2utf8["oslash"] = "ø"; +utf82macro["ø"] = "oslash"; +macro2utf8["lang"] = "〈"; +utf82macro["〈"] = "lang"; +macro2utf8["bernou"] = "ℬ"; +utf82macro["ℬ"] = "bernou"; +macro2utf8["varrho"] = "ϱ"; +utf82macro["ϱ"] = "varrho"; +macro2utf8["rcub"] = "}"; +utf82macro["}"] = "rcub"; +macro2utf8["Cedilla"] = "¸"; +utf82macro["¸"] = "Cedilla"; +macro2utf8["ApplyFunction"] = "⁡"; +utf82macro["⁡"] = "ApplyFunction"; +macro2utf8["nsce"] = "⪰̸"; +utf82macro["⪰̸"] = "nsce"; +macro2utf8["gscr"] = "ℊ"; +utf82macro["ℊ"] = "gscr"; +macro2utf8["imagpart"] = "ℑ"; +utf82macro["ℑ"] = "imagpart"; +macro2utf8["ngtr"] = "≯"; +utf82macro["≯"] = "ngtr"; +macro2utf8["nsc"] = "⊁"; +utf82macro["⊁"] = "nsc"; +macro2utf8["Barv"] = "⫧"; +utf82macro["⫧"] = "Barv"; +macro2utf8["tosa"] = "⤩"; +utf82macro["⤩"] = "tosa"; +macro2utf8["nwnear"] = "⤧"; +utf82macro["⤧"] = "nwnear"; +macro2utf8["ltlarr"] = "⥶"; +utf82macro["⥶"] = "ltlarr"; +macro2utf8["PrecedesEqual"] = "⪯"; +utf82macro["⪯"] = "PrecedesEqual"; +macro2utf8["lessapprox"] = "≲"; +utf82macro["≲"] = "lessapprox"; +macro2utf8["Lcaron"] = "Ľ"; +utf82macro["Ľ"] = "Lcaron"; diff --git a/matitaB/matita/matitaAuthentication.ml b/matitaB/matita/matitaAuthentication.ml index a3704ee4e..4eff42e4c 100644 --- a/matitaB/matita/matitaAuthentication.ml +++ b/matitaB/matita/matitaAuthentication.ml @@ -32,65 +32,92 @@ type user = string * (string * string * session_id option) let user_tbl = (ref [] : user list ref) -(* session table: session id, (user id, matita status, matita history *) -type session = session_id * (string * MatitaEngine.status * MatitaEngine.status list) +(* low users can't commit or update *) +let luser_tbl = (ref [] : user list ref) + +(* session table: session id, (user id, matita status, matita history, commit privileges *) +type session = session_id * (string * MatitaEngine.status * MatitaEngine.status list * bool) let session_tbl = (ref [] : session list ref) exception UsernameCollision of string exception InvalidPassword -let lookup_user uid = List.assoc uid !user_tbl +(* returns user entry and privileges *) +let lookup_user uid = + try List.assoc uid !user_tbl, true + with Not_found -> List.assoc uid !luser_tbl, false + +let user_of_session sid = let res,_,_,_ = List.assoc sid !session_tbl in res -let user_of_session sid = let res,_,_ = List.assoc sid !session_tbl in res +(* disable for debugging *) +let prerr_endline _ = () +(* used for commits, so lusers are excluded *) let get_users () = List.map fst !user_tbl let create_session uid = let status = new MatitaEngine.status (Some uid) "cic:/matita" in let history = [status] in - let salt,pw,sid = List.assoc uid !user_tbl in - let clean_utbl = List.remove_assoc uid !user_tbl in + let (salt,pw,sid),cp = lookup_user uid in let new_session = Uuidm.create `V4 in - user_tbl := (uid,(salt,pw,Some new_session))::clean_utbl; + (if cp then + let clean_utbl = List.remove_assoc uid !user_tbl in + user_tbl := (uid,(salt,pw,Some new_session))::clean_utbl + else + let clean_lutbl = List.remove_assoc uid !luser_tbl in + luser_tbl := (uid,(salt,pw,Some new_session))::clean_lutbl); let clean_stbl = match sid with | Some sid' -> List.remove_assoc sid' !session_tbl | _ -> !session_tbl in - session_tbl := (new_session,(uid,status,history))::clean_stbl; + session_tbl := (new_session,(uid,status,history,cp))::clean_stbl; new_session ;; let get_session_owner sid = - let uid,_,_ = List.assoc sid !session_tbl + let uid,_,_,_ = List.assoc sid !session_tbl in uid let get_status sid = - let _,st,_ = List.assoc sid !session_tbl + let _,st,_,_ = List.assoc sid !session_tbl in st let get_history sid = - let _,_,hist = List.assoc sid !session_tbl + let _,_,hist,_ = List.assoc sid !session_tbl in hist +let get_commit_priv sid = + let _,_,_,cp = List.assoc sid !session_tbl + in cp + +let probe_commit_priv sid = + let _,_,_,cp = List.assoc sid !session_tbl in + if not cp then failwith "no commit privileges" + let set_status sid st = - let uid, oldst, hist = List.assoc sid !session_tbl in - session_tbl := (sid,(uid,st,hist))::(List.remove_assoc sid !session_tbl) + let uid, oldst, hist, cp = List.assoc sid !session_tbl in + session_tbl := (sid,(uid,st,hist,cp))::(List.remove_assoc sid !session_tbl) let set_history sid hist = - let uid, st, oldhist = List.assoc sid !session_tbl in - session_tbl := (sid,(uid,st,hist))::(List.remove_assoc sid !session_tbl) + let uid, st, oldhist, cp = List.assoc sid !session_tbl in + session_tbl := (sid,(uid,st,hist,cp))::(List.remove_assoc sid !session_tbl) let logout_user sid = - let uid,st,hist = List.assoc sid !session_tbl in - let salt,pw,_ = List.assoc uid !user_tbl in - user_tbl := (uid,(salt,pw,None))::List.remove_assoc uid !user_tbl; + let uid,st,hist,cp = List.assoc sid !session_tbl in + (if cp then + let salt,pw,_ = List.assoc uid !user_tbl in + user_tbl := (uid,(salt,pw,None))::List.remove_assoc uid !user_tbl + else + let salt,pw,_ = List.assoc uid !luser_tbl in + luser_tbl := (uid,(salt,pw,None))::List.remove_assoc uid !luser_tbl); session_tbl := List.remove_assoc sid !session_tbl ;; let remove_user uid = - user_tbl := List.remove_assoc uid !user_tbl + user_tbl := List.remove_assoc uid !user_tbl; + luser_tbl := List.remove_assoc uid !luser_tbl ;; (* serialization and deserialization of the user table *) @@ -103,9 +130,13 @@ let config_path () = let serialize () = let clean_utbl = List.map (fun (uid,(salt,pw,_)) -> uid,(salt,pw,None)) !user_tbl in + let clean_lutbl = List.map (fun (uid,(salt,pw,_)) -> uid,(salt,pw,None)) !luser_tbl in let utbl_ch = open_out (config_path () ^ "/usertable.dump") in Marshal.to_channel utbl_ch clean_utbl []; close_out utbl_ch; + let lutbl_ch = open_out (config_path () ^ "/lusertable.dump") in + Marshal.to_channel lutbl_ch clean_lutbl []; + close_out lutbl_ch ;; let deserialize () = @@ -116,6 +147,13 @@ let deserialize () = with | Sys_error _ -> user_tbl := []; serialize()); + (try + let lutbl_ch = open_in (config_path () ^ "/lusertable.dump") in + luser_tbl := Marshal.from_channel lutbl_ch; + close_in lutbl_ch; + with + | Sys_error _ -> + luser_tbl := []; serialize()); (* old_sessions are now invalid *) session_tbl := []; ;; @@ -152,7 +190,7 @@ let set_file_flag uid files_flags = write_ft uid (ft'@ft) ;; -let add_user uid pw = +let add_user uid pw cp = try let _ = lookup_user uid in raise (UsernameCollision uid) @@ -163,12 +201,15 @@ let add_user uid pw = let sha256 = Cryptokit.Hash.sha256 () in sha256#add_string (salt ^ pw); let crypto_pw = sha256#result in - user_tbl := (uid,(salt,crypto_pw,None))::!user_tbl; + (if cp then + user_tbl := (uid,(salt,crypto_pw,None))::!user_tbl + else + luser_tbl := (uid,(salt,crypto_pw,None))::!luser_tbl); write_ft uid ft; serialize () ;; -let add_user_no_checkout uid pw = +let add_user_no_checkout uid pw cp = try let _ = lookup_user uid in raise (UsernameCollision uid) @@ -179,13 +220,16 @@ let add_user_no_checkout uid pw = sha256#add_string (salt ^ pw); let crypto_pw = sha256#result in sha256#wipe; - user_tbl := (uid,(salt,crypto_pw,None))::!user_tbl; + (if cp then + user_tbl := (uid,(salt,crypto_pw,None))::!user_tbl + else + luser_tbl := (uid,(salt,crypto_pw,None))::!luser_tbl); serialize () ;; let check_pw uid pw = try - let salt,crypto_pw,_ = lookup_user uid in + let (salt,crypto_pw,_),_ = lookup_user uid in let sha256 = Cryptokit.Hash.sha256 () in sha256#add_string (salt ^ pw); let computed_pw = sha256#result in @@ -197,6 +241,7 @@ let check_pw uid pw = let reset () = user_tbl := []; + luser_tbl := []; session_tbl := []; MatitaFilesystem.reset_lib (); serialize (); diff --git a/matitaB/matita/matitaAuthentication.mli b/matitaB/matita/matitaAuthentication.mli index d2b1f5910..d1f839df2 100644 --- a/matitaB/matita/matitaAuthentication.mli +++ b/matitaB/matita/matitaAuthentication.mli @@ -28,7 +28,7 @@ type session_id = Uuidm.t exception UsernameCollision of string exception InvalidPassword -val lookup_user : string -> (string * string * session_id option) +val lookup_user : string -> (string * string * session_id option) * bool val user_of_session : session_id -> string @@ -42,6 +42,10 @@ val get_status : session_id -> MatitaEngine.status val get_history : session_id -> MatitaEngine.status list +val get_commit_priv : session_id -> bool + +val probe_commit_priv : session_id -> unit + val set_status : session_id -> MatitaEngine.status -> unit val set_history : session_id -> MatitaEngine.status list -> unit @@ -61,9 +65,9 @@ val write_ft : string -> (string * MatitaFilesystem.matita_flag) list -> unit val set_file_flag : string -> (string * MatitaFilesystem.matita_flag option) list -> unit -val add_user : string -> string -> unit +val add_user : string -> string -> bool -> unit -val add_user_no_checkout : string -> string -> unit +val add_user_no_checkout : string -> string -> bool -> unit val check_pw : string -> string -> unit diff --git a/matitaB/matita/matitaFilesystem.ml b/matitaB/matita/matitaFilesystem.ml index 1ea3cbb94..5d53a9c3e 100644 --- a/matitaB/matita/matitaFilesystem.ml +++ b/matitaB/matita/matitaFilesystem.ml @@ -25,6 +25,9 @@ exception SvnError of string;; +(* disable for debugging *) +let prerr_endline _ = () + let exec_process cmd = let (stdout, stdin, stderr) as chs = Unix.open_process_full cmd [||] in let outlines = ref [] in @@ -174,7 +177,10 @@ let checkout user = let rt_dir = Helm_registry.get "matita.rt_base_dir" in let repo = Helm_registry.get "matita.weblib" in - let errno, outlines, errlines = exec_process + let errno, outlines, errlines = + prerr_endline + ("svn co --non-interactive " ^ repo ^ " " ^ rt_dir ^ "/users/" ^ user ^ "/"); + exec_process ("svn co --non-interactive " ^ repo ^ " " ^ rt_dir ^ "/users/" ^ user ^ "/") in let files, anomalies = diff --git a/matitaB/matita/matitaInit.ml b/matitaB/matita/matitaInit.ml index 6307c5f69..7c5ab70a7 100644 --- a/matitaB/matita/matitaInit.ml +++ b/matitaB/matita/matitaInit.ml @@ -274,7 +274,8 @@ let initialize_all () = status := List.fold_left (fun s f -> f s) !status (conf_components @ other_components); - NCicLibrary.init () + (* library for single user mode *) + NCicLibrary.init None let parse_cmdline_and_configuration_file () = status := List.fold_left (fun s f -> f s) !status conf_components diff --git a/matitaB/matita/matitadaemon.ml b/matitaB/matita/matitadaemon.ml index 081ce3165..0c0f6cefd 100644 --- a/matitaB/matita/matitadaemon.ml +++ b/matitaB/matita/matitadaemon.ml @@ -6,6 +6,9 @@ exception Disamb_error of string module Stack = Continuationals.Stack +(* disable for debug *) +let prerr_endline _ = () + let rt_path () = Helm_registry.get "matita.rt_base_dir" let libdir uid = (rt_path ()) ^ "/users/" ^ uid @@ -200,8 +203,8 @@ let eval_statement include_paths (* (buffer : GText.buffer) *) status (* script Printf.sprintf "\005A href=\"%s\"\006%s\005/A\006" (NReference.string_of_reference r) (NCicPp.r2s status true r) in - if trace = [] then "{}" - else String.concat ", " + (*if trace = [] then "{}" + else*) String.concat ", " (HExtlib.filter_map (function | NotationPt.NRef r -> Some (href r) | _ -> None) @@ -345,8 +348,7 @@ let load_doc filename outchan = Http_daemon.respond ~headers:["Content-Type", contenttype] ~code:(`Code 200) ~body:s outchan ;; -let retrieve (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = - let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in +let retrieve (cgi : Netcgi.cgi_activation) = let env = cgi#environment in (try let sid = Uuidm.of_string (Netcgi.Cookie.value (env#cookie "session")) in @@ -445,33 +447,54 @@ let advance0 sid text = let history = MatitaAuthentication.get_history sid in let status = status#reset_disambiguate_db () in let (st,new_statements,new_unparsed),parsed_len = - try - eval_statement !include_paths (*buffer*) status (`Raw text) - with - | HExtlib.Localized (floc,e) as exn -> + let rec do_exc = function + | HExtlib.Localized (floc,e) -> let x, y = HExtlib.loc_of_floc floc in - prerr_endline (Printf.sprintf "ustring_sub caso 2: (%d,%d) parsed=%s" 0 x text); let pre = Netconversion.ustring_sub `Enc_utf8 0 x text in - prerr_endline (Printf.sprintf "ustring_sub caso 3: (%d,%d) parsed=%s" x (y-x) text); let err = Netconversion.ustring_sub `Enc_utf8 x (y-x) text in - prerr_endline (Printf.sprintf "ustring_sub caso 4: (%d,%d) parsed=%s" y (Netconversion.ustring_length `Enc_utf8 text - y) text); let post = Netconversion.ustring_sub `Enc_utf8 y (Netconversion.ustring_length `Enc_utf8 text - y) text in - let _,title = MatitaExcPp.to_string exn in + let _,title = MatitaExcPp.to_string e in (* let title = "" in *) let marked = pre ^ "\005span class=\"error\" title=\"" ^ title ^ "\"\006" ^ err ^ "\005/span\006" ^ post in let marked = Netencoding.Html.encode ~in_enc:`Enc_utf8 ~prefer_name:false () (html_of_matita marked) in - raise (Emphasized_error marked) + raise (Emphasized_error marked) + | Disambiguate.NoWellTypedInterpretation (floc,e) -> + let x, y = HExtlib.loc_of_floc floc in + let pre = Netconversion.ustring_sub `Enc_utf8 0 x text in + let err = Netconversion.ustring_sub `Enc_utf8 x (y-x) text in + let post = Netconversion.ustring_sub `Enc_utf8 y + (Netconversion.ustring_length `Enc_utf8 text - y) text in + (*let _,title = MatitaExcPp.to_string e in*) + (* let title = "" in *) + let marked = + pre ^ "\005span class=\"error\" title=\"" ^ e ^ "\"\006" ^ err ^ "\005/span\006" ^ post in + let marked = Netencoding.Html.encode ~in_enc:`Enc_utf8 ~prefer_name:false + () (html_of_matita marked) in + raise (Emphasized_error marked) + | NCicRefiner.Uncertain m as exn -> + let floc, e = Lazy.force m in + let x, y = HExtlib.loc_of_floc floc in + let pre = Netconversion.ustring_sub `Enc_utf8 0 x text in + let err = Netconversion.ustring_sub `Enc_utf8 x (y-x) text in + let post = Netconversion.ustring_sub `Enc_utf8 y + (Netconversion.ustring_length `Enc_utf8 text - y) text in + (* let _,title = MatitaExcPp.to_string e in *) + (* let title = "" in *) + let marked = + pre ^ "\005span class=\"error\" title=\"" ^ e ^ "\"\006" ^ err ^ "\005/span\006" ^ post in + let marked = Netencoding.Html.encode ~in_enc:`Enc_utf8 ~prefer_name:false + () (html_of_matita marked) in + raise (Emphasized_error marked) | NTacStatus.Error (s,None) as e -> prerr_endline - ("NTacStatus.Error " ^ (Lazy.force s)); - raise e + ("NTacStatus.Error " ^ (Lazy.force s)); raise e | NTacStatus.Error (s,Some exc) as e -> prerr_endline ("NTacStatus.Error " ^ Lazy.force s ^ " -- " ^ (Printexc.to_string exc)); - raise e + do_exc exc | GrafiteDisambiguate.Ambiguous_input (loc,choices) -> let x,y = HExtlib.loc_of_floc loc in let choice_of_alias = function @@ -515,22 +538,32 @@ let advance0 sid text = in raise (Disamb_error strchoices) | GrafiteDisambiguate.Error l -> raise (Disamb_error (xml_of_disamb_error l)) (* | End_of_file -> ... *) + | e -> raise e + in + + try + eval_statement !include_paths (*buffer*) status (`Raw text) + with e -> do_exc e in MatitaAuthentication.set_status sid st; MatitaAuthentication.set_history sid (st::history); +(* prerr_endline "previous timestamp"; + status#print_timestamp(); + prerr_endline "current timestamp"; + st#print_timestamp(); *) parsed_len, Netencoding.Html.encode ~in_enc:`Enc_utf8 ~prefer_name:false () (html_of_matita new_statements), new_unparsed, st -let register (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = - let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in +let register (cgi : Netcgi.cgi_activation) = let _env = cgi#environment in assert (cgi#arguments <> []); let uid = cgi#argument_value "userid" in let userpw = cgi#argument_value "password" in - (try - MatitaAuthentication.add_user uid userpw; + (try + (* currently registering only unprivileged users *) + MatitaAuthentication.add_user uid userpw false; (* env#set_output_header_field "Location" "/index.html" *) cgi#out_channel#output_string ("" @@ -554,8 +587,7 @@ let register (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = cgi#out_channel#commit_work() ;; -let login (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = - let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in +let login (cgi : Netcgi.cgi_activation) = let env = cgi#environment in assert (cgi#arguments <> []); @@ -563,6 +595,7 @@ let login (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = let userpw = cgi#argument_value "password" in (try MatitaAuthentication.check_pw uid userpw; + NCicLibrary.init (Some uid); let ft = MatitaAuthentication.read_ft uid in let _ = MatitaFilesystem.html_of_library uid ft in let sid = MatitaAuthentication.create_session uid in @@ -584,8 +617,7 @@ let login (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = cgi#out_channel#commit_work() ;; -let logout (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = - let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in +let logout (cgi : Netcgi.cgi_activation) = let env = cgi#environment in (try let sid = Uuidm.of_string (Netcgi.Cookie.value (env#cookie "session")) in @@ -609,8 +641,7 @@ let logout (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = exception File_already_exists;; -let save (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = - let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in +let save (cgi : Netcgi.cgi_activation) = let env = cgi#environment in (try let sid = Uuidm.of_string (Netcgi.Cookie.value (env#cookie "session")) in @@ -676,10 +707,12 @@ let save (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = cgi#out_channel#commit_work() ;; -let initiate_commit (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = - let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in - let _env = cgi#environment in +let initiate_commit (cgi : Netcgi.cgi_activation) = + let env = cgi#environment in (try + let sid = Uuidm.of_string (Netcgi.Cookie.value (env#cookie "session")) in + let sid = HExtlib.unopt sid in + MatitaAuthentication.probe_commit_priv sid; let out = do_global_commit () in cgi # set_header ~cache:`No_cache @@ -699,13 +732,13 @@ let initiate_commit (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = cgi#out_channel#commit_work() ;; -let svn_update (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = - let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in +let svn_update (cgi : Netcgi.cgi_activation) = let env = cgi#environment in let sid = Uuidm.of_string (Netcgi.Cookie.value (env#cookie "session")) in let sid = HExtlib.unopt sid in let uid = MatitaAuthentication.user_of_session sid in (try + MatitaAuthentication.probe_commit_priv sid; let files,anomalies,(added,conflict,del,upd,merged) = MatitaFilesystem.update_user uid in @@ -743,8 +776,9 @@ let svn_update (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = (* returns the length of the executed text and an html representation of the * current metasenv*) -let advance (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = - let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in +(*let advance =*) +let advance (cgi : Netcgi.cgi_activation) = + (* let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in *) let env = cgi#environment in (try let sid = Uuidm.of_string (Netcgi.Cookie.value (env#cookie "session")) in @@ -796,13 +830,11 @@ let advance (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = cgi#out_channel#commit_work() ;; -let gotoBottom (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = - let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in +let gotoBottom (cgi : Netcgi.cgi_activation) = let env = cgi#environment in (* (try *) let sid = Uuidm.of_string (Netcgi.Cookie.value (env#cookie "session")) in let sid = HExtlib.unopt sid in - let history = MatitaAuthentication.get_history sid in let error_msg = function | Emphasized_error text -> "" ^ text ^ "" @@ -819,11 +851,12 @@ let gotoBottom (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = prerr_endline ("evaluating: " ^ first_line text); let plen,new_parsed,new_unparsed,_new_status = advance0 sid text in aux ((plen,new_parsed)::acc) new_unparsed - with e -> + with e -> acc, error_msg e + (* DON'T SERIALIZE NOW!!! let status = MatitaAuthentication.get_status sid in GrafiteTypes.Serializer.serialize ~baseuri:(NUri.uri_of_string status#baseuri) status; - acc, error_msg e + acc, error_msg e *) in (* cgi # set_header @@ -857,8 +890,7 @@ let gotoBottom (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = cgi#out_channel#commit_work() ;; -let gotoTop (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = - let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in +let gotoTop (cgi : Netcgi.cgi_activation) = let env = cgi#environment in prerr_endline "executing goto Top"; (try @@ -894,8 +926,7 @@ let gotoTop (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = cgi#out_channel#commit_work() ;; -let retract (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = - let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in +let retract (cgi : Netcgi.cgi_activation) = let env = cgi#environment in (try let sid = Uuidm.of_string (Netcgi.Cookie.value (env#cookie "session")) in @@ -907,13 +938,18 @@ let retract (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = (); *) let history = MatitaAuthentication.get_history sid in + let old_status = MatitaAuthentication.get_status sid in let new_history,new_status = match history with _::(status::_ as history) -> history, status | [_] -> (prerr_endline "singleton";failwith "retract") | _ -> (prerr_endline "nil"; assert false) in - prerr_endline ("prima della time travel"); +(* prerr_endline "timestamp prima della retract"; + old_status#print_timestamp (); + prerr_endline "timestamp della retract"; + new_status#print_timestamp (); + prerr_endline ("prima della time travel"); *) NCicLibrary.time_travel new_status; prerr_endline ("dopo della time travel"); MatitaAuthentication.set_history sid new_history; @@ -934,8 +970,7 @@ let retract (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = ;; -let viewLib (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = - let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in +let viewLib (cgi : Netcgi.cgi_activation) = let env = cgi#environment in let sid = Uuidm.of_string (Netcgi.Cookie.value (env#cookie "session")) in @@ -974,8 +1009,7 @@ let viewLib (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = ;; -let resetLib (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) = - let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in +let resetLib (cgi : Netcgi.cgi_activation) = MatitaAuthentication.reset (); cgi # set_header ~cache:`No_cache diff --git a/matitaB/matita/matitaweb b/matitaB/matita/matitaweb index 8c52197bc..a5971a4aa 100755 --- a/matitaB/matita/matitaweb +++ b/matitaB/matita/matitaweb @@ -1,2 +1,5 @@ #! -./matitadaemon -conf netplex.conf +rm -f nohup.out +echo running matitaweb +#nohup ./matitadaemon -conf netplex.conf +./matitadaemon -conf netplex.conf 2> /dev/null diff --git a/matitaB/matita/matitaweb.js b/matitaB/matita/matitaweb.js index 30c138385..068b30d70 100644 --- a/matitaB/matita/matitaweb.js +++ b/matitaB/matita/matitaweb.js @@ -220,7 +220,7 @@ function strip_tags(tagname,classname) tags[i].parentNode.insertBefore(children[j],tags[i]); } } - while (tags.length > 0) { + for (var i = 0;tags.length > i;i++) { tags[0].parentNode.removeChild(tags[0]); } } @@ -582,7 +582,7 @@ function advOneStep(xml) { // len1 = unlocked.innerHTML.length; // len2 = len0 - len1; var len2 = parsedtxt.length; - var metasenv = xml.getElementsByTagName("meta"); + metasenv = xml.getElementsByTagName("meta"); statements = listcons(len2,statements); unlocked.scrollIntoView(true); return len; @@ -642,18 +642,19 @@ function advOneStep(xml) { disambcell.appendChild(okbutton); disambcell.appendChild(cancelbutton); - disable_toparea(); - matita.disambMode = true; updateSide(); throw "Stop"; } else if (is_defined(disamberr)) { - set_cps(disamberr.childNodes); - matita.unlockedbackup = unlocked.innerHTML.html_to_matita(); - matita.disambMode = true; - disable_toparea(); - next_cp(0); + // must be fixed in a daemon: it makes sense to return a + // disambiguation error with no choices + if (disamberr.childNodes.length > 0) { + set_cps(disamberr.childNodes); + matita.unlockedbackup = unlocked.innerHTML.html_to_matita(); + matita.disambMode = true; + next_cp(0); + } throw "Stop"; } else { @@ -703,12 +704,12 @@ function get_choice_opts(i) { var href = choices[j].getAttribute("href"); var title = choices[j].getAttribute("title"); var desc; - if (is_defined(title)) { + if (is_defined(title) && title != null) { desc = title; - } else if (is_defined(href)) { + } else if (is_defined(href) && href != null) { desc = href; } else { - desc = "Preliminary error"; + desc = null; } res[j] = document.createElement("input"); @@ -718,7 +719,7 @@ function get_choice_opts(i) { res[j].setAttribute("choiceno",j); res[j].setAttribute("href",href); res[j].setAttribute("title",title); - res[j].setAttribute("desc",desc); + if (desc != null) res[j].setAttribute("desc",desc); if (j == 0) res[j].setAttribute("checked",""); } @@ -763,15 +764,19 @@ function next_cp(curcp) { var mid = unlockedtxt.substring(start,stop).matita_to_html(); var post = unlockedtxt.substring(stop).matita_to_html(); unlocked.innerHTML = pre + - "" + + "" + mid + "" + post; - var title = "

Disambiguation failed

"; + var title = "

Error diagnostics

"; disambcell.innerHTML = title; var choices = get_choice_opts(curcp); for (var i = 0;i < choices.length;i++) { disambcell.appendChild(choices[i]); - disambcell.appendChild(document.createTextNode(choices[i].getAttribute("desc"))); + var desc = choices[i].getAttribute("desc"); + if (!is_defined(desc) || desc == null) { + desc = "Interpretation " + i; + } + disambcell.appendChild(document.createTextNode(desc)); disambcell.appendChild(document.createElement("br")); } @@ -813,8 +818,13 @@ function show_failures() { var choiceno = parseInt(choice.getAttribute("choiceno")); var choicedesc = choice.getAttribute("desc"); - var title = "

Disambiguation failed

"; - var subtitle = "

Errors at node " + cpno + " = " + choicedesc + "

"; + var title = "

Error diagnostics

"; + var subtitle; + if (is_defined(choicedesc) && choicedesc != null) { + subtitle = "

Errors at node " + cpno + " = " + choicedesc + "

"; + } else { + subtitle = "

Global errors:

"; + } disambcell.innerHTML = title + subtitle; var failures = get_failure_opts(cpno,choiceno); @@ -871,6 +881,7 @@ function gotoBottom() var localized = xml.getElementsByTagName("localized")[0]; var ambiguity = xml.getElementsByTagName("ambiguity")[0]; var generic_err = xml.getElementsByTagName("error")[0]; + var disamberr = xml.getElementsByTagName("disamberror")[0]; for (var i = 0;i < parsed.length; i++) { var len = parsed[i].getAttribute("length"); // len0 = unlocked.innerHTML.length; @@ -946,16 +957,25 @@ function gotoBottom() disambcell.appendChild(okbutton); disambcell.appendChild(cancelbutton); - disable_toparea(); - matita.disambMode = true; updateSide(); } - if (is_defined(localized)) { - unlocked.innerHTML = localized.wholeText; + else if (is_defined(disamberr)) { + // must be fixed in a daemon: it makes sense to return a + // disambiguation error with no choices + if (disamberr.childNodes.length > 0) { + set_cps(disamberr.childNodes); + matita.unlockedbackup = unlocked.innerHTML.html_to_matita(); + matita.disambMode = true; + next_cp(0); + } + throw "Stop"; + } + else if (is_defined(localized)) { + unlocked.innerHTML = localized.childNodes[0].wholeText; } - if (is_defined(generic_err)) { - debug("Unmanaged error:\n" ^ generic_err.wholeText); + else if (is_defined(generic_err)) { + debug("Unmanaged error:\n" ^ generic_err.childNodes[0].wholeText); } } else { debug("goto bottom failed"); @@ -1076,10 +1096,8 @@ function retract() } resume(); }; - debug("retract 1"); pause(); callServer("retract",processor); - debug("retract 2"); } function openFile() @@ -1103,6 +1121,9 @@ function retrieveFile(thefile) { if (is_defined(xml)) { changeFile(thefile); + matita.disambMode = false; + matita.proofMode = false; + updateSide(); lockedbackup = "" locked.innerHTML = lockedbackup; // code originally used in google chrome (problems with mozilla) @@ -1120,7 +1141,7 @@ function retrieveFile(thefile) debug("file open failed"); } }; - abortDialog(); + abortDialog("dialogBox"); callServer("open",processor,"file=" + escape(thefile)); } @@ -1174,26 +1195,28 @@ function uploadDialog() function uploadOK() { var file = document.getElementById("uploadFilename").files[0]; - if (file) { - var filecontent = file.getAsText("UTF-8"); - locked.innerHTML = lockedbackup; - unlocked.innerHTML = filecontent; - uploadBox.style.display = "none"; - } // if (file) { -// var reader = new FileReader(); -// reader.readAsText(file, "UTF-8"); -// reader.onloadend = function (evt) { -// lockedbackup = ""; -// locked.innerHTML = lockedbackup -// unlocked.innerHTML = evt.target.result; -// uploadBox.style.display = "none"; -// } -// reader.onerror = function (evt) { -// debug("file open failed"); -// uploadBox.style.display = "none"; -// } +// var filecontent = file.getAsText("UTF-8"); +// locked.innerHTML = lockedbackup; +// unlocked.innerHTML = filecontent; +// uploadBox.style.display = "none"; // } + if (file) { + var reader = new FileReader(); + reader.onerror = function (evt) { + debug("file open failed"); + } + reader.onload = function (evt) { + lockedbackup = ""; + locked.innerHTML = lockedbackup; + unlocked.innerHTML = ""; + unlocked.appendChild(document.createTextNode(evt.target.result)); + uploadBox.style.display = "none"; + } + try { reader.readAsText(file, "UTF-8"); } + catch (err) { /* nothing to do */ }; + uploadBox.style.display = "none"; + } } function openDialog() @@ -1205,7 +1228,7 @@ function openDialog() function saveDialog() { callback = function (fname) { - abortDialog(); + abortDialog("dialogBox"); saveFile(fname, (locked.innerHTML.html_to_matita()).sescape(), (unlocked.innerHTML.html_to_matita()).sescape(), @@ -1217,7 +1240,7 @@ function saveDialog() function newDialog() { callback = function (fname) { - abortDialog(); + abortDialog("dialogBox"); saveFile(fname,"","",false,newDialog,true); }; showLibrary("Create new file", callback, newDialog); @@ -1263,7 +1286,7 @@ function saveFile(fname,lockedtxt,unlockedtxt,force,reloadDialog,reloadFile) } function createDir() { - abortDialog(); + abortDialog("dialogBox"); dirname = prompt("New directory name:\ncic:/matita/","newdir"); if (dirname != null) { processor = function(xml) { @@ -1292,7 +1315,7 @@ function commitAll() alert("Commit executed: see details in the log.\n\n" + "NOTICE: this message does NOT imply (yet) that the commit was successful."); } else { - alert("Commit failed!"); + alert("Commit failed!\n(maybe you don't have permissionis to commit?)"); } resume(); }; @@ -1308,7 +1331,7 @@ function updateAll() "Details:\n" + xml.getElementsByTagName("details")[0].textContent); } else { - alert("Update failed!"); + alert("Update failed!\n(maybe you don't have permissions to update?)"); } resume(); }; @@ -1359,8 +1382,8 @@ function showDialog(title,content,callback) { } function abortDialog(dialog) { + document.getElementById(dialog).style.display = "none"; $('#mask').hide(); - dialogBox.style.display = "none"; } function removeElement(id) { @@ -1431,8 +1454,10 @@ function get_checked_index(name) { function cancel_disambiguate() { matita.disambMode = false; - enable_toparea(); - enable_editing(); + resume(); + // enable_toparea(); + // enable_editing(); + strip_tags("span","error"); updateSide(); } @@ -1550,7 +1575,9 @@ function resume() // retractButton.disabled = false; // cursorButton.disabled = false; // bottomButton.disabled = false; - enable_toparea(); - enable_editing(); + if (!matita.disambMode) { + enable_toparea(); + enable_editing(); + } } diff --git a/matitaB/matita/netplex.conf b/matitaB/matita/netplex.conf index ccd9119a3..7bdad94f0 100644 --- a/matitaB/matita/netplex.conf +++ b/matitaB/matita/netplex.conf @@ -27,7 +27,7 @@ netplex { path = "/"; service { type = "file"; - docroot = "/home/matitaweb/matita/matita"; + docroot = "/home/matitaweb/matita/matita/html"; media_types_file = "/etc/mime.types"; enable_listings = true; } diff --git a/matitaB/matita/utf8MacroTable.js b/matitaB/matita/utf8MacroTable.js index a8ea98f50..19df80002 100644 --- a/matitaB/matita/utf8MacroTable.js +++ b/matitaB/matita/utf8MacroTable.js @@ -57,8 +57,8 @@ macro2utf8["NotRightTriangleEqual"] = "⋭"; utf82macro["⋭"] = "NotRightTriangleEqual"; macro2utf8["filig"] = "fi"; utf82macro["fi"] = "filig"; -macro2utf8["atilde"] = "ã"; -utf82macro["ã"] = "atilde"; +macro2utf8["atilde"] = "ã"; +utf82macro["ã"] = "atilde"; macro2utf8["ring"] = "˚"; utf82macro["˚"] = "ring"; macro2utf8["congdot"] = "⩭"; @@ -103,14 +103,14 @@ macro2utf8["ycirc"] = "ŷ"; utf82macro["ŷ"] = "ycirc"; macro2utf8["sqcup"] = "⊔"; utf82macro["⊔"] = "sqcup"; -macro2utf8["DoubleLeftArrow"] = "⇐"; -utf82macro["⇐"] = "DoubleLeftArrow"; +macro2utf8["DoubleLeftArrow"] = "⇐"; +utf82macro["⇐"] = "DoubleLeftArrow"; macro2utf8["gtrless"] = "≷"; utf82macro["≷"] = "gtrless"; -macro2utf8["ge"] = "≥"; -utf82macro["≥"] = "ge"; -macro2utf8["Product"] = "∏"; -utf82macro["∏"] = "Product"; +macro2utf8["ge"] = "≥"; +utf82macro["≥"] = "ge"; +macro2utf8["Product"] = "∏"; +utf82macro["∏"] = "Product"; macro2utf8["NotExists"] = "∄"; utf82macro["∄"] = "NotExists"; macro2utf8["gg"] = "≫"; @@ -135,8 +135,8 @@ macro2utf8["excl"] = "!"; utf82macro["!"] = "excl"; macro2utf8["cdots"] = "⋯"; utf82macro["⋯"] = "cdots"; -macro2utf8["larr"] = "←"; -utf82macro["←"] = "larr"; +macro2utf8["larr"] = "←"; +utf82macro["←"] = "larr"; macro2utf8["dtdot"] = "⋱"; utf82macro["⋱"] = "dtdot"; macro2utf8["kgreen"] = "ĸ"; @@ -147,20 +147,20 @@ macro2utf8["rbarr"] = "⤍"; utf82macro["⤍"] = "rbarr"; macro2utf8["ocy"] = "о"; utf82macro["о"] = "ocy"; -macro2utf8["gt"] = ">"; -utf82macro[">"] = "gt"; +macro2utf8["gt"] = ">"; +utf82macro[">"] = "gt"; macro2utf8["DownLeftRightVector"] = "⥐"; utf82macro["⥐"] = "DownLeftRightVector"; -macro2utf8["cup"] = "∪"; -utf82macro["∪"] = "cup"; +macro2utf8["cup"] = "∪"; +utf82macro["∪"] = "cup"; macro2utf8["updownarrow"] = "↕"; utf82macro["↕"] = "updownarrow"; macro2utf8["Imacr"] = "Ī"; utf82macro["Ī"] = "Imacr"; macro2utf8["cross"] = "✗"; utf82macro["✗"] = "cross"; -macro2utf8["Acirc"] = "Â"; -utf82macro["Â"] = "Acirc"; +macro2utf8["Acirc"] = "Â"; +utf82macro["Â"] = "Acirc"; macro2utf8["lvertneqq"] = "≨︀"; utf82macro["≨︀"] = "lvertneqq"; macro2utf8["ccaps"] = "⩍"; @@ -207,34 +207,34 @@ macro2utf8["vert"] = "|"; utf82macro["|"] = "vert"; macro2utf8["sacute"] = "ś"; utf82macro["ś"] = "sacute"; -macro2utf8["in"] = "∈"; -utf82macro["∈"] = "in"; +macro2utf8["in"] = "∈"; +utf82macro["∈"] = "in"; macro2utf8["Assign"] = "≔"; utf82macro["≔"] = "Assign"; macro2utf8["nsim"] = "≁"; utf82macro["≁"] = "nsim"; macro2utf8["boxdR"] = "╒"; utf82macro["╒"] = "boxdR"; -macro2utf8["o"] = "ο"; -utf82macro["ο"] = "o"; -macro2utf8["radic"] = "√"; -utf82macro["√"] = "radic"; +macro2utf8["o"] = "ο"; +utf82macro["ο"] = "o"; +macro2utf8["radic"] = "√"; +utf82macro["√"] = "radic"; macro2utf8["it"] = "⁢"; utf82macro["⁢"] = "it"; -macro2utf8["int"] = "∫"; -utf82macro["∫"] = "int"; +macro2utf8["int"] = "∫"; +utf82macro["∫"] = "int"; macro2utf8["cwint"] = "∱"; utf82macro["∱"] = "cwint"; -macro2utf8["ForAll"] = "∀"; -utf82macro["∀"] = "ForAll"; +macro2utf8["ForAll"] = "∀"; +utf82macro["∀"] = "ForAll"; macro2utf8["simplus"] = "⨤"; utf82macro["⨤"] = "simplus"; macro2utf8["isindot"] = "⋵"; utf82macro["⋵"] = "isindot"; macro2utf8["rightthreetimes"] = "⋌"; utf82macro["⋌"] = "rightthreetimes"; -macro2utf8["supseteqq"] = "⊇"; -utf82macro["⊇"] = "supseteqq"; +macro2utf8["supseteqq"] = "⊇"; +utf82macro["⊇"] = "supseteqq"; macro2utf8["bnot"] = "⌐"; utf82macro["⌐"] = "bnot"; macro2utf8["rppolint"] = "⨒"; @@ -273,8 +273,8 @@ macro2utf8["LeftUpDownVector"] = "⥑"; utf82macro["⥑"] = "LeftUpDownVector"; macro2utf8["questeq"] = "≟"; utf82macro["≟"] = "questeq"; -macro2utf8["leftarrow"] = "←"; -utf82macro["←"] = "leftarrow"; +macro2utf8["leftarrow"] = "←"; +utf82macro["←"] = "leftarrow"; macro2utf8["Ycy"] = "Ы"; utf82macro["Ы"] = "Ycy"; macro2utf8["Coproduct"] = "∐"; @@ -285,14 +285,14 @@ macro2utf8["boxdl"] = "┐"; utf82macro["┐"] = "boxdl"; macro2utf8["Aopf"] = "𝔸"; utf82macro["𝔸"] = "Aopf"; -macro2utf8["srarr"] = "→︀"; -utf82macro["→︀"] = "srarr"; +macro2utf8["srarr"] = "→︀"; +utf82macro["→︀"] = "srarr"; macro2utf8["lbrke"] = "⦋"; utf82macro["⦋"] = "lbrke"; macro2utf8["boxdr"] = "┌"; utf82macro["┌"] = "boxdr"; -macro2utf8["Ntilde"] = "Ñ"; -utf82macro["Ñ"] = "Ntilde"; +macro2utf8["Ntilde"] = "Ñ"; +utf82macro["Ñ"] = "Ntilde"; macro2utf8["gnap"] = "⪊"; utf82macro["⪊"] = "gnap"; macro2utf8["Cap"] = "⋒"; @@ -301,22 +301,22 @@ macro2utf8["swarhk"] = "⤦"; utf82macro["⤦"] = "swarhk"; macro2utf8["ogt"] = "⧁"; utf82macro["⧁"] = "ogt"; -macro2utf8["emptyset"] = "∅︀"; -utf82macro["∅︀"] = "emptyset"; +macro2utf8["emptyset"] = "∅︀"; +utf82macro["∅︀"] = "emptyset"; macro2utf8["harrw"] = "↭"; utf82macro["↭"] = "harrw"; macro2utf8["lbarr"] = "⤌"; utf82macro["⤌"] = "lbarr"; -macro2utf8["Tilde"] = "∼"; -utf82macro["∼"] = "Tilde"; -macro2utf8["delta"] = "δ"; -utf82macro["δ"] = "delta"; +macro2utf8["Tilde"] = "∼"; +utf82macro["∼"] = "Tilde"; +macro2utf8["delta"] = "δ"; +utf82macro["δ"] = "delta"; macro2utf8["Hopf"] = "ℍ"; utf82macro["ℍ"] = "Hopf"; macro2utf8["dfr"] = "𝔡"; utf82macro["𝔡"] = "dfr"; -macro2utf8["le"] = "≤"; -utf82macro["≤"] = "le"; +macro2utf8["le"] = "≤"; +utf82macro["≤"] = "le"; macro2utf8["lg"] = "lg"; utf82macro["lg"] = "lg"; macro2utf8["ohm"] = "Ω"; @@ -329,8 +329,8 @@ macro2utf8["DoubleLongLeftArrow"] = ""; utf82macro[""] = "DoubleLongLeftArrow"; macro2utf8["Ncy"] = "Н"; utf82macro["Н"] = "Ncy"; -macro2utf8["nabla"] = "∇"; -utf82macro["∇"] = "nabla"; +macro2utf8["nabla"] = "∇"; +utf82macro["∇"] = "nabla"; macro2utf8["ltcir"] = "⩹"; utf82macro["⩹"] = "ltcir"; macro2utf8["ll"] = "≪"; @@ -341,22 +341,22 @@ macro2utf8["rmoust"] = "⎱"; utf82macro["⎱"] = "rmoust"; macro2utf8["Oopf"] = "𝕆"; utf82macro["𝕆"] = "Oopf"; -macro2utf8["nbsp"] = " "; -utf82macro[" "] = "nbsp"; +macro2utf8["nbsp"] = " "; +utf82macro[" "] = "nbsp"; macro2utf8["Kcedil"] = "Ķ"; utf82macro["Ķ"] = "Kcedil"; macro2utf8["vdots"] = "⋮"; utf82macro["⋮"] = "vdots"; macro2utf8["NotLessTilde"] = "≴"; utf82macro["≴"] = "NotLessTilde"; -macro2utf8["lt"] = "<"; -utf82macro["<"] = "lt"; +macro2utf8["lt"] = "<"; +utf82macro["<"] = "lt"; macro2utf8["djcy"] = "ђ"; utf82macro["ђ"] = "djcy"; macro2utf8["DownRightTeeVector"] = "⥟"; utf82macro["⥟"] = "DownRightTeeVector"; -macro2utf8["Ograve"] = "Ò"; -utf82macro["Ò"] = "Ograve"; +macro2utf8["Ograve"] = "Ò"; +utf82macro["Ò"] = "Ograve"; macro2utf8["boxhD"] = "╥"; utf82macro["╥"] = "boxhD"; macro2utf8["nsime"] = "≄"; @@ -373,8 +373,8 @@ macro2utf8["looparrowright"] = "↬"; utf82macro["↬"] = "looparrowright"; macro2utf8["yucy"] = "ю"; utf82macro["ю"] = "yucy"; -macro2utf8["trade"] = "™"; -utf82macro["™"] = "trade"; +macro2utf8["trade"] = "™"; +utf82macro["™"] = "trade"; macro2utf8["Yfr"] = "𝔜"; utf82macro["𝔜"] = "Yfr"; macro2utf8["kjcy"] = "ќ"; @@ -389,38 +389,38 @@ macro2utf8["ncap"] = "⩃"; utf82macro["⩃"] = "ncap"; macro2utf8["Iogon"] = "Į"; utf82macro["Į"] = "Iogon"; -macro2utf8["NotSubset"] = "⊄"; -utf82macro["⊄"] = "NotSubset"; +macro2utf8["NotSubset"] = "⊄"; +utf82macro["⊄"] = "NotSubset"; macro2utf8["Bumpeq"] = "≎"; utf82macro["≎"] = "Bumpeq"; -macro2utf8["mu"] = "μ"; -utf82macro["μ"] = "mu"; +macro2utf8["mu"] = "μ"; +utf82macro["μ"] = "mu"; macro2utf8["FilledVerySmallSquare"] = ""; utf82macro[""] = "FilledVerySmallSquare"; macro2utf8["breve"] = "˘"; utf82macro["˘"] = "breve"; macro2utf8["boxhU"] = "╨"; utf82macro["╨"] = "boxhU"; -macro2utf8["Sigma"] = "Σ"; -utf82macro["Σ"] = "Sigma"; +macro2utf8["Sigma"] = "Σ"; +utf82macro["Σ"] = "Sigma"; macro2utf8["uharr"] = "↾"; utf82macro["↾"] = "uharr"; macro2utf8["xrArr"] = ""; utf82macro[""] = "xrArr"; -macro2utf8["ne"] = "≠"; -utf82macro["≠"] = "ne"; +macro2utf8["ne"] = "≠"; +utf82macro["≠"] = "ne"; macro2utf8["oS"] = "Ⓢ"; utf82macro["Ⓢ"] = "oS"; macro2utf8["xodot"] = "⊙"; utf82macro["⊙"] = "xodot"; -macro2utf8["ni"] = "∋"; -utf82macro["∋"] = "ni"; -macro2utf8["mdash"] = "—"; -utf82macro["—"] = "mdash"; +macro2utf8["ni"] = "∋"; +utf82macro["∋"] = "ni"; +macro2utf8["mdash"] = "—"; +utf82macro["—"] = "mdash"; macro2utf8["Verbar"] = "‖"; utf82macro["‖"] = "Verbar"; -macro2utf8["die"] = "¨"; -utf82macro["¨"] = "die"; +macro2utf8["die"] = "¨"; +utf82macro["¨"] = "die"; macro2utf8["veebar"] = "⊻"; utf82macro["⊻"] = "veebar"; macro2utf8["UpArrowBar"] = "⤒"; @@ -431,8 +431,8 @@ macro2utf8["RightArrowBar"] = "⇥"; utf82macro["⇥"] = "RightArrowBar"; macro2utf8["LongLeftArrow"] = ""; utf82macro[""] = "LongLeftArrow"; -macro2utf8["rceil"] = "⌉"; -utf82macro["⌉"] = "rceil"; +macro2utf8["rceil"] = "⌉"; +utf82macro["⌉"] = "rceil"; macro2utf8["LeftDownVectorBar"] = "⥙"; utf82macro["⥙"] = "LeftDownVectorBar"; macro2utf8["umacr"] = "ū"; @@ -449,16 +449,16 @@ macro2utf8["boxhd"] = "┬"; utf82macro["┬"] = "boxhd"; macro2utf8["dim"] = "dim"; utf82macro["dim"] = "dim"; -macro2utf8["vnsub"] = "⊄"; -utf82macro["⊄"] = "vnsub"; +macro2utf8["vnsub"] = "⊄"; +utf82macro["⊄"] = "vnsub"; macro2utf8["Bscr"] = "ℬ"; utf82macro["ℬ"] = "Bscr"; macro2utf8["plussim"] = "⨦"; utf82macro["⨦"] = "plussim"; macro2utf8["doublebarwedge"] = "⌆"; utf82macro["⌆"] = "doublebarwedge"; -macro2utf8["nu"] = "ν"; -utf82macro["ν"] = "nu"; +macro2utf8["nu"] = "ν"; +utf82macro["ν"] = "nu"; macro2utf8["eqcolon"] = "≕"; utf82macro["≕"] = "eqcolon"; macro2utf8["luruhar"] = "⥦"; @@ -469,8 +469,8 @@ macro2utf8["preceq"] = "⪯"; utf82macro["⪯"] = "preceq"; macro2utf8["LeftTee"] = "⊣"; utf82macro["⊣"] = "LeftTee"; -macro2utf8["div"] = "÷"; -utf82macro["÷"] = "div"; +macro2utf8["div"] = "÷"; +utf82macro["÷"] = "div"; macro2utf8["nVDash"] = "⊯"; utf82macro["⊯"] = "nVDash"; macro2utf8["kopf"] = "𝕜"; @@ -487,8 +487,8 @@ macro2utf8["boxhu"] = "┴"; utf82macro["┴"] = "boxhu"; macro2utf8["ominus"] = "⊖"; utf82macro["⊖"] = "ominus"; -macro2utf8["or"] = "∨"; -utf82macro["∨"] = "or"; +macro2utf8["or"] = "∨"; +utf82macro["∨"] = "or"; macro2utf8["lesdot"] = "⩿"; utf82macro["⩿"] = "lesdot"; macro2utf8["RightVectorBar"] = "⥓"; @@ -509,18 +509,18 @@ macro2utf8["nltri"] = "⋪"; utf82macro["⋪"] = "nltri"; macro2utf8["Pscr"] = "𝒫"; utf82macro["𝒫"] = "Pscr"; -macro2utf8["vartheta"] = "ϑ"; -utf82macro["ϑ"] = "vartheta"; -macro2utf8["therefore"] = "∴"; -utf82macro["∴"] = "therefore"; -macro2utf8["pi"] = "π"; -utf82macro["π"] = "pi"; +macro2utf8["vartheta"] = "ϑ"; +utf82macro["ϑ"] = "vartheta"; +macro2utf8["therefore"] = "∴"; +utf82macro["∴"] = "therefore"; +macro2utf8["pi"] = "π"; +utf82macro["π"] = "pi"; macro2utf8["ntrianglelefteq"] = "⋬"; utf82macro["⋬"] = "ntrianglelefteq"; macro2utf8["nearrow"] = "↗"; utf82macro["↗"] = "nearrow"; -macro2utf8["pm"] = "±"; -utf82macro["±"] = "pm"; +macro2utf8["pm"] = "±"; +utf82macro["±"] = "pm"; macro2utf8["natural"] = "♮"; utf82macro["♮"] = "natural"; macro2utf8["ucy"] = "у"; @@ -531,8 +531,8 @@ macro2utf8["Cfr"] = "ℭ"; utf82macro["ℭ"] = "Cfr"; macro2utf8["yopf"] = "𝕪"; utf82macro["𝕪"] = "yopf"; -macro2utf8["Otilde"] = "Õ"; -utf82macro["Õ"] = "Otilde"; +macro2utf8["Otilde"] = "Õ"; +utf82macro["Õ"] = "Otilde"; macro2utf8["ntriangleleft"] = "⋪"; utf82macro["⋪"] = "ntriangleleft"; macro2utf8["pr"] = "≺"; @@ -543,22 +543,22 @@ macro2utf8["midcir"] = "⫰"; utf82macro["⫰"] = "midcir"; macro2utf8["Lacute"] = "Ĺ"; utf82macro["Ĺ"] = "Lacute"; -macro2utf8["DoubleDot"] = "¨"; -utf82macro["¨"] = "DoubleDot"; +macro2utf8["DoubleDot"] = "¨"; +utf82macro["¨"] = "DoubleDot"; macro2utf8["Tstrok"] = "Ŧ"; utf82macro["Ŧ"] = "Tstrok"; macro2utf8["nrarrw"] = "↝̸"; utf82macro["↝̸"] = "nrarrw"; -macro2utf8["uArr"] = "⇑"; -utf82macro["⇑"] = "uArr"; +macro2utf8["uArr"] = "⇑"; +utf82macro["⇑"] = "uArr"; macro2utf8["nLtv"] = "≪̸︀"; utf82macro["≪̸︀"] = "nLtv"; -macro2utf8["rangle"] = "⟩"; -utf82macro["⟩"] = "rangle"; +macro2utf8["rangle"] = "〉"; +utf82macro["〉"] = "rangle"; macro2utf8["olcir"] = "⦾"; utf82macro["⦾"] = "olcir"; -macro2utf8["Auml"] = "Ä"; -utf82macro["Ä"] = "Auml"; +macro2utf8["Auml"] = "Ä"; +utf82macro["Ä"] = "Auml"; macro2utf8["Succeeds"] = "≻"; utf82macro["≻"] = "Succeeds"; macro2utf8["DoubleLongLeftRightArrow"] = ""; @@ -569,8 +569,8 @@ macro2utf8["gammad"] = "Ϝ"; utf82macro["Ϝ"] = "gammad"; macro2utf8["epsiv"] = "ɛ"; utf82macro["ɛ"] = "epsiv"; -macro2utf8["notinva"] = "∉̸"; -utf82macro["∉̸"] = "notinva"; +macro2utf8["notinva"] = "∉̸"; +utf82macro["∉̸"] = "notinva"; macro2utf8["notinvb"] = "⋷"; utf82macro["⋷"] = "notinvb"; macro2utf8["eqvparsl"] = "⧥"; @@ -601,8 +601,8 @@ macro2utf8["submult"] = "⫁"; utf82macro["⫁"] = "submult"; macro2utf8["iiota"] = "℩"; utf82macro["℩"] = "iiota"; -macro2utf8["lceil"] = "⌈"; -utf82macro["⌈"] = "lceil"; +macro2utf8["lceil"] = "⌈"; +utf82macro["⌈"] = "lceil"; macro2utf8["omacr"] = "ō"; utf82macro["ō"] = "omacr"; macro2utf8["gneqq"] = "≩"; @@ -617,12 +617,12 @@ macro2utf8["Square"] = "□"; utf82macro["□"] = "Square"; macro2utf8["RightDownTeeVector"] = "⥝"; utf82macro["⥝"] = "RightDownTeeVector"; -macro2utf8["Ouml"] = "Ö"; -utf82macro["Ö"] = "Ouml"; +macro2utf8["Ouml"] = "Ö"; +utf82macro["Ö"] = "Ouml"; macro2utf8["lurdshar"] = "⥊"; utf82macro["⥊"] = "lurdshar"; -macro2utf8["SuchThat"] = "∋"; -utf82macro["∋"] = "SuchThat"; +macro2utf8["SuchThat"] = "∋"; +utf82macro["∋"] = "SuchThat"; macro2utf8["setminus"] = "∖"; utf82macro["∖"] = "setminus"; macro2utf8["lscr"] = "ℓ"; @@ -635,24 +635,24 @@ macro2utf8["sc"] = "≻"; utf82macro["≻"] = "sc"; macro2utf8["rx"] = "℞"; utf82macro["℞"] = "rx"; -macro2utf8["RightFloor"] = "⌋"; -utf82macro["⌋"] = "RightFloor"; +macro2utf8["RightFloor"] = "⌋"; +utf82macro["⌋"] = "RightFloor"; macro2utf8["blacksquare"] = "▪"; utf82macro["▪"] = "blacksquare"; macro2utf8["ufr"] = "𝔲"; utf82macro["𝔲"] = "ufr"; macro2utf8["block"] = "█"; utf82macro["█"] = "block"; -macro2utf8["dots"] = "…"; -utf82macro["…"] = "dots"; +macro2utf8["dots"] = "…"; +utf82macro["…"] = "dots"; macro2utf8["nvsim"] = "≁̸"; utf82macro["≁̸"] = "nvsim"; macro2utf8["caret"] = "⁁"; utf82macro["⁁"] = "caret"; macro2utf8["demptyv"] = "⦱"; utf82macro["⦱"] = "demptyv"; -macro2utf8["Sum"] = "∑"; -utf82macro["∑"] = "Sum"; +macro2utf8["Sum"] = "∑"; +utf82macro["∑"] = "Sum"; macro2utf8["sscr"] = "𝓈"; utf82macro["𝓈"] = "sscr"; macro2utf8["nsube"] = "⊈"; @@ -669,16 +669,16 @@ macro2utf8["capbrcup"] = "⩉"; utf82macro["⩉"] = "capbrcup"; macro2utf8["RightUpVectorBar"] = "⥔"; utf82macro["⥔"] = "RightUpVectorBar"; -macro2utf8["caps"] = "∩︀"; -utf82macro["∩︀"] = "caps"; +macro2utf8["caps"] = "∩︀"; +utf82macro["∩︀"] = "caps"; macro2utf8["ohbar"] = "⦵"; utf82macro["⦵"] = "ohbar"; macro2utf8["laemptyv"] = "⦴"; utf82macro["⦴"] = "laemptyv"; -macro2utf8["uacute"] = "ú"; -utf82macro["ú"] = "uacute"; -macro2utf8["straightphi"] = "φ"; -utf82macro["φ"] = "straightphi"; +macro2utf8["uacute"] = "ú"; +utf82macro["ú"] = "uacute"; +macro2utf8["straightphi"] = "φ"; +utf82macro["φ"] = "straightphi"; macro2utf8["RightDoubleBracket"] = "〛"; utf82macro["〛"] = "RightDoubleBracket"; macro2utf8["zscr"] = "𝓏"; @@ -693,32 +693,32 @@ macro2utf8["RBarr"] = "⤐"; utf82macro["⤐"] = "RBarr"; macro2utf8["NotRightTriangleBar"] = "⧐̸"; utf82macro["⧐̸"] = "NotRightTriangleBar"; -macro2utf8["to"] = "→"; -utf82macro["→"] = "to"; +macro2utf8["to"] = "→"; +utf82macro["→"] = "to"; macro2utf8["rpar"] = ")"; utf82macro[")"] = "rpar"; macro2utf8["rdsh"] = "↳"; utf82macro["↳"] = "rdsh"; macro2utf8["jfr"] = "𝔧"; utf82macro["𝔧"] = "jfr"; -macro2utf8["ldquor"] = "„"; -utf82macro["„"] = "ldquor"; +macro2utf8["ldquor"] = "„"; +utf82macro["„"] = "ldquor"; macro2utf8["bsime"] = "⋍"; utf82macro["⋍"] = "bsime"; macro2utf8["lAtail"] = "⤛"; utf82macro["⤛"] = "lAtail"; macro2utf8["Hcirc"] = "Ĥ"; utf82macro["Ĥ"] = "Hcirc"; -macro2utf8["aacute"] = "á"; -utf82macro["á"] = "aacute"; +macro2utf8["aacute"] = "á"; +utf82macro["á"] = "aacute"; macro2utf8["dot"] = "˙"; utf82macro["˙"] = "dot"; macro2utf8["Tcy"] = "Т"; utf82macro["Т"] = "Tcy"; -macro2utf8["nsub"] = "⊄"; -utf82macro["⊄"] = "nsub"; -macro2utf8["kappa"] = "κ"; -utf82macro["κ"] = "kappa"; +macro2utf8["nsub"] = "⊄"; +utf82macro["⊄"] = "nsub"; +macro2utf8["kappa"] = "κ"; +utf82macro["κ"] = "kappa"; macro2utf8["ovbar"] = "⌽"; utf82macro["⌽"] = "ovbar"; macro2utf8["shcy"] = "ш"; @@ -741,8 +741,8 @@ macro2utf8["precnsim"] = "⋨"; utf82macro["⋨"] = "precnsim"; macro2utf8["ord"] = "⩝"; utf82macro["⩝"] = "ord"; -macro2utf8["real"] = "ℜ"; -utf82macro["ℜ"] = "real"; +macro2utf8["real"] = "ℜ"; +utf82macro["ℜ"] = "real"; macro2utf8["nexists"] = "∄"; utf82macro["∄"] = "nexists"; macro2utf8["nsup"] = "⊅"; @@ -751,10 +751,10 @@ macro2utf8["zhcy"] = "ж"; utf82macro["ж"] = "zhcy"; macro2utf8["imacr"] = "ī"; utf82macro["ī"] = "imacr"; -macro2utf8["egrave"] = "è"; -utf82macro["è"] = "egrave"; -macro2utf8["acirc"] = "â"; -utf82macro["â"] = "acirc"; +macro2utf8["egrave"] = "è"; +utf82macro["è"] = "egrave"; +macro2utf8["acirc"] = "â"; +utf82macro["â"] = "acirc"; macro2utf8["grave"] = "`"; utf82macro["`"] = "grave"; macro2utf8["biguplus"] = "⊎"; @@ -765,16 +765,16 @@ macro2utf8["GreaterSlantEqual"] = "⩾"; utf82macro["⩾"] = "GreaterSlantEqual"; macro2utf8["capand"] = "⩄"; utf82macro["⩄"] = "capand"; -macro2utf8["yuml"] = "ÿ"; -utf82macro["ÿ"] = "yuml"; +macro2utf8["yuml"] = "ÿ"; +utf82macro["ÿ"] = "yuml"; macro2utf8["orv"] = "⩛"; utf82macro["⩛"] = "orv"; macro2utf8["Icy"] = "И"; utf82macro["И"] = "Icy"; macro2utf8["rightharpoondown"] = "⇁"; utf82macro["⇁"] = "rightharpoondown"; -macro2utf8["upsilon"] = "υ"; -utf82macro["υ"] = "upsilon"; +macro2utf8["upsilon"] = "υ"; +utf82macro["υ"] = "upsilon"; macro2utf8["preccurlyeq"] = "≼"; utf82macro["≼"] = "preccurlyeq"; macro2utf8["ShortUpArrow"] = "⌃︀"; @@ -783,10 +783,10 @@ macro2utf8["searhk"] = "⤥"; utf82macro["⤥"] = "searhk"; macro2utf8["commat"] = "@"; utf82macro["@"] = "commat"; -macro2utf8["Sqrt"] = "√"; -utf82macro["√"] = "Sqrt"; -macro2utf8["wp"] = "℘"; -utf82macro["℘"] = "wp"; +macro2utf8["Sqrt"] = "√"; +utf82macro["√"] = "Sqrt"; +macro2utf8["wp"] = "℘"; +utf82macro["℘"] = "wp"; macro2utf8["succnapprox"] = "⋩"; utf82macro["⋩"] = "succnapprox"; macro2utf8["wr"] = "≀"; @@ -813,8 +813,8 @@ macro2utf8["rect"] = "▭"; utf82macro["▭"] = "rect"; macro2utf8["Fouriertrf"] = "ℱ"; utf82macro["ℱ"] = "Fouriertrf"; -macro2utf8["xi"] = "ξ"; -utf82macro["ξ"] = "xi"; +macro2utf8["xi"] = "ξ"; +utf82macro["ξ"] = "xi"; macro2utf8["NotTilde"] = "≁"; utf82macro["≁"] = "NotTilde"; macro2utf8["gbreve"] = "ğ"; @@ -827,52 +827,52 @@ macro2utf8["nhArr"] = "⇎"; utf82macro["⇎"] = "nhArr"; macro2utf8["lsim"] = "≲"; utf82macro["≲"] = "lsim"; -macro2utf8["RightCeiling"] = "⌉"; -utf82macro["⌉"] = "RightCeiling"; -macro2utf8["nedot"] = "≠︀"; -utf82macro["≠︀"] = "nedot"; -macro2utf8["thksim"] = "∼︀"; -utf82macro["∼︀"] = "thksim"; +macro2utf8["RightCeiling"] = "⌉"; +utf82macro["⌉"] = "RightCeiling"; +macro2utf8["nedot"] = "≠︀"; +utf82macro["≠︀"] = "nedot"; +macro2utf8["thksim"] = "∼︀"; +utf82macro["∼︀"] = "thksim"; macro2utf8["lEg"] = "⋚"; utf82macro["⋚"] = "lEg"; -macro2utf8["Ifr"] = "ℑ"; -utf82macro["ℑ"] = "Ifr"; -macro2utf8["emsp"] = " "; -utf82macro[" "] = "emsp"; +macro2utf8["Ifr"] = "ℑ"; +utf82macro["ℑ"] = "Ifr"; +macro2utf8["emsp"] = " "; +utf82macro[" "] = "emsp"; macro2utf8["lopar"] = "〘"; utf82macro["〘"] = "lopar"; macro2utf8["iiiint"] = "⨌"; utf82macro["⨌"] = "iiiint"; -macro2utf8["straightepsilon"] = "ε"; -utf82macro["ε"] = "straightepsilon"; +macro2utf8["straightepsilon"] = "ε"; +utf82macro["ε"] = "straightepsilon"; macro2utf8["intlarhk"] = "⨗"; utf82macro["⨗"] = "intlarhk"; -macro2utf8["image"] = "ℑ"; -utf82macro["ℑ"] = "image"; +macro2utf8["image"] = "ℑ"; +utf82macro["ℑ"] = "image"; macro2utf8["sqsubseteq"] = "⊑"; utf82macro["⊑"] = "sqsubseteq"; macro2utf8["lnapprox"] = "⪉"; utf82macro["⪉"] = "lnapprox"; -macro2utf8["Leftrightarrow"] = "⇔"; -utf82macro["⇔"] = "Leftrightarrow"; +macro2utf8["Leftrightarrow"] = "⇔"; +utf82macro["⇔"] = "Leftrightarrow"; macro2utf8["cemptyv"] = "⦲"; utf82macro["⦲"] = "cemptyv"; -macro2utf8["alpha"] = "α"; -utf82macro["α"] = "alpha"; -macro2utf8["uml"] = "¨"; -utf82macro["¨"] = "uml"; +macro2utf8["alpha"] = "α"; +utf82macro["α"] = "alpha"; +macro2utf8["uml"] = "¨"; +utf82macro["¨"] = "uml"; macro2utf8["barwedge"] = "⊼"; utf82macro["⊼"] = "barwedge"; macro2utf8["KHcy"] = "Х"; utf82macro["Х"] = "KHcy"; -macro2utf8["tilde"] = "˜"; -utf82macro["˜"] = "tilde"; -macro2utf8["Superset"] = "⊃"; -utf82macro["⊃"] = "Superset"; +macro2utf8["tilde"] = "˜"; +utf82macro["˜"] = "tilde"; +macro2utf8["Superset"] = "⊃"; +utf82macro["⊃"] = "Superset"; macro2utf8["gesles"] = "⪔"; utf82macro["⪔"] = "gesles"; -macro2utf8["bigoplus"] = "⊕"; -utf82macro["⊕"] = "bigoplus"; +macro2utf8["bigoplus"] = "⊕"; +utf82macro["⊕"] = "bigoplus"; macro2utf8["boxuL"] = "╛"; utf82macro["╛"] = "boxuL"; macro2utf8["rbbrk"] = "〕"; @@ -951,46 +951,46 @@ macro2utf8["NotNestedGreaterGreater"] = "⒢̸"; utf82macro["⒢̸"] = "NotNestedGreaterGreater"; macro2utf8["smtes"] = "⪬︀"; utf82macro["⪬︀"] = "smtes"; -macro2utf8["LeftAngleBracket"] = "⟨"; -utf82macro["⟨"] = "LeftAngleBracket"; +macro2utf8["LeftAngleBracket"] = "〈"; +utf82macro["〈"] = "LeftAngleBracket"; macro2utf8["iogon"] = "į"; utf82macro["į"] = "iogon"; macro2utf8["ExponentialE"] = "ⅇ"; utf82macro["ⅇ"] = "ExponentialE"; macro2utf8["Topf"] = "𝕋"; utf82macro["𝕋"] = "Topf"; -macro2utf8["GreaterEqual"] = "≥"; -utf82macro["≥"] = "GreaterEqual"; +macro2utf8["GreaterEqual"] = "≥"; +utf82macro["≥"] = "GreaterEqual"; macro2utf8["DownTee"] = "⊤"; utf82macro["⊤"] = "DownTee"; macro2utf8["boxul"] = "┘"; utf82macro["┘"] = "boxul"; macro2utf8["wreath"] = "≀"; utf82macro["≀"] = "wreath"; -macro2utf8["sigma"] = "σ"; -utf82macro["σ"] = "sigma"; +macro2utf8["sigma"] = "σ"; +utf82macro["σ"] = "sigma"; macro2utf8["ENG"] = "Ŋ"; utf82macro["Ŋ"] = "ENG"; macro2utf8["Ncedil"] = "Ņ"; utf82macro["Ņ"] = "Ncedil"; macro2utf8["ecy"] = "э"; utf82macro["э"] = "ecy"; -macro2utf8["nsubset"] = "⊄"; -utf82macro["⊄"] = "nsubset"; +macro2utf8["nsubset"] = "⊄"; +utf82macro["⊄"] = "nsubset"; macro2utf8["LessFullEqual"] = "≦"; utf82macro["≦"] = "LessFullEqual"; macro2utf8["bsolb"] = "⧅"; utf82macro["⧅"] = "bsolb"; macro2utf8["boxur"] = "└"; utf82macro["└"] = "boxur"; -macro2utf8["ThinSpace"] = " "; -utf82macro[" "] = "ThinSpace"; +macro2utf8["ThinSpace"] = " "; +utf82macro[" "] = "ThinSpace"; macro2utf8["supdsub"] = "⫘"; utf82macro["⫘"] = "supdsub"; macro2utf8["colone"] = "≔"; utf82macro["≔"] = "colone"; -macro2utf8["curren"] = "¤"; -utf82macro["¤"] = "curren"; +macro2utf8["curren"] = "¤"; +utf82macro["¤"] = "curren"; macro2utf8["boxvh"] = "┼"; utf82macro["┼"] = "boxvh"; macro2utf8["ecaron"] = "ě"; @@ -1021,8 +1021,8 @@ macro2utf8["nvDash"] = "⊭"; utf82macro["⊭"] = "nvDash"; macro2utf8["NotGreaterFullEqual"] = "≰"; utf82macro["≰"] = "NotGreaterFullEqual"; -macro2utf8["uparrow"] = "↑"; -utf82macro["↑"] = "uparrow"; +macro2utf8["uparrow"] = "↑"; +utf82macro["↑"] = "uparrow"; macro2utf8["nsupset"] = "⊅"; utf82macro["⊅"] = "nsupset"; macro2utf8["simeq"] = "≃"; @@ -1033,44 +1033,44 @@ macro2utf8["RightTriangle"] = "⊳"; utf82macro["⊳"] = "RightTriangle"; macro2utf8["Lang"] = "《"; utf82macro["《"] = "Lang"; -macro2utf8["Ucirc"] = "Û"; -utf82macro["Û"] = "Ucirc"; +macro2utf8["Ucirc"] = "Û"; +utf82macro["Û"] = "Ucirc"; macro2utf8["iopf"] = "𝕚"; utf82macro["𝕚"] = "iopf"; macro2utf8["leftrightsquigarrow"] = "↭"; utf82macro["↭"] = "leftrightsquigarrow"; macro2utf8["Gscr"] = "𝒢"; utf82macro["𝒢"] = "Gscr"; -macro2utf8["lfloor"] = "⌊"; -utf82macro["⌊"] = "lfloor"; +macro2utf8["lfloor"] = "⌊"; +utf82macro["⌊"] = "lfloor"; macro2utf8["lbbrk"] = "〔"; utf82macro["〔"] = "lbbrk"; macro2utf8["bigvee"] = "⋁"; utf82macro["⋁"] = "bigvee"; -macro2utf8["ordf"] = "ª"; -utf82macro["ª"] = "ordf"; -macro2utf8["rsquo"] = "’"; -utf82macro["’"] = "rsquo"; +macro2utf8["ordf"] = "ª"; +utf82macro["ª"] = "ordf"; +macro2utf8["rsquo"] = "’"; +utf82macro["’"] = "rsquo"; macro2utf8["parallel"] = "∥"; utf82macro["∥"] = "parallel"; -macro2utf8["half"] = "½"; -utf82macro["½"] = "half"; -macro2utf8["supseteq"] = "⊇"; -utf82macro["⊇"] = "supseteq"; +macro2utf8["half"] = "½"; +utf82macro["½"] = "half"; +macro2utf8["supseteq"] = "⊇"; +utf82macro["⊇"] = "supseteq"; macro2utf8["ngeqq"] = "≱"; utf82macro["≱"] = "ngeqq"; macro2utf8["popf"] = "𝕡"; utf82macro["𝕡"] = "popf"; -macro2utf8["NonBreakingSpace"] = " "; -utf82macro[" "] = "NonBreakingSpace"; +macro2utf8["NonBreakingSpace"] = " "; +utf82macro[" "] = "NonBreakingSpace"; macro2utf8["softcy"] = "ь"; utf82macro["ь"] = "softcy"; -macro2utf8["ordm"] = "º"; -utf82macro["º"] = "ordm"; +macro2utf8["ordm"] = "º"; +utf82macro["º"] = "ordm"; macro2utf8["Nscr"] = "𝒩"; utf82macro["𝒩"] = "Nscr"; -macro2utf8["owns"] = "∋"; -utf82macro["∋"] = "owns"; +macro2utf8["owns"] = "∋"; +utf82macro["∋"] = "owns"; macro2utf8["phi"] = "ϕ"; utf82macro["ϕ"] = "phi"; macro2utf8["efr"] = "𝔢"; @@ -1083,12 +1083,12 @@ macro2utf8["lneq"] = "≨"; utf82macro["≨"] = "lneq"; macro2utf8["parallet"] = "????"; utf82macro["????"] = "parallet"; -macro2utf8["ndash"] = "–"; -utf82macro["–"] = "ndash"; +macro2utf8["ndash"] = "–"; +utf82macro["–"] = "ndash"; macro2utf8["DoubleLeftTee"] = "⫤"; utf82macro["⫤"] = "DoubleLeftTee"; -macro2utf8["lArr"] = "⇐"; -utf82macro["⇐"] = "lArr"; +macro2utf8["lArr"] = "⇐"; +utf82macro["⇐"] = "lArr"; macro2utf8["becaus"] = "∵"; utf82macro["∵"] = "becaus"; macro2utf8["RightTee"] = "⊢"; @@ -1123,22 +1123,22 @@ macro2utf8["reals"] = "ℝ"; utf82macro["ℝ"] = "reals"; macro2utf8["CupCap"] = "≍"; utf82macro["≍"] = "CupCap"; -macro2utf8["Oacute"] = "Ó"; -utf82macro["Ó"] = "Oacute"; +macro2utf8["Oacute"] = "Ó"; +utf82macro["Ó"] = "Oacute"; macro2utf8["Zfr"] = "ℨ"; utf82macro["ℨ"] = "Zfr"; macro2utf8["ReverseEquilibrium"] = "⇋"; utf82macro["⇋"] = "ReverseEquilibrium"; -macro2utf8["ccedil"] = "ç"; -utf82macro["ç"] = "ccedil"; +macro2utf8["ccedil"] = "ç"; +utf82macro["ç"] = "ccedil"; macro2utf8["bigtriangleup"] = "△"; utf82macro["△"] = "bigtriangleup"; -macro2utf8["piv"] = "ϖ"; -utf82macro["ϖ"] = "piv"; +macro2utf8["piv"] = "ϖ"; +utf82macro["ϖ"] = "piv"; macro2utf8["cirscir"] = "⧂"; utf82macro["⧂"] = "cirscir"; -macro2utf8["exists"] = "∃"; -utf82macro["∃"] = "exists"; +macro2utf8["exists"] = "∃"; +utf82macro["∃"] = "exists"; macro2utf8["Uarrocir"] = "⥉"; utf82macro["⥉"] = "Uarrocir"; macro2utf8["Dcy"] = "Д"; @@ -1177,8 +1177,8 @@ macro2utf8["angmsdac"] = "⦪"; utf82macro["⦪"] = "angmsdac"; macro2utf8["xdtri"] = "▽"; utf82macro["▽"] = "xdtri"; -macro2utf8["iota"] = "ι"; -utf82macro["ι"] = "iota"; +macro2utf8["iota"] = "ι"; +utf82macro["ι"] = "iota"; macro2utf8["angmsdad"] = "⦫"; utf82macro["⦫"] = "angmsdad"; macro2utf8["angmsdae"] = "⦬"; @@ -1187,8 +1187,8 @@ macro2utf8["rightarrowtail"] = "↣"; utf82macro["↣"] = "rightarrowtail"; macro2utf8["angmsdaf"] = "⦭"; utf82macro["⦭"] = "angmsdaf"; -macro2utf8["Ocirc"] = "Ô"; -utf82macro["Ô"] = "Ocirc"; +macro2utf8["Ocirc"] = "Ô"; +utf82macro["Ô"] = "Ocirc"; macro2utf8["angmsdag"] = "⦮"; utf82macro["⦮"] = "angmsdag"; macro2utf8["Ofr"] = "𝔒"; @@ -1197,42 +1197,42 @@ macro2utf8["maltese"] = "✠"; utf82macro["✠"] = "maltese"; macro2utf8["angmsdah"] = "⦯"; utf82macro["⦯"] = "angmsdah"; -macro2utf8["Del"] = "∇"; -utf82macro["∇"] = "Del"; +macro2utf8["Del"] = "∇"; +utf82macro["∇"] = "Del"; macro2utf8["Barwed"] = "⌆"; utf82macro["⌆"] = "Barwed"; macro2utf8["drbkarow"] = "⤐"; utf82macro["⤐"] = "drbkarow"; macro2utf8["qscr"] = "𝓆"; utf82macro["𝓆"] = "qscr"; -macro2utf8["ETH"] = "Ð"; -utf82macro["Ð"] = "ETH"; +macro2utf8["ETH"] = "Ð"; +utf82macro["Ð"] = "ETH"; macro2utf8["operp"] = "⦹"; utf82macro["⦹"] = "operp"; macro2utf8["daleth"] = "ℸ"; utf82macro["ℸ"] = "daleth"; -macro2utf8["bull"] = "•"; -utf82macro["•"] = "bull"; +macro2utf8["bull"] = "•"; +utf82macro["•"] = "bull"; macro2utf8["simlE"] = "⪟"; utf82macro["⪟"] = "simlE"; -macro2utf8["lsquo"] = "‘"; -utf82macro["‘"] = "lsquo"; +macro2utf8["lsquo"] = "‘"; +utf82macro["‘"] = "lsquo"; macro2utf8["Larr"] = "↞"; utf82macro["↞"] = "Larr"; macro2utf8["curarr"] = "↷"; utf82macro["↷"] = "curarr"; macro2utf8["blacktriangleleft"] = "◂"; utf82macro["◂"] = "blacktriangleleft"; -macro2utf8["hellip"] = "…"; -utf82macro["…"] = "hellip"; +macro2utf8["hellip"] = "…"; +utf82macro["…"] = "hellip"; macro2utf8["DoubleVerticalBar"] = "∥"; utf82macro["∥"] = "DoubleVerticalBar"; macro2utf8["rBarr"] = "⤏"; utf82macro["⤏"] = "rBarr"; macro2utf8["chcy"] = "ч"; utf82macro["ч"] = "chcy"; -macro2utf8["varpi"] = "ϖ"; -utf82macro["ϖ"] = "varpi"; +macro2utf8["varpi"] = "ϖ"; +utf82macro["ϖ"] = "varpi"; macro2utf8["Cconint"] = "∰"; utf82macro["∰"] = "Cconint"; macro2utf8["xlarr"] = ""; @@ -1245,8 +1245,8 @@ macro2utf8["CounterClockwiseContourIntegral"] = "∳"; utf82macro["∳"] = "CounterClockwiseContourIntegral"; macro2utf8["urcrop"] = "⌎"; utf82macro["⌎"] = "urcrop"; -macro2utf8["RightAngleBracket"] = "⟩"; -utf82macro["⟩"] = "RightAngleBracket"; +macro2utf8["RightAngleBracket"] = "〉"; +utf82macro["〉"] = "RightAngleBracket"; macro2utf8["Rcaron"] = "Ř"; utf82macro["Ř"] = "Rcaron"; macro2utf8["latail"] = "⤙"; @@ -1277,12 +1277,12 @@ macro2utf8["gEl"] = "⋛"; utf82macro["⋛"] = "gEl"; macro2utf8["bump"] = "≎"; utf82macro["≎"] = "bump"; -macro2utf8["aleph"] = "ℵ"; -utf82macro["ℵ"] = "aleph"; +macro2utf8["aleph"] = "ℵ"; +utf82macro["ℵ"] = "aleph"; macro2utf8["Ubreve"] = "Ŭ"; utf82macro["Ŭ"] = "Ubreve"; -macro2utf8["isinv"] = "∈"; -utf82macro["∈"] = "isinv"; +macro2utf8["isinv"] = "∈"; +utf82macro["∈"] = "isinv"; macro2utf8["smile"] = "⌣"; utf82macro["⌣"] = "smile"; macro2utf8["llcorner"] = "⌞"; @@ -1291,10 +1291,10 @@ macro2utf8["boxH"] = "═"; utf82macro["═"] = "boxH"; macro2utf8["ecir"] = "≖"; utf82macro["≖"] = "ecir"; -macro2utf8["varnothing"] = "∅"; -utf82macro["∅"] = "varnothing"; -macro2utf8["iuml"] = "ï"; -utf82macro["ï"] = "iuml"; +macro2utf8["varnothing"] = "∅"; +utf82macro["∅"] = "varnothing"; +macro2utf8["iuml"] = "ï"; +utf82macro["ï"] = "iuml"; macro2utf8["mlcp"] = "⫛"; utf82macro["⫛"] = "mlcp"; macro2utf8["leftrightharpoons"] = "⇋"; @@ -1303,16 +1303,16 @@ macro2utf8["ncong"] = "≇"; utf82macro["≇"] = "ncong"; macro2utf8["Vert"] = "‖"; utf82macro["‖"] = "Vert"; -macro2utf8["vee"] = "∨"; -utf82macro["∨"] = "vee"; +macro2utf8["vee"] = "∨"; +utf82macro["∨"] = "vee"; macro2utf8["star"] = "⋆"; utf82macro["⋆"] = "star"; macro2utf8["boxV"] = "║"; utf82macro["║"] = "boxV"; -macro2utf8["LeftRightArrow"] = "↔"; -utf82macro["↔"] = "LeftRightArrow"; -macro2utf8["leftrightarrow"] = "↔"; -utf82macro["↔"] = "leftrightarrow"; +macro2utf8["LeftRightArrow"] = "↔"; +utf82macro["↔"] = "LeftRightArrow"; +macro2utf8["leftrightarrow"] = "↔"; +utf82macro["↔"] = "leftrightarrow"; macro2utf8["lstrok"] = "ł"; utf82macro["ł"] = "lstrok"; macro2utf8["ell"] = "ℓ"; @@ -1325,10 +1325,10 @@ macro2utf8["NotGreater"] = "≯"; utf82macro["≯"] = "NotGreater"; macro2utf8["Abreve"] = "Ă"; utf82macro["Ă"] = "Abreve"; -macro2utf8["TildeTilde"] = "≈"; -utf82macro["≈"] = "TildeTilde"; -macro2utf8["CircleTimes"] = "⊗"; -utf82macro["⊗"] = "CircleTimes"; +macro2utf8["TildeTilde"] = "≈"; +utf82macro["≈"] = "TildeTilde"; +macro2utf8["CircleTimes"] = "⊗"; +utf82macro["⊗"] = "CircleTimes"; macro2utf8["subsetneq"] = "⊊"; utf82macro["⊊"] = "subsetneq"; macro2utf8["ltcc"] = "⪦"; @@ -1341,10 +1341,10 @@ macro2utf8["kcy"] = "к"; utf82macro["к"] = "kcy"; macro2utf8["nshortmid"] = "∤︀"; utf82macro["∤︀"] = "nshortmid"; -macro2utf8["mldr"] = "…"; -utf82macro["…"] = "mldr"; -macro2utf8["harr"] = "↔"; -utf82macro["↔"] = "harr"; +macro2utf8["mldr"] = "…"; +utf82macro["…"] = "mldr"; +macro2utf8["harr"] = "↔"; +utf82macro["↔"] = "harr"; macro2utf8["gimel"] = "ℷ"; utf82macro["ℷ"] = "gimel"; macro2utf8["Otimes"] = "⨷"; @@ -1355,16 +1355,16 @@ macro2utf8["ltdot"] = "⋖"; utf82macro["⋖"] = "ltdot"; macro2utf8["boxh"] = "─"; utf82macro["─"] = "boxh"; -macro2utf8["notin"] = "∉"; -utf82macro["∉"] = "notin"; +macro2utf8["notin"] = "∉"; +utf82macro["∉"] = "notin"; macro2utf8["RuleDelayed"] = "⧴"; utf82macro["⧴"] = "RuleDelayed"; macro2utf8["sqsube"] = "⊑"; utf82macro["⊑"] = "sqsube"; -macro2utf8["macr"] = "¯"; -utf82macro["¯"] = "macr"; -macro2utf8["Icirc"] = "Î"; -utf82macro["Î"] = "Icirc"; +macro2utf8["macr"] = "¯"; +utf82macro["¯"] = "macr"; +macro2utf8["Icirc"] = "Î"; +utf82macro["Î"] = "Icirc"; macro2utf8["comma"] = ","; utf82macro[","] = "comma"; macro2utf8["Cayleys"] = "ℭ"; @@ -1427,12 +1427,12 @@ macro2utf8["vsubne"] = "⊊︀"; utf82macro["⊊︀"] = "vsubne"; macro2utf8["hbar"] = "ℏ︀"; utf82macro["ℏ︀"] = "hbar"; -macro2utf8["subset"] = "⊂"; -utf82macro["⊂"] = "subset"; +macro2utf8["subset"] = "⊂"; +utf82macro["⊂"] = "subset"; macro2utf8["UpTeeArrow"] = "↥"; utf82macro["↥"] = "UpTeeArrow"; -macro2utf8["LeftFloor"] = "⌊"; -utf82macro["⌊"] = "LeftFloor"; +macro2utf8["LeftFloor"] = "⌊"; +utf82macro["⌊"] = "LeftFloor"; macro2utf8["kfr"] = "𝔨"; utf82macro["𝔨"] = "kfr"; macro2utf8["nisd"] = "⋺"; @@ -1445,8 +1445,8 @@ macro2utf8["nprec"] = "⊀"; utf82macro["⊀"] = "nprec"; macro2utf8["ltrPar"] = "⦖"; utf82macro["⦖"] = "ltrPar"; -macro2utf8["Scaron"] = "Š"; -utf82macro["Š"] = "Scaron"; +macro2utf8["Scaron"] = "Š"; +utf82macro["Š"] = "Scaron"; macro2utf8["InvisibleComma"] = "​"; utf82macro["​"] = "InvisibleComma"; macro2utf8["SquareUnion"] = "⊔"; @@ -1455,48 +1455,48 @@ macro2utf8["ffllig"] = "ffl"; utf82macro["ffl"] = "ffllig"; macro2utf8["approxeq"] = "≊"; utf82macro["≊"] = "approxeq"; -macro2utf8["yacute"] = "ý"; -utf82macro["ý"] = "yacute"; +macro2utf8["yacute"] = "ý"; +utf82macro["ý"] = "yacute"; macro2utf8["pre"] = "⪯"; utf82macro["⪯"] = "pre"; macro2utf8["nsqsupe"] = "⋣"; utf82macro["⋣"] = "nsqsupe"; -macro2utf8["supset"] = "⊃"; -utf82macro["⊃"] = "supset"; -macro2utf8["bsolhsub"] = "\\⊂"; -utf82macro["\\⊂"] = "bsolhsub"; +macro2utf8["supset"] = "⊃"; +utf82macro["⊃"] = "supset"; +macro2utf8["bsolhsub"] = "\\⊂"; +utf82macro["\\⊂"] = "bsolhsub"; macro2utf8["nshortparallel"] = "∦︀"; utf82macro["∦︀"] = "nshortparallel"; -macro2utf8["lozenge"] = "◊"; -utf82macro["◊"] = "lozenge"; -macro2utf8["lnot"] = "¬"; -utf82macro["¬"] = "lnot"; +macro2utf8["lozenge"] = "◊"; +utf82macro["◊"] = "lozenge"; +macro2utf8["lnot"] = "¬"; +utf82macro["¬"] = "lnot"; macro2utf8["Dopf"] = "𝔻"; utf82macro["𝔻"] = "Dopf"; macro2utf8["leftharpoonup"] = "↼"; utf82macro["↼"] = "leftharpoonup"; macro2utf8["Jcy"] = "Й"; utf82macro["Й"] = "Jcy"; -macro2utf8["rightarrow"] = "→"; -utf82macro["→"] = "rightarrow"; +macro2utf8["rightarrow"] = "→"; +utf82macro["→"] = "rightarrow"; macro2utf8["ntriangleright"] = "⋫"; utf82macro["⋫"] = "ntriangleright"; macro2utf8["Ccirc"] = "Ĉ"; utf82macro["Ĉ"] = "Ccirc"; -macro2utf8["eacute"] = "é"; -utf82macro["é"] = "eacute"; -macro2utf8["acute"] = "´"; -utf82macro["´"] = "acute"; +macro2utf8["eacute"] = "é"; +utf82macro["é"] = "eacute"; +macro2utf8["acute"] = "´"; +utf82macro["´"] = "acute"; macro2utf8["Precedes"] = "≺"; utf82macro["≺"] = "Precedes"; -macro2utf8["middot"] = "·"; -utf82macro["·"] = "middot"; +macro2utf8["middot"] = "·"; +utf82macro["·"] = "middot"; macro2utf8["lHar"] = "⥢"; utf82macro["⥢"] = "lHar"; macro2utf8["eparsl"] = "⧣"; utf82macro["⧣"] = "eparsl"; -macro2utf8["psi"] = "ψ"; -utf82macro["ψ"] = "psi"; +macro2utf8["psi"] = "ψ"; +utf82macro["ψ"] = "psi"; macro2utf8["parsl"] = "∥︀"; utf82macro["∥︀"] = "parsl"; macro2utf8["UpperLeftArrow"] = "↖"; @@ -1517,14 +1517,14 @@ macro2utf8["UnderParenthesis"] = "︶"; utf82macro["︶"] = "UnderParenthesis"; macro2utf8["notni"] = "∌"; utf82macro["∌"] = "notni"; -macro2utf8["dagger"] = "†"; -utf82macro["†"] = "dagger"; +macro2utf8["dagger"] = "†"; +utf82macro["†"] = "dagger"; macro2utf8["dharr"] = "⇂"; utf82macro["⇂"] = "dharr"; macro2utf8["twoheadleftarrow"] = "↞"; utf82macro["↞"] = "twoheadleftarrow"; -macro2utf8["frac12"] = "½"; -utf82macro["½"] = "frac12"; +macro2utf8["frac12"] = "½"; +utf82macro["½"] = "frac12"; macro2utf8["varsubsetneqq"] = "⊊︀"; utf82macro["⊊︀"] = "varsubsetneqq"; macro2utf8["frac13"] = "⅓"; @@ -1535,8 +1535,8 @@ macro2utf8["NestedLessLess"] = "≪"; utf82macro["≪"] = "NestedLessLess"; macro2utf8["llarr"] = "⇇"; utf82macro["⇇"] = "llarr"; -macro2utf8["frac14"] = "¼"; -utf82macro["¼"] = "frac14"; +macro2utf8["frac14"] = "¼"; +utf82macro["¼"] = "frac14"; macro2utf8["frac15"] = "⅕"; utf82macro["⅕"] = "frac15"; macro2utf8["Ropf"] = "ℝ"; @@ -1547,14 +1547,14 @@ macro2utf8["lrtri"] = "⊿"; utf82macro["⊿"] = "lrtri"; macro2utf8["frac18"] = "⅛"; utf82macro["⅛"] = "frac18"; -macro2utf8["cedil"] = "¸"; -utf82macro["¸"] = "cedil"; +macro2utf8["cedil"] = "¸"; +utf82macro["¸"] = "cedil"; macro2utf8["subsim"] = "⫇"; utf82macro["⫇"] = "subsim"; macro2utf8["PrecedesTilde"] = "≾"; utf82macro["≾"] = "PrecedesTilde"; -macro2utf8["igrave"] = "ì"; -utf82macro["ì"] = "igrave"; +macro2utf8["igrave"] = "ì"; +utf82macro["ì"] = "igrave"; macro2utf8["gjcy"] = "ѓ"; utf82macro["ѓ"] = "gjcy"; macro2utf8["LeftVector"] = "↼"; @@ -1569,8 +1569,8 @@ macro2utf8["notnivc"] = "⋽"; utf82macro["⋽"] = "notnivc"; macro2utf8["Yopf"] = "𝕐"; utf82macro["𝕐"] = "Yopf"; -macro2utf8["there4"] = "∴"; -utf82macro["∴"] = "there4"; +macro2utf8["there4"] = "∴"; +utf82macro["∴"] = "there4"; macro2utf8["udarr"] = "⇅"; utf82macro["⇅"] = "udarr"; macro2utf8["bkarow"] = "⤍"; @@ -1583,42 +1583,42 @@ macro2utf8["njcy"] = "њ"; utf82macro["њ"] = "njcy"; macro2utf8["Dashv"] = "⫤"; utf82macro["⫤"] = "Dashv"; -macro2utf8["eta"] = "η"; -utf82macro["η"] = "eta"; +macro2utf8["eta"] = "η"; +utf82macro["η"] = "eta"; macro2utf8["bcong"] = "≌"; utf82macro["≌"] = "bcong"; -macro2utf8["Ugrave"] = "Ù"; -utf82macro["Ù"] = "Ugrave"; +macro2utf8["Ugrave"] = "Ù"; +utf82macro["Ù"] = "Ugrave"; macro2utf8["csube"] = "⫑"; utf82macro["⫑"] = "csube"; -macro2utf8["clubs"] = "♣"; -utf82macro["♣"] = "clubs"; +macro2utf8["clubs"] = "♣"; +utf82macro["♣"] = "clubs"; macro2utf8["supmult"] = "⫂"; utf82macro["⫂"] = "supmult"; macro2utf8["MinusPlus"] = "∓"; utf82macro["∓"] = "MinusPlus"; macro2utf8["Jfr"] = "𝔍"; utf82macro["𝔍"] = "Jfr"; -macro2utf8["ensp"] = " "; -utf82macro[" "] = "ensp"; -macro2utf8["ucirc"] = "û"; -utf82macro["û"] = "ucirc"; +macro2utf8["ensp"] = " "; +utf82macro[" "] = "ensp"; +macro2utf8["ucirc"] = "û"; +utf82macro["û"] = "ucirc"; macro2utf8["supsim"] = "⫈"; utf82macro["⫈"] = "supsim"; -macro2utf8["eth"] = "ð"; -utf82macro["ð"] = "eth"; +macro2utf8["eth"] = "ð"; +utf82macro["ð"] = "eth"; macro2utf8["OverBrace"] = "︷"; utf82macro["︷"] = "OverBrace"; -macro2utf8["Dot"] = "¨"; -utf82macro["¨"] = "Dot"; +macro2utf8["Dot"] = "¨"; +utf82macro["¨"] = "Dot"; macro2utf8["xcap"] = "⋂"; utf82macro["⋂"] = "xcap"; macro2utf8["vangrt"] = "⊾"; utf82macro["⊾"] = "vangrt"; macro2utf8["NotSubsetEqual"] = "⊈"; utf82macro["⊈"] = "NotSubsetEqual"; -macro2utf8["frac34"] = "¾"; -utf82macro["¾"] = "frac34"; +macro2utf8["frac34"] = "¾"; +utf82macro["¾"] = "frac34"; macro2utf8["frac35"] = "⅗"; utf82macro["⅗"] = "frac35"; macro2utf8["planck"] = "ℏ︀"; @@ -1635,10 +1635,10 @@ macro2utf8["mapstoup"] = "↥"; utf82macro["↥"] = "mapstoup"; macro2utf8["Escr"] = "ℰ"; utf82macro["ℰ"] = "Escr"; -macro2utf8["Integral"] = "∫"; -utf82macro["∫"] = "Integral"; -macro2utf8["Agrave"] = "À"; -utf82macro["À"] = "Agrave"; +macro2utf8["Integral"] = "∫"; +utf82macro["∫"] = "Integral"; +macro2utf8["Agrave"] = "À"; +utf82macro["À"] = "Agrave"; macro2utf8["longleftarrow"] = "????;"; utf82macro["????;"] = "longleftarrow"; macro2utf8["Tcaron"] = "Ť"; @@ -1651,8 +1651,8 @@ macro2utf8["Emacr"] = "Ē"; utf82macro["Ē"] = "Emacr"; macro2utf8["omid"] = "⦶"; utf82macro["⦶"] = "omid"; -macro2utf8["spades"] = "♠"; -utf82macro["♠"] = "spades"; +macro2utf8["spades"] = "♠"; +utf82macro["♠"] = "spades"; macro2utf8["naturals"] = "ℕ"; utf82macro["ℕ"] = "naturals"; macro2utf8["Lscr"] = "ℒ"; @@ -1663,8 +1663,8 @@ macro2utf8["SucceedsTilde"] = "≿"; utf82macro["≿"] = "SucceedsTilde"; macro2utf8["frac45"] = "⅘"; utf82macro["⅘"] = "frac45"; -macro2utf8["clubsuit"] = "♣"; -utf82macro["♣"] = "clubsuit"; +macro2utf8["clubsuit"] = "♣"; +utf82macro["♣"] = "clubsuit"; macro2utf8["mumap"] = "⊸"; utf82macro["⊸"] = "mumap"; macro2utf8["vltri"] = "⊲"; @@ -1673,8 +1673,8 @@ macro2utf8["LeftArrowBar"] = "⇤"; utf82macro["⇤"] = "LeftArrowBar"; macro2utf8["zacute"] = "ź"; utf82macro["ź"] = "zacute"; -macro2utf8["szlig"] = "ß"; -utf82macro["ß"] = "szlig"; +macro2utf8["szlig"] = "ß"; +utf82macro["ß"] = "szlig"; macro2utf8["suplarr"] = "⥻"; utf82macro["⥻"] = "suplarr"; macro2utf8["RightDownVector"] = "⇂"; @@ -1693,18 +1693,18 @@ macro2utf8["YIcy"] = "Ї"; utf82macro["Ї"] = "YIcy"; macro2utf8["Sscr"] = "𝒮"; utf82macro["𝒮"] = "Sscr"; -macro2utf8["empty"] = "∅︀"; -utf82macro["∅︀"] = "empty"; +macro2utf8["empty"] = "∅︀"; +utf82macro["∅︀"] = "empty"; macro2utf8["Vdash"] = "⊩"; utf82macro["⊩"] = "Vdash"; macro2utf8["sqsubset"] = "⊏"; utf82macro["⊏"] = "sqsubset"; macro2utf8["efDot"] = "≒"; utf82macro["≒"] = "efDot"; -macro2utf8["times"] = "×"; -utf82macro["×"] = "times"; -macro2utf8["Oslash"] = "Ø"; -utf82macro["Ø"] = "Oslash"; +macro2utf8["times"] = "×"; +utf82macro["×"] = "times"; +macro2utf8["Oslash"] = "Ø"; +utf82macro["Ø"] = "Oslash"; macro2utf8["itilde"] = "ĩ"; utf82macro["ĩ"] = "itilde"; macro2utf8["frac56"] = "⅚"; @@ -1713,30 +1713,30 @@ macro2utf8["numero"] = "№"; utf82macro["№"] = "numero"; macro2utf8["malt"] = "✠"; utf82macro["✠"] = "malt"; -macro2utf8["npart"] = "∂̸"; -utf82macro["∂̸"] = "npart"; +macro2utf8["npart"] = "∂̸"; +utf82macro["∂̸"] = "npart"; macro2utf8["frac58"] = "⅝"; utf82macro["⅝"] = "frac58"; macro2utf8["Zscr"] = "𝒵"; utf82macro["𝒵"] = "Zscr"; macro2utf8["integers"] = "ℤ"; utf82macro["ℤ"] = "integers"; -macro2utf8["CloseCurlyQuote"] = "’"; -utf82macro["’"] = "CloseCurlyQuote"; +macro2utf8["CloseCurlyQuote"] = "’"; +utf82macro["’"] = "CloseCurlyQuote"; macro2utf8["NewLine"] = "\n"; utf82macro["\n"] = "NewLine"; macro2utf8["fcy"] = "ф"; utf82macro["ф"] = "fcy"; macro2utf8["nwarr"] = "↖"; utf82macro["↖"] = "nwarr"; -macro2utf8["thicksim"] = "∼︀"; -utf82macro["∼︀"] = "thicksim"; +macro2utf8["thicksim"] = "∼︀"; +utf82macro["∼︀"] = "thicksim"; macro2utf8["nprcue"] = "⋠"; utf82macro["⋠"] = "nprcue"; macro2utf8["lcub"] = "{"; utf82macro["{"] = "lcub"; -macro2utf8["forall"] = "∀"; -utf82macro["∀"] = "forall"; +macro2utf8["forall"] = "∀"; +utf82macro["∀"] = "forall"; macro2utf8["plusacir"] = "⨣"; utf82macro["⨣"] = "plusacir"; macro2utf8["ascr"] = "𝒶"; @@ -1745,8 +1745,8 @@ macro2utf8["plustwo"] = "⨧"; utf82macro["⨧"] = "plustwo"; macro2utf8["Utilde"] = "Ũ"; utf82macro["Ũ"] = "Utilde"; -macro2utf8["lambda"] = "λ"; -utf82macro["λ"] = "lambda"; +macro2utf8["lambda"] = "λ"; +utf82macro["λ"] = "lambda"; macro2utf8["odash"] = "⊝"; utf82macro["⊝"] = "odash"; macro2utf8["iukcy"] = "і"; @@ -1759,8 +1759,8 @@ macro2utf8["Longleftarrow"] = "????"; utf82macro["????"] = "Longleftarrow"; macro2utf8["capcap"] = "⩋"; utf82macro["⩋"] = "capcap"; -macro2utf8["ocirc"] = "ô"; -utf82macro["ô"] = "ocirc"; +macro2utf8["ocirc"] = "ô"; +utf82macro["ô"] = "ocirc"; macro2utf8["nless"] = "≮"; utf82macro["≮"] = "nless"; macro2utf8["Wedge"] = "⋀"; @@ -1785,8 +1785,8 @@ macro2utf8["tanh"] = "tanh"; utf82macro["tanh"] = "tanh"; macro2utf8["frac78"] = "⅞"; utf82macro["⅞"] = "frac78"; -macro2utf8["Atilde"] = "Ã"; -utf82macro["Ã"] = "Atilde"; +macro2utf8["Atilde"] = "Ã"; +utf82macro["Ã"] = "Atilde"; macro2utf8["arcsin"] = "arcsin"; utf82macro["arcsin"] = "arcsin"; macro2utf8["Rcedil"] = "Ŗ"; @@ -1801,8 +1801,8 @@ macro2utf8["simg"] = "⪞"; utf82macro["⪞"] = "simg"; macro2utf8["Conint"] = "∯"; utf82macro["∯"] = "Conint"; -macro2utf8["Yuml"] = "Ÿ"; -utf82macro["Ÿ"] = "Yuml"; +macro2utf8["Yuml"] = "Ÿ"; +utf82macro["Ÿ"] = "Yuml"; macro2utf8["rlhar"] = "⇌"; utf82macro["⇌"] = "rlhar"; macro2utf8["rarrbfs"] = "⤠"; @@ -1813,10 +1813,10 @@ macro2utf8["DownRightVectorBar"] = "⥗"; utf82macro["⥗"] = "DownRightVectorBar"; macro2utf8["vscr"] = "𝓋"; utf82macro["𝓋"] = "vscr"; -macro2utf8["divide"] = "÷"; -utf82macro["÷"] = "divide"; -macro2utf8["PlusMinus"] = "±"; -utf82macro["±"] = "PlusMinus"; +macro2utf8["divide"] = "÷"; +utf82macro["÷"] = "divide"; +macro2utf8["PlusMinus"] = "±"; +utf82macro["±"] = "PlusMinus"; macro2utf8["ffr"] = "𝔣"; utf82macro["𝔣"] = "ffr"; macro2utf8["DownLeftTeeVector"] = "⥞"; @@ -1827,8 +1827,8 @@ macro2utf8["SHCHcy"] = "Щ"; utf82macro["Щ"] = "SHCHcy"; macro2utf8["cirmid"] = "⫯"; utf82macro["⫯"] = "cirmid"; -macro2utf8["sigmav"] = "ς"; -utf82macro["ς"] = "sigmav"; +macro2utf8["sigmav"] = "ς"; +utf82macro["ς"] = "sigmav"; macro2utf8["csub"] = "⫏"; utf82macro["⫏"] = "csub"; macro2utf8["npar"] = "∦"; @@ -1845,12 +1845,12 @@ macro2utf8["lharul"] = "⥪"; utf82macro["⥪"] = "lharul"; macro2utf8["Jukcy"] = "Є"; utf82macro["Є"] = "Jukcy"; -macro2utf8["permil"] = "‰"; -utf82macro["‰"] = "permil"; +macro2utf8["permil"] = "‰"; +utf82macro["‰"] = "permil"; macro2utf8["ndivides"] = "∤"; utf82macro["∤"] = "ndivides"; -macro2utf8["Aring"] = "Å"; -utf82macro["Å"] = "Aring"; +macro2utf8["Aring"] = "Å"; +utf82macro["Å"] = "Aring"; macro2utf8["longmapsto"] = "????"; utf82macro["????"] = "longmapsto"; macro2utf8["Esim"] = "⩳"; @@ -1887,20 +1887,20 @@ macro2utf8["DownBreve"] = "̑"; utf82macro["̑"] = "DownBreve"; macro2utf8["Ecy"] = "Э"; utf82macro["Э"] = "Ecy"; -macro2utf8["rdquor"] = "”"; -utf82macro["”"] = "rdquor"; +macro2utf8["rdquor"] = "”"; +utf82macro["”"] = "rdquor"; macro2utf8["rAtail"] = "⤜"; utf82macro["⤜"] = "rAtail"; -macro2utf8["icirc"] = "î"; -utf82macro["î"] = "icirc"; +macro2utf8["icirc"] = "î"; +utf82macro["î"] = "icirc"; macro2utf8["gacute"] = "ǵ"; utf82macro["ǵ"] = "gacute"; macro2utf8["hyphen"] = "‐"; utf82macro["‐"] = "hyphen"; -macro2utf8["uuml"] = "ü"; -utf82macro["ü"] = "uuml"; -macro2utf8["thorn"] = "þ"; -utf82macro["þ"] = "thorn"; +macro2utf8["uuml"] = "ü"; +utf82macro["ü"] = "uuml"; +macro2utf8["thorn"] = "þ"; +utf82macro["þ"] = "thorn"; macro2utf8["ltri"] = "◃"; utf82macro["◃"] = "ltri"; macro2utf8["eqslantgtr"] = "⋝"; @@ -1913,8 +1913,8 @@ macro2utf8["DiacriticalGrave"] = "`"; utf82macro["`"] = "DiacriticalGrave"; macro2utf8["NotPrecedesEqual"] = "⪯̸"; utf82macro["⪯̸"] = "NotPrecedesEqual"; -macro2utf8["RightArrow"] = "→"; -utf82macro["→"] = "RightArrow"; +macro2utf8["RightArrow"] = "→"; +utf82macro["→"] = "RightArrow"; macro2utf8["race"] = "⧚"; utf82macro["⧚"] = "race"; macro2utf8["topbot"] = "⌶"; @@ -1927,8 +1927,8 @@ macro2utf8["Sacute"] = "Ś"; utf82macro["Ś"] = "Sacute"; macro2utf8["cupor"] = "⩅"; utf82macro["⩅"] = "cupor"; -macro2utf8["OverBar"] = "¯"; -utf82macro["¯"] = "OverBar"; +macro2utf8["OverBar"] = "¯"; +utf82macro["¯"] = "OverBar"; macro2utf8["bepsi"] = "϶"; utf82macro["϶"] = "bepsi"; macro2utf8["plankv"] = "ℏ"; @@ -1937,28 +1937,28 @@ macro2utf8["lap"] = "≲"; utf82macro["≲"] = "lap"; macro2utf8["orslope"] = "⩗"; utf82macro["⩗"] = "orslope"; -macro2utf8["beta"] = "β"; -utf82macro["β"] = "beta"; +macro2utf8["beta"] = "β"; +utf82macro["β"] = "beta"; macro2utf8["ShortDownArrow"] = "⌄︀"; utf82macro["⌄︀"] = "ShortDownArrow"; -macro2utf8["perp"] = "⊥"; -utf82macro["⊥"] = "perp"; +macro2utf8["perp"] = "⊥"; +utf82macro["⊥"] = "perp"; macro2utf8["lat"] = "⪫"; utf82macro["⪫"] = "lat"; -macro2utf8["CenterDot"] = "·"; -utf82macro["·"] = "CenterDot"; +macro2utf8["CenterDot"] = "·"; +utf82macro["·"] = "CenterDot"; macro2utf8["urcorner"] = "⌝"; utf82macro["⌝"] = "urcorner"; macro2utf8["models"] = "⊧"; utf82macro["⊧"] = "models"; macro2utf8["beth"] = "ℶ"; utf82macro["ℶ"] = "beth"; -macro2utf8["subE"] = "⊆"; -utf82macro["⊆"] = "subE"; +macro2utf8["subE"] = "⊆"; +utf82macro["⊆"] = "subE"; macro2utf8["subnE"] = "⊊"; utf82macro["⊊"] = "subnE"; -macro2utf8["ldots"] = "…"; -utf82macro["…"] = "ldots"; +macro2utf8["ldots"] = "…"; +utf82macro["…"] = "ldots"; macro2utf8["yacy"] = "я"; utf82macro["я"] = "yacy"; macro2utf8["udhar"] = "⥮"; @@ -1969,20 +1969,20 @@ macro2utf8["subsub"] = "⫕"; utf82macro["⫕"] = "subsub"; macro2utf8["nvrtrie"] = "⋭̸"; utf82macro["⋭̸"] = "nvrtrie"; -macro2utf8["Phi"] = "Φ"; -utf82macro["Φ"] = "Phi"; +macro2utf8["Phi"] = "Φ"; +utf82macro["Φ"] = "Phi"; macro2utf8["Efr"] = "𝔈"; utf82macro["𝔈"] = "Efr"; macro2utf8["larrfs"] = "⤝"; utf82macro["⤝"] = "larrfs"; -macro2utf8["angle"] = "∠"; -utf82macro["∠"] = "angle"; -macro2utf8["TildeFullEqual"] = "≅"; -utf82macro["≅"] = "TildeFullEqual"; +macro2utf8["angle"] = "∠"; +utf82macro["∠"] = "angle"; +macro2utf8["TildeFullEqual"] = "≅"; +utf82macro["≅"] = "TildeFullEqual"; macro2utf8["Jcirc"] = "Ĵ"; utf82macro["Ĵ"] = "Jcirc"; -macro2utf8["THORN"] = "Þ"; -utf82macro["Þ"] = "THORN"; +macro2utf8["THORN"] = "Þ"; +utf82macro["Þ"] = "THORN"; macro2utf8["acE"] = "⧛"; utf82macro["⧛"] = "acE"; macro2utf8["Longleftrightarrow"] = "????"; @@ -2009,14 +2009,14 @@ macro2utf8["HARDcy"] = "Ъ"; utf82macro["Ъ"] = "HARDcy"; macro2utf8["jmath"] = "j︀"; utf82macro["j︀"] = "jmath"; -macro2utf8["aelig"] = "æ"; -utf82macro["æ"] = "aelig"; -macro2utf8["slarr"] = "←︀"; -utf82macro["←︀"] = "slarr"; +macro2utf8["aelig"] = "æ"; +utf82macro["æ"] = "aelig"; +macro2utf8["slarr"] = "←︀"; +utf82macro["←︀"] = "slarr"; macro2utf8["dlcrop"] = "⌍"; utf82macro["⌍"] = "dlcrop"; -macro2utf8["sube"] = "⊆"; -utf82macro["⊆"] = "sube"; +macro2utf8["sube"] = "⊆"; +utf82macro["⊆"] = "sube"; macro2utf8["cuepr"] = "⋞"; utf82macro["⋞"] = "cuepr"; macro2utf8["supsub"] = "⫔"; @@ -2037,10 +2037,10 @@ macro2utf8["ccirc"] = "ĉ"; utf82macro["ĉ"] = "ccirc"; macro2utf8["larrhk"] = "↩"; utf82macro["↩"] = "larrhk"; -macro2utf8["DiacriticalTilde"] = "˜"; -utf82macro["˜"] = "DiacriticalTilde"; -macro2utf8["brvbar"] = "¦"; -utf82macro["¦"] = "brvbar"; +macro2utf8["DiacriticalTilde"] = "˜"; +utf82macro["˜"] = "DiacriticalTilde"; +macro2utf8["brvbar"] = "¦"; +utf82macro["¦"] = "brvbar"; macro2utf8["triangledown"] = "▿"; utf82macro["▿"] = "triangledown"; macro2utf8["dtrif"] = "▾"; @@ -2063,8 +2063,8 @@ macro2utf8["eqslantless"] = "⋜"; utf82macro["⋜"] = "eqslantless"; macro2utf8["coprod"] = "∐"; utf82macro["∐"] = "coprod"; -macro2utf8["OpenCurlyDoubleQuote"] = "“"; -utf82macro["“"] = "OpenCurlyDoubleQuote"; +macro2utf8["OpenCurlyDoubleQuote"] = "“"; +utf82macro["“"] = "OpenCurlyDoubleQuote"; macro2utf8["NotGreaterSlantEqual"] = "≱"; utf82macro["≱"] = "NotGreaterSlantEqual"; macro2utf8["solb"] = "⧄"; @@ -2085,14 +2085,14 @@ macro2utf8["gnapprox"] = "⪊"; utf82macro["⪊"] = "gnapprox"; macro2utf8["lgE"] = "⪑"; utf82macro["⪑"] = "lgE"; -macro2utf8["CloseCurlyDoubleQuote"] = "”"; -utf82macro["”"] = "CloseCurlyDoubleQuote"; +macro2utf8["CloseCurlyDoubleQuote"] = "”"; +utf82macro["”"] = "CloseCurlyDoubleQuote"; macro2utf8["NotNestedLessLess"] = "⒡̸"; utf82macro["⒡̸"] = "NotNestedLessLess"; macro2utf8["acy"] = "а"; utf82macro["а"] = "acy"; -macro2utf8["leq"] = "≤"; -utf82macro["≤"] = "leq"; +macro2utf8["leq"] = "≤"; +utf82macro["≤"] = "leq"; macro2utf8["Popf"] = "ℙ"; utf82macro["ℙ"] = "Popf"; macro2utf8["les"] = "⩽"; @@ -2151,14 +2151,14 @@ macro2utf8["nvap"] = "≉̸"; utf82macro["≉̸"] = "nvap"; macro2utf8["boxtimes"] = "⊠"; utf82macro["⊠"] = "boxtimes"; -macro2utf8["raquo"] = "»"; -utf82macro["»"] = "raquo"; +macro2utf8["raquo"] = "»"; +utf82macro["»"] = "raquo"; macro2utf8["CircleMinus"] = "⊖"; utf82macro["⊖"] = "CircleMinus"; -macro2utf8["centerdot"] = "·"; -utf82macro["·"] = "centerdot"; -macro2utf8["xoplus"] = "⊕"; -utf82macro["⊕"] = "xoplus"; +macro2utf8["centerdot"] = "·"; +utf82macro["·"] = "centerdot"; +macro2utf8["xoplus"] = "⊕"; +utf82macro["⊕"] = "xoplus"; macro2utf8["simdot"] = "⩪"; utf82macro["⩪"] = "simdot"; macro2utf8["Vcy"] = "В"; @@ -2175,8 +2175,8 @@ macro2utf8["lesdoto"] = "⪁"; utf82macro["⪁"] = "lesdoto"; macro2utf8["NotSquareSubset"] = "⊏̸"; utf82macro["⊏̸"] = "NotSquareSubset"; -macro2utf8["bullet"] = "•"; -utf82macro["•"] = "bullet"; +macro2utf8["bullet"] = "•"; +utf82macro["•"] = "bullet"; macro2utf8["rarrsim"] = "⥴"; utf82macro["⥴"] = "rarrsim"; macro2utf8["Tcedil"] = "Ţ"; @@ -2185,8 +2185,8 @@ macro2utf8["Hstrok"] = "Ħ"; utf82macro["Ħ"] = "Hstrok"; macro2utf8["eopf"] = "𝕖"; utf82macro["𝕖"] = "eopf"; -macro2utf8["Theta"] = "Θ"; -utf82macro["Θ"] = "Theta"; +macro2utf8["Theta"] = "Θ"; +utf82macro["Θ"] = "Theta"; macro2utf8["Cscr"] = "𝒞"; utf82macro["𝒞"] = "Cscr"; macro2utf8["emacr"] = "ē"; @@ -2199,10 +2199,10 @@ macro2utf8["arctan"] = "arctan"; utf82macro["arctan"] = "arctan"; macro2utf8["afr"] = "𝔞"; utf82macro["𝔞"] = "afr"; -macro2utf8["thinsp"] = " "; -utf82macro[" "] = "thinsp"; -macro2utf8["bottom"] = "⊥"; -utf82macro["⊥"] = "bottom"; +macro2utf8["thinsp"] = " "; +utf82macro[" "] = "thinsp"; +macro2utf8["bottom"] = "⊥"; +utf82macro["⊥"] = "bottom"; macro2utf8["lopf"] = "𝕝"; utf82macro["𝕝"] = "lopf"; macro2utf8["larrlp"] = "↫"; @@ -2221,8 +2221,8 @@ macro2utf8["osol"] = "⊘"; utf82macro["⊘"] = "osol"; macro2utf8["lbrack"] = "["; utf82macro["["] = "lbrack"; -macro2utf8["hArr"] = "⇔"; -utf82macro["⇔"] = "hArr"; +macro2utf8["hArr"] = "⇔"; +utf82macro["⇔"] = "hArr"; macro2utf8["vdash"] = "⊢"; utf82macro["⊢"] = "vdash"; macro2utf8["UpDownArrow"] = "↕"; @@ -2239,8 +2239,8 @@ macro2utf8["Qscr"] = "𝒬"; utf82macro["𝒬"] = "Qscr"; macro2utf8["Gammad"] = "Ϝ"; utf82macro["Ϝ"] = "Gammad"; -macro2utf8["SubsetEqual"] = "⊆"; -utf82macro["⊆"] = "SubsetEqual"; +macro2utf8["SubsetEqual"] = "⊆"; +utf82macro["⊆"] = "SubsetEqual"; macro2utf8["uplus"] = "⊎"; utf82macro["⊎"] = "uplus"; macro2utf8["LeftTriangle"] = "⊲"; @@ -2253,8 +2253,8 @@ macro2utf8["triangleright"] = "▹"; utf82macro["▹"] = "triangleright"; macro2utf8["angrt"] = "∟"; utf82macro["∟"] = "angrt"; -macro2utf8["rfloor"] = "⌋"; -utf82macro["⌋"] = "rfloor"; +macro2utf8["rfloor"] = "⌋"; +utf82macro["⌋"] = "rfloor"; macro2utf8["bigtriangledown"] = "▽"; utf82macro["▽"] = "bigtriangledown"; macro2utf8["ofcir"] = "⦿"; @@ -2279,42 +2279,42 @@ macro2utf8["downharpoonright"] = "⇂"; utf82macro["⇂"] = "downharpoonright"; macro2utf8["Ccaron"] = "Č"; utf82macro["Č"] = "Ccaron"; -macro2utf8["sdot"] = "⋅"; -utf82macro["⋅"] = "sdot"; +macro2utf8["sdot"] = "⋅"; +utf82macro["⋅"] = "sdot"; macro2utf8["frown"] = "⌢"; utf82macro["⌢"] = "frown"; macro2utf8["angst"] = "Å"; utf82macro["Å"] = "angst"; macro2utf8["lesges"] = "⪓"; utf82macro["⪓"] = "lesges"; -macro2utf8["iacute"] = "í"; -utf82macro["í"] = "iacute"; -macro2utf8["wedge"] = "∧"; -utf82macro["∧"] = "wedge"; +macro2utf8["iacute"] = "í"; +utf82macro["í"] = "iacute"; +macro2utf8["wedge"] = "∧"; +utf82macro["∧"] = "wedge"; macro2utf8["ssetmn"] = "∖︀"; utf82macro["∖︀"] = "ssetmn"; macro2utf8["rotimes"] = "⨵"; utf82macro["⨵"] = "rotimes"; -macro2utf8["laquo"] = "«"; -utf82macro["«"] = "laquo"; +macro2utf8["laquo"] = "«"; +utf82macro["«"] = "laquo"; macro2utf8["bigstar"] = "★"; utf82macro["★"] = "bigstar"; macro2utf8["Rrightarrow"] = "⇛"; utf82macro["⇛"] = "Rrightarrow"; macro2utf8["erDot"] = "≓"; utf82macro["≓"] = "erDot"; -macro2utf8["subseteq"] = "⊆"; -utf82macro["⊆"] = "subseteq"; +macro2utf8["subseteq"] = "⊆"; +utf82macro["⊆"] = "subseteq"; macro2utf8["leftharpoondown"] = "↽"; utf82macro["↽"] = "leftharpoondown"; -macro2utf8["infin"] = "∞"; -utf82macro["∞"] = "infin"; +macro2utf8["infin"] = "∞"; +utf82macro["∞"] = "infin"; macro2utf8["zdot"] = "ż"; utf82macro["ż"] = "zdot"; macro2utf8["solbar"] = "⌿"; utf82macro["⌿"] = "solbar"; -macro2utf8["Iuml"] = "Ï"; -utf82macro["Ï"] = "Iuml"; +macro2utf8["Iuml"] = "Ï"; +utf82macro["Ï"] = "Iuml"; macro2utf8["Kfr"] = "𝔎"; utf82macro["𝔎"] = "Kfr"; macro2utf8["fscr"] = "𝒻"; @@ -2325,14 +2325,14 @@ macro2utf8["veeeq"] = "≚"; utf82macro["≚"] = "veeeq"; macro2utf8["Star"] = "⋆"; utf82macro["⋆"] = "Star"; -macro2utf8["lsquor"] = "‚"; -utf82macro["‚"] = "lsquor"; -macro2utf8["Uacute"] = "Ú"; -utf82macro["Ú"] = "Uacute"; -macro2utf8["weierp"] = "℘"; -utf82macro["℘"] = "weierp"; -macro2utf8["rang"] = "⟩"; -utf82macro["⟩"] = "rang"; +macro2utf8["lsquor"] = "‚"; +utf82macro["‚"] = "lsquor"; +macro2utf8["Uacute"] = "Ú"; +utf82macro["Ú"] = "Uacute"; +macro2utf8["weierp"] = "℘"; +utf82macro["℘"] = "weierp"; +macro2utf8["rang"] = "〉"; +utf82macro["〉"] = "rang"; macro2utf8["hamilt"] = "ℋ"; utf82macro["ℋ"] = "hamilt"; macro2utf8["angsph"] = "∢"; @@ -2359,16 +2359,16 @@ macro2utf8["larrpl"] = "⤹"; utf82macro["⤹"] = "larrpl"; macro2utf8["nvge"] = "≱"; utf82macro["≱"] = "nvge"; -macro2utf8["approx"] = "≈"; -utf82macro["≈"] = "approx"; +macro2utf8["approx"] = "≈"; +utf82macro["≈"] = "approx"; macro2utf8["lnE"] = "≨"; utf82macro["≨"] = "lnE"; macro2utf8["NotGreaterLess"] = "≹"; utf82macro["≹"] = "NotGreaterLess"; macro2utf8["epar"] = "⋕"; utf82macro["⋕"] = "epar"; -macro2utf8["bigotimes"] = "⊗"; -utf82macro["⊗"] = "bigotimes"; +macro2utf8["bigotimes"] = "⊗"; +utf82macro["⊗"] = "bigotimes"; macro2utf8["xharr"] = ""; utf82macro[""] = "xharr"; macro2utf8["roang"] = ""; @@ -2377,10 +2377,10 @@ macro2utf8["xcup"] = "⋃"; utf82macro["⋃"] = "xcup"; macro2utf8["tscr"] = "𝓉"; utf82macro["𝓉"] = "tscr"; -macro2utf8["thkap"] = "≈︀"; -utf82macro["≈︀"] = "thkap"; -macro2utf8["Aacute"] = "Á"; -utf82macro["Á"] = "Aacute"; +macro2utf8["thkap"] = "≈︀"; +utf82macro["≈︀"] = "thkap"; +macro2utf8["Aacute"] = "Á"; +utf82macro["Á"] = "Aacute"; macro2utf8["rcy"] = "р"; utf82macro["р"] = "rcy"; macro2utf8["jukcy"] = "є"; @@ -2397,24 +2397,24 @@ macro2utf8["lpar"] = "("; utf82macro["("] = "lpar"; macro2utf8["ldsh"] = "↲"; utf82macro["↲"] = "ldsh"; -macro2utf8["aring"] = "å"; -utf82macro["å"] = "aring"; +macro2utf8["aring"] = "å"; +utf82macro["å"] = "aring"; macro2utf8["nGg"] = "⋙̸"; utf82macro["⋙̸"] = "nGg"; macro2utf8["LessEqualGreater"] = "⋚"; utf82macro["⋚"] = "LessEqualGreater"; macro2utf8["gcd"] = "gcd"; utf82macro["gcd"] = "gcd"; -macro2utf8["oplus"] = "⊕"; -utf82macro["⊕"] = "oplus"; +macro2utf8["oplus"] = "⊕"; +utf82macro["⊕"] = "oplus"; macro2utf8["lcaron"] = "ľ"; utf82macro["ľ"] = "lcaron"; -macro2utf8["DownArrow"] = "↓"; -utf82macro["↓"] = "DownArrow"; +macro2utf8["DownArrow"] = "↓"; +utf82macro["↓"] = "DownArrow"; macro2utf8["xutri"] = "△"; utf82macro["△"] = "xutri"; -macro2utf8["Psi"] = "Ψ"; -utf82macro["Ψ"] = "Psi"; +macro2utf8["Psi"] = "Ψ"; +utf82macro["Ψ"] = "Psi"; macro2utf8["lesssim"] = "≲"; utf82macro["≲"] = "lesssim"; macro2utf8["topcir"] = "⫱"; @@ -2435,10 +2435,10 @@ macro2utf8["Lleftarrow"] = "⇚"; utf82macro["⇚"] = "Lleftarrow"; macro2utf8["nGt"] = "≫̸"; utf82macro["≫̸"] = "nGt"; -macro2utf8["euml"] = "ë"; -utf82macro["ë"] = "euml"; -macro2utf8["reg"] = "®"; -utf82macro["®"] = "reg"; +macro2utf8["euml"] = "ë"; +utf82macro["ë"] = "euml"; +macro2utf8["reg"] = "®"; +utf82macro["®"] = "reg"; macro2utf8["exponentiale"] = "ⅇ"; utf82macro["ⅇ"] = "exponentiale"; macro2utf8["qint"] = "⨌"; @@ -2449,8 +2449,8 @@ macro2utf8["lne"] = "≨"; utf82macro["≨"] = "lne"; macro2utf8["LessSlantEqual"] = "⩽"; utf82macro["⩽"] = "LessSlantEqual"; -macro2utf8["Egrave"] = "È"; -utf82macro["È"] = "Egrave"; +macro2utf8["Egrave"] = "È"; +utf82macro["È"] = "Egrave"; macro2utf8["orderof"] = "ℴ"; utf82macro["ℴ"] = "orderof"; macro2utf8["cirE"] = "⧃"; @@ -2483,30 +2483,30 @@ macro2utf8["VeryThinSpace"] = " "; utf82macro[" "] = "VeryThinSpace"; macro2utf8["DownArrowBar"] = "⤓"; utf82macro["⤓"] = "DownArrowBar"; -macro2utf8["Rightarrow"] = "⇒"; -utf82macro["⇒"] = "Rightarrow"; +macro2utf8["Rightarrow"] = "⇒"; +utf82macro["⇒"] = "Rightarrow"; macro2utf8["ocir"] = "⊚"; utf82macro["⊚"] = "ocir"; macro2utf8["NotHumpDownHump"] = "≎̸"; utf82macro["≎̸"] = "NotHumpDownHump"; -macro2utf8["darr"] = "↓"; -utf82macro["↓"] = "darr"; +macro2utf8["darr"] = "↓"; +utf82macro["↓"] = "darr"; macro2utf8["geqq"] = "≧"; utf82macro["≧"] = "geqq"; -macro2utf8["sup1"] = "¹"; -utf82macro["¹"] = "sup1"; +macro2utf8["sup1"] = "¹"; +utf82macro["¹"] = "sup1"; macro2utf8["log"] = "log"; utf82macro["log"] = "log"; -macro2utf8["sup2"] = "²"; -utf82macro["²"] = "sup2"; -macro2utf8["micro"] = "µ"; -utf82macro["µ"] = "micro"; -macro2utf8["amp"] = "&"; -utf82macro["&"] = "amp"; +macro2utf8["sup2"] = "²"; +utf82macro["²"] = "sup2"; +macro2utf8["micro"] = "µ"; +utf82macro["µ"] = "micro"; +macro2utf8["amp"] = "&"; +utf82macro["&"] = "amp"; macro2utf8["arccos"] = "arccos"; utf82macro["arccos"] = "arccos"; -macro2utf8["sup3"] = "³"; -utf82macro["³"] = "sup3"; +macro2utf8["sup3"] = "³"; +utf82macro["³"] = "sup3"; macro2utf8["GreaterTilde"] = "≳"; utf82macro["≳"] = "GreaterTilde"; macro2utf8["circeq"] = "≗"; @@ -2519,18 +2519,18 @@ macro2utf8["rbrkslu"] = "⦐"; utf82macro["⦐"] = "rbrkslu"; macro2utf8["Dcaron"] = "Ď"; utf82macro["Ď"] = "Dcaron"; -macro2utf8["and"] = "∧"; -utf82macro["∧"] = "and"; +macro2utf8["and"] = "∧"; +utf82macro["∧"] = "and"; macro2utf8["Vbar"] = "⫫"; utf82macro["⫫"] = "Vbar"; macro2utf8["angzarr"] = "⍼"; utf82macro["⍼"] = "angzarr"; macro2utf8["gel"] = "⋛"; utf82macro["⋛"] = "gel"; -macro2utf8["ang"] = "∠"; -utf82macro["∠"] = "ang"; -macro2utf8["lor"] = "∨"; -utf82macro["∨"] = "lor"; +macro2utf8["ang"] = "∠"; +utf82macro["∠"] = "ang"; +macro2utf8["lor"] = "∨"; +utf82macro["∨"] = "lor"; macro2utf8["circ"] = "∘"; utf82macro["∘"] = "circ"; macro2utf8["upharpoonright"] = "↾"; @@ -2549,8 +2549,8 @@ macro2utf8["apE"] = "≊"; utf82macro["≊"] = "apE"; macro2utf8["sung"] = "♪"; utf82macro["♪"] = "sung"; -macro2utf8["geq"] = "≥"; -utf82macro["≥"] = "geq"; +macro2utf8["geq"] = "≥"; +utf82macro["≥"] = "geq"; macro2utf8["succsim"] = "≿"; utf82macro["≿"] = "succsim"; macro2utf8["ges"] = "⩾"; @@ -2559,24 +2559,24 @@ macro2utf8["Gbreve"] = "Ğ"; utf82macro["Ğ"] = "Gbreve"; macro2utf8["intercal"] = "⊺"; utf82macro["⊺"] = "intercal"; -macro2utf8["supE"] = "⊇"; -utf82macro["⊇"] = "supE"; +macro2utf8["supE"] = "⊇"; +utf82macro["⊇"] = "supE"; macro2utf8["NotCupCap"] = "≭"; utf82macro["≭"] = "NotCupCap"; -macro2utf8["loz"] = "◊"; -utf82macro["◊"] = "loz"; +macro2utf8["loz"] = "◊"; +utf82macro["◊"] = "loz"; macro2utf8["capcup"] = "⩇"; utf82macro["⩇"] = "capcup"; macro2utf8["larrtl"] = "↢"; utf82macro["↢"] = "larrtl"; -macro2utf8["AElig"] = "Æ"; -utf82macro["Æ"] = "AElig"; -macro2utf8["rarr"] = "→"; -utf82macro["→"] = "rarr"; +macro2utf8["AElig"] = "Æ"; +utf82macro["Æ"] = "AElig"; +macro2utf8["rarr"] = "→"; +utf82macro["→"] = "rarr"; macro2utf8["varkappa"] = "ϰ"; utf82macro["ϰ"] = "varkappa"; -macro2utf8["upsi"] = "υ"; -utf82macro["υ"] = "upsi"; +macro2utf8["upsi"] = "υ"; +utf82macro["υ"] = "upsi"; macro2utf8["loang"] = ""; utf82macro[""] = "loang"; macro2utf8["looparrowleft"] = "↫"; @@ -2591,10 +2591,10 @@ macro2utf8["rharu"] = "⇀"; utf82macro["⇀"] = "rharu"; macro2utf8["gesl"] = "⋛︀"; utf82macro["⋛︀"] = "gesl"; -macro2utf8["xotime"] = "⊗"; -utf82macro["⊗"] = "xotime"; -macro2utf8["minus"] = "−"; -utf82macro["−"] = "minus"; +macro2utf8["xotime"] = "⊗"; +utf82macro["⊗"] = "xotime"; +macro2utf8["minus"] = "−"; +utf82macro["−"] = "minus"; macro2utf8["gvnE"] = "≩︀"; utf82macro["≩︀"] = "gvnE"; macro2utf8["gfr"] = "𝔤"; @@ -2605,12 +2605,12 @@ macro2utf8["jcirc"] = "ĵ"; utf82macro["ĵ"] = "jcirc"; macro2utf8["roarr"] = "⇾"; utf82macro["⇾"] = "roarr"; -macro2utf8["rho"] = "ρ"; -utf82macro["ρ"] = "rho"; +macro2utf8["rho"] = "ρ"; +utf82macro["ρ"] = "rho"; macro2utf8["nvle"] = "≰"; utf82macro["≰"] = "nvle"; -macro2utf8["sect"] = "§"; -utf82macro["§"] = "sect"; +macro2utf8["sect"] = "§"; +utf82macro["§"] = "sect"; macro2utf8["ggg"] = "⋙"; utf82macro["⋙"] = "ggg"; macro2utf8["plusb"] = "⊞"; @@ -2627,28 +2627,28 @@ macro2utf8["dollar"] = "$"; utf82macro["$"] = "dollar"; macro2utf8["divonx"] = "⋇"; utf82macro["⋇"] = "divonx"; -macro2utf8["partial"] = "∂"; -utf82macro["∂"] = "partial"; -macro2utf8["DoubleLeftRightArrow"] = "⇔"; -utf82macro["⇔"] = "DoubleLeftRightArrow"; -macro2utf8["varepsilon"] = "ε"; -utf82macro["ε"] = "varepsilon"; -macro2utf8["supe"] = "⊇"; -utf82macro["⊇"] = "supe"; +macro2utf8["partial"] = "∂"; +utf82macro["∂"] = "partial"; +macro2utf8["DoubleLeftRightArrow"] = "⇔"; +utf82macro["⇔"] = "DoubleLeftRightArrow"; +macro2utf8["varepsilon"] = "ε"; +utf82macro["ε"] = "varepsilon"; +macro2utf8["supe"] = "⊇"; +utf82macro["⊇"] = "supe"; macro2utf8["nvlt"] = "≮"; utf82macro["≮"] = "nvlt"; macro2utf8["angrtvb"] = "⦝︀"; utf82macro["⦝︀"] = "angrtvb"; -macro2utf8["gets"] = "←"; -utf82macro["←"] = "gets"; +macro2utf8["gets"] = "←"; +utf82macro["←"] = "gets"; macro2utf8["nparallel"] = "∦"; utf82macro["∦"] = "nparallel"; -macro2utf8["varphi"] = "φ"; -utf82macro["φ"] = "varphi"; +macro2utf8["varphi"] = "φ"; +utf82macro["φ"] = "varphi"; macro2utf8["nsupseteq"] = "⊉"; utf82macro["⊉"] = "nsupseteq"; -macro2utf8["circledR"] = "®"; -utf82macro["®"] = "circledR"; +macro2utf8["circledR"] = "®"; +utf82macro["®"] = "circledR"; macro2utf8["circledS"] = "Ⓢ"; utf82macro["Ⓢ"] = "circledS"; macro2utf8["primes"] = "ℙ"; @@ -2661,8 +2661,8 @@ macro2utf8["nLl"] = "⋘̸"; utf82macro["⋘̸"] = "nLl"; macro2utf8["lozf"] = "⧫"; utf82macro["⧫"] = "lozf"; -macro2utf8["ShortLeftArrow"] = "←︀"; -utf82macro["←︀"] = "ShortLeftArrow"; +macro2utf8["ShortLeftArrow"] = "←︀"; +utf82macro["←︀"] = "ShortLeftArrow"; macro2utf8["nLt"] = "≪̸"; utf82macro["≪̸"] = "nLt"; macro2utf8["lesdotor"] = "⪃"; @@ -2681,14 +2681,14 @@ macro2utf8["iprod"] = "⨼"; utf82macro["⨼"] = "iprod"; macro2utf8["lsh"] = "↰"; utf82macro["↰"] = "lsh"; -macro2utf8["Congruent"] = "≡"; -utf82macro["≡"] = "Congruent"; +macro2utf8["Congruent"] = "≡"; +utf82macro["≡"] = "Congruent"; macro2utf8["NotLeftTriangle"] = "⋪"; utf82macro["⋪"] = "NotLeftTriangle"; macro2utf8["rdldhar"] = "⥩"; utf82macro["⥩"] = "rdldhar"; -macro2utf8["varpropto"] = "∝"; -utf82macro["∝"] = "varpropto"; +macro2utf8["varpropto"] = "∝"; +utf82macro["∝"] = "varpropto"; macro2utf8["nvlArr"] = "⇍"; utf82macro["⇍"] = "nvlArr"; macro2utf8["arg"] = "arg"; @@ -2711,12 +2711,12 @@ macro2utf8["triangle"] = "▵"; utf82macro["▵"] = "triangle"; macro2utf8["Qfr"] = "𝔔"; utf82macro["𝔔"] = "Qfr"; -macro2utf8["DiacriticalAcute"] = "´"; -utf82macro["´"] = "DiacriticalAcute"; +macro2utf8["DiacriticalAcute"] = "´"; +utf82macro["´"] = "DiacriticalAcute"; macro2utf8["tbrk"] = "⎴"; utf82macro["⎴"] = "tbrk"; -macro2utf8["Implies"] = "⇒"; -utf82macro["⇒"] = "Implies"; +macro2utf8["Implies"] = "⇒"; +utf82macro["⇒"] = "Implies"; macro2utf8["comp"] = "∁"; utf82macro["∁"] = "comp"; macro2utf8["ddarr"] = "⇊"; @@ -2741,22 +2741,22 @@ macro2utf8["lharu"] = "↼"; utf82macro["↼"] = "lharu"; macro2utf8["glE"] = "⪒"; utf82macro["⪒"] = "glE"; -macro2utf8["cong"] = "≅"; -utf82macro["≅"] = "cong"; +macro2utf8["cong"] = "≅"; +utf82macro["≅"] = "cong"; macro2utf8["Ecaron"] = "Ě"; utf82macro["Ě"] = "Ecaron"; macro2utf8["Uring"] = "Ů"; utf82macro["Ů"] = "Uring"; macro2utf8["blacktriangleright"] = "▸"; utf82macro["▸"] = "blacktriangleright"; -macro2utf8["ntilde"] = "ñ"; -utf82macro["ñ"] = "ntilde"; +macro2utf8["ntilde"] = "ñ"; +utf82macro["ñ"] = "ntilde"; macro2utf8["max"] = "max"; utf82macro["max"] = "max"; macro2utf8["loarr"] = "⇽"; utf82macro["⇽"] = "loarr"; -macro2utf8["LeftArrow"] = "←"; -utf82macro["←"] = "LeftArrow"; +macro2utf8["LeftArrow"] = "←"; +utf82macro["←"] = "LeftArrow"; macro2utf8["Gdot"] = "Ġ"; utf82macro["Ġ"] = "Gdot"; macro2utf8["Uopf"] = "𝕌"; @@ -2789,16 +2789,16 @@ macro2utf8["VDash"] = "⊫"; utf82macro["⊫"] = "VDash"; macro2utf8["jsercy"] = "ј"; utf82macro["ј"] = "jsercy"; -macro2utf8["Proportional"] = "∝"; -utf82macro["∝"] = "Proportional"; +macro2utf8["Proportional"] = "∝"; +utf82macro["∝"] = "Proportional"; macro2utf8["OverBracket"] = "⎴"; utf82macro["⎴"] = "OverBracket"; macro2utf8["gla"] = "⪥"; utf82macro["⪥"] = "gla"; -macro2utf8["NotElement"] = "∉"; -utf82macro["∉"] = "NotElement"; -macro2utf8["theta"] = "θ"; -utf82macro["θ"] = "theta"; +macro2utf8["NotElement"] = "∉"; +utf82macro["∉"] = "NotElement"; +macro2utf8["theta"] = "θ"; +utf82macro["θ"] = "theta"; macro2utf8["kcedil"] = "ķ"; utf82macro["ķ"] = "kcedil"; macro2utf8["smeparsl"] = "⧤"; @@ -2807,12 +2807,12 @@ macro2utf8["rarrb"] = "⇥"; utf82macro["⇥"] = "rarrb"; macro2utf8["rarrc"] = "⤳"; utf82macro["⤳"] = "rarrc"; -macro2utf8["ograve"] = "ò"; -utf82macro["ò"] = "ograve"; +macro2utf8["ograve"] = "ò"; +utf82macro["ò"] = "ograve"; macro2utf8["glj"] = "⪤"; utf82macro["⪤"] = "glj"; -macro2utf8["infty"] = "∞"; -utf82macro["∞"] = "infty"; +macro2utf8["infty"] = "∞"; +utf82macro["∞"] = "infty"; macro2utf8["gnE"] = "≩"; utf82macro["≩"] = "gnE"; macro2utf8["copf"] = "𝕔"; @@ -2823,8 +2823,8 @@ macro2utf8["cwconint"] = "∲"; utf82macro["∲"] = "cwconint"; macro2utf8["Ascr"] = "𝒜"; utf82macro["𝒜"] = "Ascr"; -macro2utf8["NegativeThinSpace"] = " ︀"; -utf82macro[" ︀"] = "NegativeThinSpace"; +macro2utf8["NegativeThinSpace"] = " ︀"; +utf82macro[" ︀"] = "NegativeThinSpace"; macro2utf8["varsubsetneq"] = "⊊︀"; utf82macro["⊊︀"] = "varsubsetneq"; macro2utf8["trisb"] = "⧍"; @@ -2851,18 +2851,18 @@ macro2utf8["doteq"] = "≐"; utf82macro["≐"] = "doteq"; macro2utf8["cudarrl"] = "⤸"; utf82macro["⤸"] = "cudarrl"; -macro2utf8["varsigma"] = "ς"; -utf82macro["ς"] = "varsigma"; +macro2utf8["varsigma"] = "ς"; +utf82macro["ς"] = "varsigma"; macro2utf8["Hscr"] = "ℋ"; utf82macro["ℋ"] = "Hscr"; macro2utf8["DownArrowUpArrow"] = "⇵"; utf82macro["⇵"] = "DownArrowUpArrow"; -macro2utf8["Ecirc"] = "Ê"; -utf82macro["Ê"] = "Ecirc"; +macro2utf8["Ecirc"] = "Ê"; +utf82macro["Ê"] = "Ecirc"; macro2utf8["DD"] = "ⅅ"; utf82macro["ⅅ"] = "DD"; -macro2utf8["copy"] = "©"; -utf82macro["©"] = "copy"; +macro2utf8["copy"] = "©"; +utf82macro["©"] = "copy"; macro2utf8["SquareIntersection"] = "⊓"; utf82macro["⊓"] = "SquareIntersection"; macro2utf8["RightUpVector"] = "↾"; @@ -2891,8 +2891,8 @@ macro2utf8["xfr"] = "𝔵"; utf82macro["𝔵"] = "xfr"; macro2utf8["gne"] = "≩"; utf82macro["≩"] = "gne"; -macro2utf8["Ccedil"] = "Ç"; -utf82macro["Ç"] = "Ccedil"; +macro2utf8["Ccedil"] = "Ç"; +utf82macro["Ç"] = "Ccedil"; macro2utf8["nlarr"] = "↚"; utf82macro["↚"] = "nlarr"; macro2utf8["inodot"] = "ı"; @@ -2901,8 +2901,8 @@ macro2utf8["prec"] = "≺"; utf82macro["≺"] = "prec"; macro2utf8["percnt"] = "%"; utf82macro["%"] = "percnt"; -macro2utf8["Exists"] = "∃"; -utf82macro["∃"] = "Exists"; +macro2utf8["Exists"] = "∃"; +utf82macro["∃"] = "Exists"; macro2utf8["bcy"] = "б"; utf82macro["б"] = "bcy"; macro2utf8["xopf"] = "𝕩"; @@ -2917,8 +2917,8 @@ macro2utf8["Vscr"] = "𝒱"; utf82macro["𝒱"] = "Vscr"; macro2utf8["Zcaron"] = "Ž"; utf82macro["Ž"] = "Zcaron"; -macro2utf8["ReverseElement"] = "∋"; -utf82macro["∋"] = "ReverseElement"; +macro2utf8["ReverseElement"] = "∋"; +utf82macro["∋"] = "ReverseElement"; macro2utf8["npolint"] = "⨔"; utf82macro["⨔"] = "npolint"; macro2utf8["NotGreaterTilde"] = "≵"; @@ -2957,8 +2957,8 @@ macro2utf8["larrbfs"] = "⤟"; utf82macro["⤟"] = "larrbfs"; macro2utf8["HilbertSpace"] = "ℋ"; utf82macro["ℋ"] = "HilbertSpace"; -macro2utf8["otilde"] = "õ"; -utf82macro["õ"] = "otilde"; +macro2utf8["otilde"] = "õ"; +utf82macro["õ"] = "otilde"; macro2utf8["larrb"] = "⇤"; utf82macro["⇤"] = "larrb"; macro2utf8["wcirc"] = "ŵ"; @@ -2999,14 +2999,14 @@ macro2utf8["cularr"] = "↶"; utf82macro["↶"] = "cularr"; macro2utf8["blacklozenge"] = "⧫"; utf82macro["⧫"] = "blacklozenge"; -macro2utf8["realpart"] = "ℜ"; -utf82macro["ℜ"] = "realpart"; +macro2utf8["realpart"] = "ℜ"; +utf82macro["ℜ"] = "realpart"; macro2utf8["LeftTriangleEqual"] = "⊴"; utf82macro["⊴"] = "LeftTriangleEqual"; macro2utf8["bfr"] = "𝔟"; utf82macro["𝔟"] = "bfr"; -macro2utf8["Uuml"] = "Ü"; -utf82macro["Ü"] = "Uuml"; +macro2utf8["Uuml"] = "Ü"; +utf82macro["Ü"] = "Uuml"; macro2utf8["longleftrightarrow"] = "????"; utf82macro["????"] = "longleftrightarrow"; macro2utf8["lcedil"] = "ļ"; @@ -3029,8 +3029,8 @@ macro2utf8["tprime"] = "‴"; utf82macro["‴"] = "tprime"; macro2utf8["precneqq"] = "⪵"; utf82macro["⪵"] = "precneqq"; -macro2utf8["Downarrow"] = "⇓"; -utf82macro["⇓"] = "Downarrow"; +macro2utf8["Downarrow"] = "⇓"; +utf82macro["⇓"] = "Downarrow"; macro2utf8["rsh"] = "↱"; utf82macro["↱"] = "rsh"; macro2utf8["mid"] = "∣"; @@ -3049,8 +3049,8 @@ macro2utf8["yscr"] = "𝓎"; utf82macro["𝓎"] = "yscr"; macro2utf8["subdot"] = "⪽"; utf82macro["⪽"] = "subdot"; -macro2utf8["ShortRightArrow"] = "→︀"; -utf82macro["→︀"] = "ShortRightArrow"; +macro2utf8["ShortRightArrow"] = "→︀"; +utf82macro["→︀"] = "ShortRightArrow"; macro2utf8["NotCongruent"] = "≢"; utf82macro["≢"] = "NotCongruent"; macro2utf8["Gg"] = "⋙"; @@ -3065,8 +3065,8 @@ macro2utf8["rarrap"] = "⥵"; utf82macro["⥵"] = "rarrap"; macro2utf8["NotLessSlantEqual"] = "≰"; utf82macro["≰"] = "NotLessSlantEqual"; -macro2utf8["DoubleRightArrow"] = "⇒"; -utf82macro["⇒"] = "DoubleRightArrow"; +macro2utf8["DoubleRightArrow"] = "⇒"; +utf82macro["⇒"] = "DoubleRightArrow"; macro2utf8["Wfr"] = "𝔚"; utf82macro["𝔚"] = "Wfr"; macro2utf8["subrarr"] = "⥹"; @@ -3077,16 +3077,16 @@ macro2utf8["khcy"] = "х"; utf82macro["х"] = "khcy"; macro2utf8["oint"] = "∮"; utf82macro["∮"] = "oint"; -macro2utf8["vprop"] = "∝"; -utf82macro["∝"] = "vprop"; +macro2utf8["vprop"] = "∝"; +utf82macro["∝"] = "vprop"; macro2utf8["hardcy"] = "ъ"; utf82macro["ъ"] = "hardcy"; macro2utf8["boxminus"] = "⊟"; utf82macro["⊟"] = "boxminus"; macro2utf8["GreaterLess"] = "≷"; utf82macro["≷"] = "GreaterLess"; -macro2utf8["thetav"] = "ϑ"; -utf82macro["ϑ"] = "thetav"; +macro2utf8["thetav"] = "ϑ"; +utf82macro["ϑ"] = "thetav"; macro2utf8["scE"] = "≾"; utf82macro["≾"] = "scE"; macro2utf8["Gt"] = "≫"; @@ -3105,32 +3105,32 @@ macro2utf8["capdot"] = "⩀"; utf82macro["⩀"] = "capdot"; macro2utf8["supdot"] = "⪾"; utf82macro["⪾"] = "supdot"; -macro2utf8["oelig"] = "œ"; -utf82macro["œ"] = "oelig"; +macro2utf8["oelig"] = "œ"; +utf82macro["œ"] = "oelig"; macro2utf8["doteqdot"] = "≑"; utf82macro["≑"] = "doteqdot"; macro2utf8["rharul"] = "⥬"; utf82macro["⥬"] = "rharul"; macro2utf8["cylcty"] = "⌭"; utf82macro["⌭"] = "cylcty"; -macro2utf8["epsi"] = "ε"; -utf82macro["ε"] = "epsi"; +macro2utf8["epsi"] = "ε"; +utf82macro["ε"] = "epsi"; macro2utf8["eqcirc"] = "≖"; utf82macro["≖"] = "eqcirc"; macro2utf8["nLeftarrow"] = "⇍"; utf82macro["⇍"] = "nLeftarrow"; macro2utf8["rtrie"] = "⊵"; utf82macro["⊵"] = "rtrie"; -macro2utf8["para"] = "¶"; -utf82macro["¶"] = "para"; +macro2utf8["para"] = "¶"; +utf82macro["¶"] = "para"; macro2utf8["Lfr"] = "𝔏"; utf82macro["𝔏"] = "Lfr"; macro2utf8["rtrif"] = "▸"; utf82macro["▸"] = "rtrif"; macro2utf8["NotReverseElement"] = "∌"; utf82macro["∌"] = "NotReverseElement"; -macro2utf8["emptyv"] = "∅"; -utf82macro["∅"] = "emptyv"; +macro2utf8["emptyv"] = "∅"; +utf82macro["∅"] = "emptyv"; macro2utf8["nldr"] = "‥"; utf82macro["‥"] = "nldr"; macro2utf8["leqq"] = "≦"; @@ -3141,24 +3141,24 @@ macro2utf8["supsetneqq"] = "⊋"; utf82macro["⊋"] = "supsetneqq"; macro2utf8["boxDL"] = "╗"; utf82macro["╗"] = "boxDL"; -macro2utf8["Im"] = "ℑ"; -utf82macro["ℑ"] = "Im"; +macro2utf8["Im"] = "ℑ"; +utf82macro["ℑ"] = "Im"; macro2utf8["sce"] = "≽"; utf82macro["≽"] = "sce"; macro2utf8["prsim"] = "≾"; utf82macro["≾"] = "prsim"; -macro2utf8["diams"] = "♦"; -utf82macro["♦"] = "diams"; +macro2utf8["diams"] = "♦"; +utf82macro["♦"] = "diams"; macro2utf8["gtreqqless"] = "⋛"; utf82macro["⋛"] = "gtreqqless"; macro2utf8["boxDR"] = "╔"; utf82macro["╔"] = "boxDR"; macro2utf8["vartriangleleft"] = "⊲"; utf82macro["⊲"] = "vartriangleleft"; -macro2utf8["SupersetEqual"] = "⊇"; -utf82macro["⊇"] = "SupersetEqual"; -macro2utf8["Omega"] = "Ω"; -utf82macro["Ω"] = "Omega"; +macro2utf8["SupersetEqual"] = "⊇"; +utf82macro["⊇"] = "SupersetEqual"; +macro2utf8["Omega"] = "Ω"; +utf82macro["Ω"] = "Omega"; macro2utf8["nsubseteqq"] = "⊈"; utf82macro["⊈"] = "nsubseteqq"; macro2utf8["Subset"] = "⋐"; @@ -3171,8 +3171,8 @@ macro2utf8["ltimes"] = "⋉"; utf82macro["⋉"] = "ltimes"; macro2utf8["seswar"] = "⤩"; utf82macro["⤩"] = "seswar"; -macro2utf8["part"] = "∂"; -utf82macro["∂"] = "part"; +macro2utf8["part"] = "∂"; +utf82macro["∂"] = "part"; macro2utf8["bumpE"] = "⪮"; utf82macro["⪮"] = "bumpE"; macro2utf8["minusd"] = "∸"; @@ -3197,10 +3197,10 @@ macro2utf8["prnE"] = "⪵"; utf82macro["⪵"] = "prnE"; macro2utf8["lesg"] = "⋚︀"; utf82macro["⋚︀"] = "lesg"; -macro2utf8["cups"] = "∪︀"; -utf82macro["∪︀"] = "cups"; -macro2utf8["thickapprox"] = "≈︀"; -utf82macro["≈︀"] = "thickapprox"; +macro2utf8["cups"] = "∪︀"; +utf82macro["∪︀"] = "cups"; +macro2utf8["thickapprox"] = "≈︀"; +utf82macro["≈︀"] = "thickapprox"; macro2utf8["RightTeeVector"] = "⥛"; utf82macro["⥛"] = "RightTeeVector"; macro2utf8["LowerLeftArrow"] = "↙"; @@ -3217,16 +3217,16 @@ macro2utf8["succnsim"] = "⋩"; utf82macro["⋩"] = "succnsim"; macro2utf8["boxDl"] = "╖"; utf82macro["╖"] = "boxDl"; -macro2utf8["quot"] = """; -utf82macro["""] = "quot"; +macro2utf8["quot"] = """; +utf82macro["""] = "quot"; macro2utf8["lvnE"] = "≨︀"; utf82macro["≨︀"] = "lvnE"; macro2utf8["CircleDot"] = "⊙"; utf82macro["⊙"] = "CircleDot"; macro2utf8["lsime"] = "⪍"; utf82macro["⪍"] = "lsime"; -macro2utf8["Yacute"] = "Ý"; -utf82macro["Ý"] = "Yacute"; +macro2utf8["Yacute"] = "Ý"; +utf82macro["Ý"] = "Yacute"; macro2utf8["esdot"] = "≐"; utf82macro["≐"] = "esdot"; macro2utf8["Supset"] = "⋑"; @@ -3241,8 +3241,8 @@ macro2utf8["boxDr"] = "╓"; utf82macro["╓"] = "boxDr"; macro2utf8["plus"] = "+"; utf82macro["+"] = "plus"; -macro2utf8["ddagger"] = "‡"; -utf82macro["‡"] = "ddagger"; +macro2utf8["ddagger"] = "‡"; +utf82macro["‡"] = "ddagger"; macro2utf8["Vdashl"] = "⫦"; utf82macro["⫦"] = "Vdashl"; macro2utf8["equest"] = "≟"; @@ -3253,8 +3253,8 @@ macro2utf8["divideontimes"] = "⋇"; utf82macro["⋇"] = "divideontimes"; macro2utf8["nsmid"] = "∤︀"; utf82macro["∤︀"] = "nsmid"; -macro2utf8["fnof"] = "ƒ"; -utf82macro["ƒ"] = "fnof"; +macro2utf8["fnof"] = "ƒ"; +utf82macro["ƒ"] = "fnof"; macro2utf8["bumpe"] = "≏"; utf82macro["≏"] = "bumpe"; macro2utf8["lhblk"] = "▄"; @@ -3279,8 +3279,8 @@ macro2utf8["period"] = "."; utf82macro["."] = "period"; macro2utf8["phone"] = "☎"; utf82macro["☎"] = "phone"; -macro2utf8["Eacute"] = "É"; -utf82macro["É"] = "Eacute"; +macro2utf8["Eacute"] = "É"; +utf82macro["É"] = "Eacute"; macro2utf8["dzigrarr"] = ""; utf82macro[""] = "dzigrarr"; macro2utf8["Ll"] = "⋘"; @@ -3291,8 +3291,8 @@ macro2utf8["rarrfs"] = "⤞"; utf82macro["⤞"] = "rarrfs"; macro2utf8["dbkarow"] = "⤏"; utf82macro["⤏"] = "dbkarow"; -macro2utf8["zeta"] = "ζ"; -utf82macro["ζ"] = "zeta"; +macro2utf8["zeta"] = "ζ"; +utf82macro["ζ"] = "zeta"; macro2utf8["Lt"] = "≪"; utf82macro["≪"] = "Lt"; macro2utf8["triminus"] = "⨺"; @@ -3301,8 +3301,8 @@ macro2utf8["odiv"] = "⨸"; utf82macro["⨸"] = "odiv"; macro2utf8["ltrie"] = "⊴"; utf82macro["⊴"] = "ltrie"; -macro2utf8["Dagger"] = "‡"; -utf82macro["‡"] = "Dagger"; +macro2utf8["Dagger"] = "‡"; +utf82macro["‡"] = "Dagger"; macro2utf8["ltrif"] = "◂"; utf82macro["◂"] = "ltrif"; macro2utf8["boxHD"] = "╦"; @@ -3325,18 +3325,18 @@ macro2utf8["ruluhar"] = "⥨"; utf82macro["⥨"] = "ruluhar"; macro2utf8["bne"] = "=⃥"; utf82macro["=⃥"] = "bne"; -macro2utf8["prod"] = "∏"; -utf82macro["∏"] = "prod"; +macro2utf8["prod"] = "∏"; +utf82macro["∏"] = "prod"; macro2utf8["Eopf"] = "𝔼"; utf82macro["𝔼"] = "Eopf"; macro2utf8["scsim"] = "≿"; utf82macro["≿"] = "scsim"; macro2utf8["GreaterEqualLess"] = "⋛"; utf82macro["⋛"] = "GreaterEqualLess"; -macro2utf8["Igrave"] = "Ì"; -utf82macro["Ì"] = "Igrave"; -macro2utf8["Longrightarrow"] = "⇒"; -utf82macro["⇒"] = "Longrightarrow"; +macro2utf8["Igrave"] = "Ì"; +utf82macro["Ì"] = "Igrave"; +macro2utf8["Longrightarrow"] = "⇒"; +utf82macro["⇒"] = "Longrightarrow"; macro2utf8["bigcap"] = "⋂"; utf82macro["⋂"] = "bigcap"; macro2utf8["boxHU"] = "╩"; @@ -3345,16 +3345,16 @@ macro2utf8["uring"] = "ů"; utf82macro["ů"] = "uring"; macro2utf8["equivDD"] = "⩸"; utf82macro["⩸"] = "equivDD"; -macro2utf8["prop"] = "∝"; -utf82macro["∝"] = "prop"; +macro2utf8["prop"] = "∝"; +utf82macro["∝"] = "prop"; macro2utf8["Lopf"] = "𝕃"; utf82macro["𝕃"] = "Lopf"; macro2utf8["ldrushar"] = "⥋"; utf82macro["⥋"] = "ldrushar"; macro2utf8["rarrhk"] = "↪"; utf82macro["↪"] = "rarrhk"; -macro2utf8["Leftarrow"] = "⇐"; -utf82macro["⇐"] = "Leftarrow"; +macro2utf8["Leftarrow"] = "⇐"; +utf82macro["⇐"] = "Leftarrow"; macro2utf8["lltri"] = "◺"; utf82macro["◺"] = "lltri"; macro2utf8["NestedGreaterGreater"] = "≫"; @@ -3387,32 +3387,32 @@ macro2utf8["xhArr"] = ""; utf82macro[""] = "xhArr"; macro2utf8["triplus"] = "⨹"; utf82macro["⨹"] = "triplus"; -macro2utf8["bot"] = "⊥"; -utf82macro["⊥"] = "bot"; +macro2utf8["bot"] = "⊥"; +utf82macro["⊥"] = "bot"; macro2utf8["Rcy"] = "Р"; utf82macro["Р"] = "Rcy"; macro2utf8["eDDot"] = "⩷"; utf82macro["⩷"] = "eDDot"; -macro2utf8["subseteqq"] = "⊆"; -utf82macro["⊆"] = "subseteqq"; +macro2utf8["subseteqq"] = "⊆"; +utf82macro["⊆"] = "subseteqq"; macro2utf8["cirfnint"] = "⨐"; utf82macro["⨐"] = "cirfnint"; -macro2utf8["spadesuit"] = "♠"; -utf82macro["♠"] = "spadesuit"; +macro2utf8["spadesuit"] = "♠"; +utf82macro["♠"] = "spadesuit"; macro2utf8["nacute"] = "ń"; utf82macro["ń"] = "nacute"; macro2utf8["Zopf"] = "ℤ"; utf82macro["ℤ"] = "Zopf"; macro2utf8["upharpoonleft"] = "↿"; utf82macro["↿"] = "upharpoonleft"; -macro2utf8["shy"] = "­"; -utf82macro["­"] = "shy"; +macro2utf8["shy"] = "­"; +utf82macro["­"] = "shy"; macro2utf8["nparsl"] = "∥︀⃥"; utf82macro["∥︀⃥"] = "nparsl"; macro2utf8["boxHu"] = "╧"; utf82macro["╧"] = "boxHu"; -macro2utf8["ThickSpace"] = "   "; -utf82macro["   "] = "ThickSpace"; +macro2utf8["ThickSpace"] = "   "; +utf82macro["   "] = "ThickSpace"; macro2utf8["Or"] = "⩔"; utf82macro["⩔"] = "Or"; macro2utf8["raemptyv"] = "⦳"; @@ -3421,20 +3421,20 @@ macro2utf8["Aogon"] = "Ą"; utf82macro["Ą"] = "Aogon"; macro2utf8["IEcy"] = "Е"; utf82macro["Е"] = "IEcy"; -macro2utf8["sim"] = "∼"; -utf82macro["∼"] = "sim"; +macro2utf8["sim"] = "∼"; +utf82macro["∼"] = "sim"; macro2utf8["sin"] = "sin"; utf82macro["sin"] = "sin"; macro2utf8["copysr"] = "℗"; utf82macro["℗"] = "copysr"; macro2utf8["scnap"] = "⋩"; utf82macro["⋩"] = "scnap"; -macro2utf8["rdquo"] = "”"; -utf82macro["”"] = "rdquo"; +macro2utf8["rdquo"] = "”"; +utf82macro["”"] = "rdquo"; macro2utf8["aopf"] = "𝕒"; utf82macro["𝕒"] = "aopf"; -macro2utf8["Pi"] = "Π"; -utf82macro["Π"] = "Pi"; +macro2utf8["Pi"] = "Π"; +utf82macro["Π"] = "Pi"; macro2utf8["Udblac"] = "Ű"; utf82macro["Ű"] = "Udblac"; macro2utf8["expectation"] = "ℰ"; @@ -3447,10 +3447,10 @@ macro2utf8["NotTildeEqual"] = "≄"; utf82macro["≄"] = "NotTildeEqual"; macro2utf8["ncedil"] = "ņ"; utf82macro["ņ"] = "ncedil"; -macro2utf8["Gamma"] = "Γ"; -utf82macro["Γ"] = "Gamma"; -macro2utf8["ecirc"] = "ê"; -utf82macro["ê"] = "ecirc"; +macro2utf8["Gamma"] = "Γ"; +utf82macro["Γ"] = "Gamma"; +macro2utf8["ecirc"] = "ê"; +utf82macro["ê"] = "ecirc"; macro2utf8["dsol"] = "⧶"; utf82macro["⧶"] = "dsol"; macro2utf8["Gcy"] = "Г"; @@ -3465,8 +3465,8 @@ macro2utf8["hopf"] = "𝕙"; utf82macro["𝕙"] = "hopf"; macro2utf8["blacktriangledown"] = "▾"; utf82macro["▾"] = "blacktriangledown"; -macro2utf8["LeftCeiling"] = "⌈"; -utf82macro["⌈"] = "LeftCeiling"; +macro2utf8["LeftCeiling"] = "⌈"; +utf82macro["⌈"] = "LeftCeiling"; macro2utf8["ulcorn"] = "⌜"; utf82macro["⌜"] = "ulcorn"; macro2utf8["searrow"] = "↘"; @@ -3477,16 +3477,16 @@ macro2utf8["Fscr"] = "ℱ"; utf82macro["ℱ"] = "Fscr"; macro2utf8["cupcup"] = "⩊"; utf82macro["⩊"] = "cupcup"; -macro2utf8["NotEqual"] = "≠"; -utf82macro["≠"] = "NotEqual"; +macro2utf8["NotEqual"] = "≠"; +utf82macro["≠"] = "NotEqual"; macro2utf8["sext"] = "✶"; utf82macro["✶"] = "sext"; -macro2utf8["CirclePlus"] = "⊕"; -utf82macro["⊕"] = "CirclePlus"; +macro2utf8["CirclePlus"] = "⊕"; +utf82macro["⊕"] = "CirclePlus"; macro2utf8["erarr"] = "⥱"; utf82macro["⥱"] = "erarr"; -macro2utf8["dArr"] = "⇓"; -utf82macro["⇓"] = "dArr"; +macro2utf8["dArr"] = "⇓"; +utf82macro["⇓"] = "dArr"; macro2utf8["PrecedesSlantEqual"] = "≼"; utf82macro["≼"] = "PrecedesSlantEqual"; macro2utf8["Itilde"] = "Ĩ"; @@ -3503,20 +3503,20 @@ macro2utf8["oopf"] = "𝕠"; utf82macro["𝕠"] = "oopf"; macro2utf8["Mscr"] = "ℳ"; utf82macro["ℳ"] = "Mscr"; -macro2utf8["Rfr"] = "ℜ"; -utf82macro["ℜ"] = "Rfr"; -macro2utf8["langle"] = "⟨"; -utf82macro["⟨"] = "langle"; +macro2utf8["Rfr"] = "ℜ"; +utf82macro["ℜ"] = "Rfr"; +macro2utf8["langle"] = "〈"; +utf82macro["〈"] = "langle"; macro2utf8["And"] = "⩓"; utf82macro["⩓"] = "And"; macro2utf8["bprime"] = "‵"; utf82macro["‵"] = "bprime"; macro2utf8["nLeftrightarrow"] = "⇎"; utf82macro["⇎"] = "nLeftrightarrow"; -macro2utf8["Re"] = "ℜ"; -utf82macro["ℜ"] = "Re"; -macro2utf8["OpenCurlyQuote"] = "‘"; -utf82macro["‘"] = "OpenCurlyQuote"; +macro2utf8["Re"] = "ℜ"; +utf82macro["ℜ"] = "Re"; +macro2utf8["OpenCurlyQuote"] = "‘"; +utf82macro["‘"] = "OpenCurlyQuote"; macro2utf8["vopf"] = "𝕧"; utf82macro["𝕧"] = "vopf"; macro2utf8["ulcorner"] = "⌜"; @@ -3529,18 +3529,18 @@ macro2utf8["gtreqless"] = "⋛"; utf82macro["⋛"] = "gtreqless"; macro2utf8["rarrlp"] = "↬"; utf82macro["↬"] = "rarrlp"; -macro2utf8["Lambda"] = "Λ"; -utf82macro["Λ"] = "Lambda"; +macro2utf8["Lambda"] = "Λ"; +utf82macro["Λ"] = "Lambda"; macro2utf8["lobrk"] = "〚"; utf82macro["〚"] = "lobrk"; macro2utf8["rbrace"] = "}"; utf82macro["}"] = "rbrace"; -macro2utf8["rArr"] = "⇒"; -utf82macro["⇒"] = "rArr"; +macro2utf8["rArr"] = "⇒"; +utf82macro["⇒"] = "rArr"; macro2utf8["coloneq"] = "≔"; utf82macro["≔"] = "coloneq"; -macro2utf8["UpArrow"] = "↑"; -utf82macro["↑"] = "UpArrow"; +macro2utf8["UpArrow"] = "↑"; +utf82macro["↑"] = "UpArrow"; macro2utf8["odot"] = "⊙"; utf82macro["⊙"] = "odot"; macro2utf8["LeftDownTeeVector"] = "⥡"; @@ -3557,8 +3557,8 @@ macro2utf8["Sc"] = "⪼"; utf82macro["⪼"] = "Sc"; macro2utf8["ycy"] = "ы"; utf82macro["ы"] = "ycy"; -macro2utf8["Prime"] = "″"; -utf82macro["″"] = "Prime"; +macro2utf8["Prime"] = "″"; +utf82macro["″"] = "Prime"; macro2utf8["Gfr"] = "𝔊"; utf82macro["𝔊"] = "Gfr"; macro2utf8["trianglerighteq"] = "⊵"; @@ -3571,10 +3571,10 @@ macro2utf8["range"] = "⦥"; utf82macro["⦥"] = "range"; macro2utf8["rsqb"] = "]"; utf82macro["]"] = "rsqb"; -macro2utf8["Euml"] = "Ë"; -utf82macro["Ë"] = "Euml"; -macro2utf8["Therefore"] = "∴"; -utf82macro["∴"] = "Therefore"; +macro2utf8["Euml"] = "Ë"; +utf82macro["Ë"] = "Euml"; +macro2utf8["Therefore"] = "∴"; +utf82macro["∴"] = "Therefore"; macro2utf8["nesim"] = "≂̸"; utf82macro["≂̸"] = "nesim"; macro2utf8["order"] = "ℴ"; @@ -3587,10 +3587,10 @@ macro2utf8["bscr"] = "𝒷"; utf82macro["𝒷"] = "bscr"; macro2utf8["lesseqqgtr"] = "⋚"; utf82macro["⋚"] = "lesseqqgtr"; -macro2utf8["cap"] = "∩"; -utf82macro["∩"] = "cap"; -macro2utf8["ldquo"] = "“"; -utf82macro["“"] = "ldquo"; +macro2utf8["cap"] = "∩"; +utf82macro["∩"] = "cap"; +macro2utf8["ldquo"] = "“"; +utf82macro["“"] = "ldquo"; macro2utf8["nsubseteq"] = "⊈"; utf82macro["⊈"] = "nsubseteq"; macro2utf8["rhov"] = "ϱ"; @@ -3599,8 +3599,8 @@ macro2utf8["xvee"] = "⋁"; utf82macro["⋁"] = "xvee"; macro2utf8["olarr"] = "↺"; utf82macro["↺"] = "olarr"; -macro2utf8["nang"] = "∠̸"; -utf82macro["∠̸"] = "nang"; +macro2utf8["nang"] = "∠̸"; +utf82macro["∠̸"] = "nang"; macro2utf8["uwangle"] = "⦧"; utf82macro["⦧"] = "uwangle"; macro2utf8["nlsim"] = "≴"; @@ -3619,16 +3619,16 @@ macro2utf8["GJcy"] = "Ѓ"; utf82macro["Ѓ"] = "GJcy"; macro2utf8["nges"] = "≱"; utf82macro["≱"] = "nges"; -macro2utf8["exist"] = "∃"; -utf82macro["∃"] = "exist"; -macro2utf8["cent"] = "¢"; -utf82macro["¢"] = "cent"; -macro2utf8["oacute"] = "ó"; -utf82macro["ó"] = "oacute"; +macro2utf8["exist"] = "∃"; +utf82macro["∃"] = "exist"; +macro2utf8["cent"] = "¢"; +utf82macro["¢"] = "cent"; +macro2utf8["oacute"] = "ó"; +utf82macro["ó"] = "oacute"; macro2utf8["Darr"] = "↡"; utf82macro["↡"] = "Darr"; -macro2utf8["yen"] = "¥"; -utf82macro["¥"] = "yen"; +macro2utf8["yen"] = "¥"; +utf82macro["¥"] = "yen"; macro2utf8["bigcirc"] = "◯"; utf82macro["◯"] = "bigcirc"; macro2utf8["ncy"] = "н"; @@ -3639,8 +3639,8 @@ macro2utf8["UpperRightArrow"] = "↗"; utf82macro["↗"] = "UpperRightArrow"; macro2utf8["precnapprox"] = "⋨"; utf82macro["⋨"] = "precnapprox"; -macro2utf8["OElig"] = "Œ"; -utf82macro["Œ"] = "OElig"; +macro2utf8["OElig"] = "Œ"; +utf82macro["Œ"] = "OElig"; macro2utf8["hybull"] = "⁃"; utf82macro["⁃"] = "hybull"; macro2utf8["cupbrcap"] = "⩈"; @@ -3665,16 +3665,16 @@ macro2utf8["rAarr"] = "⇛"; utf82macro["⇛"] = "rAarr"; macro2utf8["precapprox"] = "≾"; utf82macro["≾"] = "precapprox"; -macro2utf8["rsquor"] = "’"; -utf82macro["’"] = "rsquor"; -macro2utf8["pound"] = "£"; -utf82macro["£"] = "pound"; +macro2utf8["rsquor"] = "’"; +utf82macro["’"] = "rsquor"; +macro2utf8["pound"] = "£"; +utf82macro["£"] = "pound"; macro2utf8["lbrksld"] = "⦏"; utf82macro["⦏"] = "lbrksld"; macro2utf8["gesdot"] = "⪀"; utf82macro["⪀"] = "gesdot"; -macro2utf8["Element"] = "∈"; -utf82macro["∈"] = "Element"; +macro2utf8["Element"] = "∈"; +utf82macro["∈"] = "Element"; macro2utf8["xcirc"] = "◯"; utf82macro["◯"] = "xcirc"; macro2utf8["wscr"] = "𝓌"; @@ -3683,32 +3683,32 @@ macro2utf8["toea"] = "⤨"; utf82macro["⤨"] = "toea"; macro2utf8["setmn"] = "∖"; utf82macro["∖"] = "setmn"; -macro2utf8["neg"] = "¬"; -utf82macro["¬"] = "neg"; +macro2utf8["neg"] = "¬"; +utf82macro["¬"] = "neg"; macro2utf8["sol"] = "/"; utf82macro["/"] = "sol"; macro2utf8["yfr"] = "𝔶"; utf82macro["𝔶"] = "yfr"; -macro2utf8["DoubleDownArrow"] = "⇓"; -utf82macro["⇓"] = "DoubleDownArrow"; +macro2utf8["DoubleDownArrow"] = "⇓"; +utf82macro["⇓"] = "DoubleDownArrow"; macro2utf8["Rarr"] = "↠"; utf82macro["↠"] = "Rarr"; macro2utf8["ngE"] = "≱"; utf82macro["≱"] = "ngE"; -macro2utf8["Upsi"] = "ϒ"; -utf82macro["ϒ"] = "Upsi"; +macro2utf8["Upsi"] = "ϒ"; +utf82macro["ϒ"] = "Upsi"; macro2utf8["opar"] = "⦷"; utf82macro["⦷"] = "opar"; macro2utf8["rarrpl"] = "⥅"; utf82macro["⥅"] = "rarrpl"; -macro2utf8["auml"] = "ä"; -utf82macro["ä"] = "auml"; +macro2utf8["auml"] = "ä"; +utf82macro["ä"] = "auml"; macro2utf8["bmod"] = "mod"; utf82macro["mod"] = "bmod"; macro2utf8["SquareSuperset"] = "⊐"; utf82macro["⊐"] = "SquareSuperset"; -macro2utf8["neq"] = "≠"; -utf82macro["≠"] = "neq"; +macro2utf8["neq"] = "≠"; +utf82macro["≠"] = "neq"; macro2utf8["circleddash"] = "⊝"; utf82macro["⊝"] = "circleddash"; macro2utf8["xrarr"] = ""; @@ -3757,8 +3757,8 @@ macro2utf8["backsimeq"] = "⋍"; utf82macro["⋍"] = "backsimeq"; macro2utf8["target"] = "⌖"; utf82macro["⌖"] = "target"; -macro2utf8["ouml"] = "ö"; -utf82macro["ö"] = "ouml"; +macro2utf8["ouml"] = "ö"; +utf82macro["ö"] = "ouml"; macro2utf8["nge"] = "≱⃥"; utf82macro["≱⃥"] = "nge"; macro2utf8["LeftTriangleBar"] = "⧏"; @@ -3769,20 +3769,20 @@ macro2utf8["parsim"] = "⫳"; utf82macro["⫳"] = "parsim"; macro2utf8["Gcedil"] = "Ģ"; utf82macro["Ģ"] = "Gcedil"; -macro2utf8["bnequiv"] = "≡⃥"; -utf82macro["≡⃥"] = "bnequiv"; +macro2utf8["bnequiv"] = "≡⃥"; +utf82macro["≡⃥"] = "bnequiv"; macro2utf8["ubreve"] = "ŭ"; utf82macro["ŭ"] = "ubreve"; -macro2utf8["iexcl"] = "¡"; -utf82macro["¡"] = "iexcl"; -macro2utf8["Xi"] = "Ξ"; -utf82macro["Ξ"] = "Xi"; -macro2utf8["omega"] = "ω"; -utf82macro["ω"] = "omega"; +macro2utf8["iexcl"] = "¡"; +utf82macro["¡"] = "iexcl"; +macro2utf8["Xi"] = "Ξ"; +utf82macro["Ξ"] = "Xi"; +macro2utf8["omega"] = "ω"; +utf82macro["ω"] = "omega"; macro2utf8["elsdot"] = "⪗"; utf82macro["⪗"] = "elsdot"; -macro2utf8["propto"] = "∝"; -utf82macro["∝"] = "propto"; +macro2utf8["propto"] = "∝"; +utf82macro["∝"] = "propto"; macro2utf8["squ"] = "□"; utf82macro["□"] = "squ"; macro2utf8["Ycirc"] = "Ŷ"; @@ -3819,14 +3819,14 @@ macro2utf8["cfr"] = "𝔠"; utf82macro["𝔠"] = "cfr"; macro2utf8["abreve"] = "ă"; utf82macro["ă"] = "abreve"; -macro2utf8["suphsol"] = "⊃/"; -utf82macro["⊃/"] = "suphsol"; +macro2utf8["suphsol"] = "⊃/"; +utf82macro["⊃/"] = "suphsol"; macro2utf8["NegativeThickSpace"] = " ︀"; utf82macro[" ︀"] = "NegativeThickSpace"; macro2utf8["Mcy"] = "М"; utf82macro["М"] = "Mcy"; -macro2utf8["uarr"] = "↑"; -utf82macro["↑"] = "uarr"; +macro2utf8["uarr"] = "↑"; +utf82macro["↑"] = "uarr"; macro2utf8["LeftRightVector"] = "⥎"; utf82macro["⥎"] = "LeftRightVector"; macro2utf8["lAarr"] = "⇚"; @@ -3835,14 +3835,14 @@ macro2utf8["bsim"] = "∽"; utf82macro["∽"] = "bsim"; macro2utf8["simrarr"] = "⥲"; utf82macro["⥲"] = "simrarr"; -macro2utf8["otimes"] = "⊗"; -utf82macro["⊗"] = "otimes"; +macro2utf8["otimes"] = "⊗"; +utf82macro["⊗"] = "otimes"; macro2utf8["NotSucceeds"] = "⊁"; utf82macro["⊁"] = "NotSucceeds"; macro2utf8["Cross"] = "⨯"; utf82macro["⨯"] = "Cross"; -macro2utf8["downarrow"] = "↓"; -utf82macro["↓"] = "downarrow"; +macro2utf8["downarrow"] = "↓"; +utf82macro["↓"] = "downarrow"; macro2utf8["blacktriangle"] = "▴"; utf82macro["▴"] = "blacktriangle"; macro2utf8["TripleDot"] = "⃛"; @@ -3857,12 +3857,12 @@ macro2utf8["neArr"] = "⇗"; utf82macro["⇗"] = "neArr"; macro2utf8["rarrtl"] = "↣"; utf82macro["↣"] = "rarrtl"; -macro2utf8["isin"] = "∈"; -utf82macro["∈"] = "isin"; +macro2utf8["isin"] = "∈"; +utf82macro["∈"] = "isin"; macro2utf8["rrarr"] = "⇉"; utf82macro["⇉"] = "rrarr"; -macro2utf8["Upsilon"] = "ϒ"; -utf82macro["ϒ"] = "Upsilon"; +macro2utf8["Upsilon"] = "ϒ"; +utf82macro["ϒ"] = "Upsilon"; macro2utf8["sqsub"] = "⊏"; utf82macro["⊏"] = "sqsub"; macro2utf8["boxUL"] = "╝"; @@ -3873,12 +3873,12 @@ macro2utf8["Xfr"] = "𝔛"; utf82macro["𝔛"] = "Xfr"; macro2utf8["nis"] = "⋼"; utf82macro["⋼"] = "nis"; -macro2utf8["chi"] = "χ"; -utf82macro["χ"] = "chi"; +macro2utf8["chi"] = "χ"; +utf82macro["χ"] = "chi"; macro2utf8["DownRightVector"] = "⇁"; utf82macro["⇁"] = "DownRightVector"; -macro2utf8["niv"] = "∋"; -utf82macro["∋"] = "niv"; +macro2utf8["niv"] = "∋"; +utf82macro["∋"] = "niv"; macro2utf8["boxUR"] = "╚"; utf82macro["╚"] = "boxUR"; macro2utf8["nlArr"] = "⇍"; @@ -3907,18 +3907,18 @@ macro2utf8["boxVH"] = "╬"; utf82macro["╬"] = "boxVH"; macro2utf8["bbrk"] = "⎵"; utf82macro["⎵"] = "bbrk"; -macro2utf8["tau"] = "τ"; -utf82macro["τ"] = "tau"; -macro2utf8["UpTee"] = "⊥"; -utf82macro["⊥"] = "UpTee"; +macro2utf8["tau"] = "τ"; +utf82macro["τ"] = "tau"; +macro2utf8["UpTee"] = "⊥"; +utf82macro["⊥"] = "UpTee"; macro2utf8["NotLeftTriangleBar"] = "⧏̸"; utf82macro["⧏̸"] = "NotLeftTriangleBar"; macro2utf8["boxVL"] = "╣"; utf82macro["╣"] = "boxVL"; macro2utf8["Proportion"] = "∷"; utf82macro["∷"] = "Proportion"; -macro2utf8["equiv"] = "≡"; -utf82macro["≡"] = "equiv"; +macro2utf8["equiv"] = "≡"; +utf82macro["≡"] = "equiv"; macro2utf8["blk12"] = "▒"; utf82macro["▒"] = "blk12"; macro2utf8["blk14"] = "░"; @@ -3937,8 +3937,8 @@ macro2utf8["ijlig"] = "ij"; utf82macro["ij"] = "ijlig"; macro2utf8["yicy"] = "ї"; utf82macro["ї"] = "yicy"; -macro2utf8["sum"] = "∑"; -utf82macro["∑"] = "sum"; +macro2utf8["sum"] = "∑"; +utf82macro["∑"] = "sum"; macro2utf8["cir"] = "○"; utf82macro["○"] = "cir"; macro2utf8["telrec"] = "⌕"; @@ -3967,12 +3967,12 @@ macro2utf8["loplus"] = "⨭"; utf82macro["⨭"] = "loplus"; macro2utf8["varsupsetneq"] = "⊋︀"; utf82macro["⊋︀"] = "varsupsetneq"; -macro2utf8["scaron"] = "š"; -utf82macro["š"] = "scaron"; +macro2utf8["scaron"] = "š"; +utf82macro["š"] = "scaron"; macro2utf8["Diamond"] = "⋄"; utf82macro["⋄"] = "Diamond"; -macro2utf8["lowast"] = "∗"; -utf82macro["∗"] = "lowast"; +macro2utf8["lowast"] = "∗"; +utf82macro["∗"] = "lowast"; macro2utf8["nle"] = "≰⃥"; utf82macro["≰⃥"] = "nle"; macro2utf8["phiv"] = "ϕ"; @@ -3999,8 +3999,8 @@ macro2utf8["lessdot"] = "⋖"; utf82macro["⋖"] = "lessdot"; macro2utf8["LeftDoubleBracket"] = "〚"; utf82macro["〚"] = "LeftDoubleBracket"; -macro2utf8["Delta"] = "Δ"; -utf82macro["Δ"] = "Delta"; +macro2utf8["Delta"] = "Δ"; +utf82macro["Δ"] = "Delta"; macro2utf8["limsup"] = "limsup"; utf82macro["limsup"] = "limsup"; macro2utf8["tcy"] = "т"; @@ -4051,8 +4051,8 @@ macro2utf8["suphsub"] = "⫗"; utf82macro["⫗"] = "suphsub"; macro2utf8["squf"] = "▪"; utf82macro["▪"] = "squf"; -macro2utf8["gamma"] = "γ"; -utf82macro["γ"] = "gamma"; +macro2utf8["gamma"] = "γ"; +utf82macro["γ"] = "gamma"; macro2utf8["lrhard"] = "⥭"; utf82macro["⥭"] = "lrhard"; macro2utf8["intprod"] = "⨼"; @@ -4095,8 +4095,8 @@ macro2utf8["Dscr"] = "𝒟"; utf82macro["𝒟"] = "Dscr"; macro2utf8["gsime"] = "⪎"; utf82macro["⪎"] = "gsime"; -macro2utf8["PartialD"] = "∂"; -utf82macro["∂"] = "PartialD"; +macro2utf8["PartialD"] = "∂"; +utf82macro["∂"] = "PartialD"; macro2utf8["Umacr"] = "Ū"; utf82macro["Ū"] = "Umacr"; macro2utf8["tfr"] = "𝔱"; @@ -4105,20 +4105,20 @@ macro2utf8["cularrp"] = "⤽"; utf82macro["⤽"] = "cularrp"; macro2utf8["UnderBracket"] = "⎵"; utf82macro["⎵"] = "UnderBracket"; -macro2utf8["ugrave"] = "ù"; -utf82macro["ù"] = "ugrave"; +macro2utf8["ugrave"] = "ù"; +utf82macro["ù"] = "ugrave"; macro2utf8["mopf"] = "𝕞"; utf82macro["𝕞"] = "mopf"; macro2utf8["gsiml"] = "⪐"; utf82macro["⪐"] = "gsiml"; -macro2utf8["iquest"] = "¿"; -utf82macro["¿"] = "iquest"; +macro2utf8["iquest"] = "¿"; +utf82macro["¿"] = "iquest"; macro2utf8["nmid"] = "∤"; utf82macro["∤"] = "nmid"; macro2utf8["leftarrowtail"] = "↢"; utf82macro["↢"] = "leftarrowtail"; -macro2utf8["not"] = "¬"; -utf82macro["¬"] = "not"; +macro2utf8["not"] = "¬"; +utf82macro["¬"] = "not"; macro2utf8["Kscr"] = "𝒦"; utf82macro["𝒦"] = "Kscr"; macro2utf8["xsqcup"] = "⊔"; @@ -4137,14 +4137,14 @@ macro2utf8["dzcy"] = "џ"; utf82macro["џ"] = "dzcy"; macro2utf8["topf"] = "𝕥"; utf82macro["𝕥"] = "topf"; -macro2utf8["iff"] = "⇔"; -utf82macro["⇔"] = "iff"; +macro2utf8["iff"] = "⇔"; +utf82macro["⇔"] = "iff"; macro2utf8["af"] = "⁡"; utf82macro["⁡"] = "af"; -macro2utf8["Uparrow"] = "⇑"; -utf82macro["⇑"] = "Uparrow"; -macro2utf8["Iacute"] = "Í"; -utf82macro["Í"] = "Iacute"; +macro2utf8["Uparrow"] = "⇑"; +utf82macro["⇑"] = "Uparrow"; +macro2utf8["Iacute"] = "Í"; +utf82macro["Í"] = "Iacute"; macro2utf8["Rscr"] = "ℛ"; utf82macro["ℛ"] = "Rscr"; macro2utf8["vrtri"] = "⊳"; @@ -4157,18 +4157,18 @@ macro2utf8["rtriltri"] = "⧎"; utf82macro["⧎"] = "rtriltri"; macro2utf8["npr"] = "⊀"; utf82macro["⊀"] = "npr"; -macro2utf8["agrave"] = "à"; -utf82macro["à"] = "agrave"; +macro2utf8["agrave"] = "à"; +utf82macro["à"] = "agrave"; macro2utf8["UnderBar"] = "̲"; utf82macro["̲"] = "UnderBar"; -macro2utf8["prime"] = "′"; -utf82macro["′"] = "prime"; -macro2utf8["plusmn"] = "±"; -utf82macro["±"] = "plusmn"; +macro2utf8["prime"] = "′"; +utf82macro["′"] = "prime"; +macro2utf8["plusmn"] = "±"; +utf82macro["±"] = "plusmn"; macro2utf8["eplus"] = "⩱"; utf82macro["⩱"] = "eplus"; -macro2utf8["ap"] = "≈"; -utf82macro["≈"] = "ap"; +macro2utf8["ap"] = "≈"; +utf82macro["≈"] = "ap"; macro2utf8["dlcorn"] = "⌞"; utf82macro["⌞"] = "dlcorn"; macro2utf8["backsim"] = "∽"; @@ -4211,36 +4211,36 @@ macro2utf8["nvdash"] = "⊬"; utf82macro["⊬"] = "nvdash"; macro2utf8["NotSuperset"] = "⊅"; utf82macro["⊅"] = "NotSuperset"; -macro2utf8["DoubleUpArrow"] = "⇑"; -utf82macro["⇑"] = "DoubleUpArrow"; -macro2utf8["land"] = "∧"; -utf82macro["∧"] = "land"; +macro2utf8["DoubleUpArrow"] = "⇑"; +utf82macro["⇑"] = "DoubleUpArrow"; +macro2utf8["land"] = "∧"; +utf82macro["∧"] = "land"; macro2utf8["topfork"] = "⫚"; utf82macro["⫚"] = "topfork"; macro2utf8["llhard"] = "⥫"; utf82macro["⥫"] = "llhard"; macro2utf8["apos"] = "'"; utf82macro["'"] = "apos"; -macro2utf8["oslash"] = "ø"; -utf82macro["ø"] = "oslash"; -macro2utf8["lang"] = "⟨"; -utf82macro["⟨"] = "lang"; +macro2utf8["oslash"] = "ø"; +utf82macro["ø"] = "oslash"; +macro2utf8["lang"] = "〈"; +utf82macro["〈"] = "lang"; macro2utf8["bernou"] = "ℬ"; utf82macro["ℬ"] = "bernou"; macro2utf8["varrho"] = "ϱ"; utf82macro["ϱ"] = "varrho"; macro2utf8["rcub"] = "}"; utf82macro["}"] = "rcub"; -macro2utf8["Cedilla"] = "¸"; -utf82macro["¸"] = "Cedilla"; +macro2utf8["Cedilla"] = "¸"; +utf82macro["¸"] = "Cedilla"; macro2utf8["ApplyFunction"] = "⁡"; utf82macro["⁡"] = "ApplyFunction"; macro2utf8["nsce"] = "⪰̸"; utf82macro["⪰̸"] = "nsce"; macro2utf8["gscr"] = "ℊ"; utf82macro["ℊ"] = "gscr"; -macro2utf8["imagpart"] = "ℑ"; -utf82macro["ℑ"] = "imagpart"; +macro2utf8["imagpart"] = "ℑ"; +utf82macro["ℑ"] = "imagpart"; macro2utf8["ngtr"] = "≯"; utf82macro["≯"] = "ngtr"; macro2utf8["nsc"] = "⊁";